Rozważ listę adresów IP podaną w nagłówku HTTP X-Forwarded-For :
10.0.0.142, 192.168.0.10, 212.43.234.12, 54.23.66.43
Chciałbym wiedzieć, który jest pierwszym publicznie dostępnym adresem na tej liście. Mogę dość łatwo je przejrzeć, ale jak mogę stwierdzić, które są publicznie dostępne? Wydaje mi się (moje niewprawne oko), że 10.0.0.142
jest stacją roboczą, 192.168.0.10
jest wewnętrznym serwerem proxy i 212.43.234.12
jest publicznie dostępnym adresem przesyłanym przez serwer proxy pod adresem 54.23.66.43
. Czy jest jakiś sposób na obliczenie tego w kodzie?
Moją pierwszą intuicją jest to, że adresy zaczynające się od 10.
lub 192.
nie są publicznie dostępne, ale http://simplesniff.com ujawnia mój domowy adres IP 192.117.111.61
. Czy istnieje formuła określająca, które adresy są publiczne, a które prywatne? Zauważ, że nawet próba pingowania danego serwera może nie pomóc, ponieważ niektóre serwery nie odpowiedzą na ping, a także może istnieć adres w mojej sieci lokalnej, który również pasuje do adresu wewnętrznego.