2011-10-10 2 views
1

Pour autant que je sache, je peux dire si une organisation utilise NAT si elle utilise un espace d'adressage IP privé.Comment puis-je déterminer si une organisation utilise NAT?

Il peut être déterminé qu'une organisation utilise l'espace d'adresse IP privée si ses adresses tombent dans les plages suivantes, réservées à des fins privées par des groupes de normalisation Internet:

  • 10.0.0.0 par 10.255.255.255
  • 169.254.0.0 par 169.254.255.255 (APIPA seulement)
  • 172.16.0.0 par 172.31.255.255
  • 192.168.0.0 par 192.168.255.255

Ai-je raison .....? Veuillez corriger la logique si elle n'est pas correcte.

+0

Essayez-vous de déterminer à partir de l'adresse seulement si vous êtes derrière un NAT? Parce que ça ne va pas marcher. Quelles informations avez-vous à votre disposition? Par exemple, avez-vous la possibilité de parler à un [serveur sur Internet] (http://www.whatismyip.com/) qui pourrait rendre compte de votre "adresse IP apparente"? (indice: s'il signale une adresse non assignée à l'une de vos interfaces, vous êtes derrière un NAT ou un autre proxy) Travaillez-vous sur le code côté client ou serveur? – mpontillo

+0

Si elles utilisent NAT alors vous n'obtenez pas les adresses IP privées dans les paquets. Au lieu de cela, vous obtenez des adresses IP hébergées. Donc, utiliser les adresses IP seules ne suffit pas. Les homologues IKE envoient des hachages de port IP + et comparent les hachages pour voir si le traducteur NAT était présent dans le chemin. Vous pouvez vérifier NAT-T pour plus de détails. –

Répondre

1

Pendant que vous êtes fondamentalement correct dont l'espace est considéré comme « privé » (voir RFC 1918 section 3), je ne pense pas que vous pouvez faire cette hypothèse dans votre programme, pour les raisons suivantes:

  • Une organisation peut être utilisation d'adresses privées, mais pas du tout d'utilisation de NAT (par exemple, un intranet entièrement privé)
  • Une organisation peut utiliser NAT, mais avec un sous-réseau public réservé. (Oui, je l'ai vu des organisations avec espace d'adressage IP pour brûler le faire.)
1

Votre question est pratiquement incompréhensible, mais en cela du titre:

Comment vais-je savoir si l'organisation utilise NAT?

Vous ne pouvez pas.

+1

Ce n'est pas tout à fait correct. Il y a quelques trucs qui peuvent être utilisés pour déterminer si un NAT est utilisé. Par exemple, [c'est comme cela que IPsec le fait] (http://tools.ietf.org/html/rfc3947#section-3.2). C'est, bien sûr, en supposant que l'affiche originale a le contrôle d'une sorte de protocole qui court entre les deux hôtes. ;-) – mpontillo

Questions connexes