Considérez une liste d'adresses IP telle que fournie par l'en-tête HTTP X-Forwarded-For :
10.0.0.142, 192.168.0.10, 212.43.234.12, 54.23.66.43
J'aimerais savoir quelle est la première adresse accessible au public de cette liste. Je peux les regarder assez facilement, mais comment puis-je savoir lesquels sont accessibles au public? Il me semble (mon œil non averti) qu’il 10.0.0.142
s’agit d’un poste de travail, d’ 192.168.0.10
un proxy interne et d’ 212.43.234.12
une adresse accessible au public qui est transmise via le proxy à 54.23.66.43
. Est-il possible de calculer cela dans le code?
Ma première intuition est que les adresses qui commencent par 10.
ou 192.
ne sont pas accessibles publiquement, mais http://simplesniff.com révèle que mon adresse IP personnelle est 192.117.111.61
. Existe-t-il une formule permettant de déterminer quelles adresses sont publiques et quelles adresses sont réservées privées? Notez que même essayer d’envoyer une requête ping au serveur en question risque de ne pas aider car certains serveurs ne répondent pas à la requête ping et qu’il peut également y avoir une adresse sur mon réseau local qui correspond également à l’adresse interne.
la source
Réponses:
La RFC 1918 définit les plages d'adresses IP privées. Regardez ici.
A partir de ce document:
Espace d'adressage privé
L’autorité IANA (Internet Assigned Numbers Authority) a réservé les trois blocs suivants de l’espace adresse IP pour les internets privés:
10.0.0.0 - 10.255.255.255 (préfixe 10/8)
172.16.0.0 - 172.31.255.255 (préfixe 172.16 / 12)
192.168.0.0 - 192.168.255.255 (préfixe 192.168 / 16)
la source
127.0.0.0/16
(et peut-être plus) ne figurent pas sur cette liste.Outre l'espace RFC 1918 d'origine (qui est maintenant mis à jour vers la RFC6890 ), plusieurs autres blocs, tels que 192.0.2.0, ne sont pas annoncés publiquement. En outre, il est possible que quelqu'un dispose d'un espace IPv4 valide qui n'est tout simplement pas annoncé sur Internet.
La chose la plus simple à faire est de vous
telnet route-views.oregon-ix.net
connecterrviews
et de chercher par vous-même ... par exemple, il s'agit d'un espace "192" annoncé par AS7018 (AT & T) ...D'autre part, vous verrez que 192.0.2.0/24 (réf. RFC6890 ) est introuvable.
169.254.0.0/16 (ou plus) n'est pas non plus ...
la source
Team Cymru fournit une référence bogon pour IPv4 et IPv6 que vous pouvez utiliser pour filtrer les adresses IP non attribuées / réservées / privées - elle est proposée à la fois comme une simple liste de préfixes bien connus et également dans une liste beaucoup plus grande comprenant un espace non encore attribué par les RIR.
Ils exécutent également un serveur BGP bogon auquel vous pouvez demander un peering gratuit - une valeur inestimable si vous ne pouvez pas exécuter une zone sans défaut sur Internet.
la source
Un certain nombre de plages sont réservées à différents cas d'utilisation. IANA a la liste complète et faisant autorité . Il inclut les RFC1918, RFC6761 ainsi que des réservations plus récentes comme le bloc 100.64 / 10 CGN. Si vous trouvez des adresses qui s'y trouvent, elles sont probablement utilisées d'une manière ou d'une autre dans un réseau privé et doivent être supprimées au profit des autres à la recherche de la première adresse publique.
la source