Betrachten Sie eine Liste von IP-Adressen, wie sie im X-Forwarded-For-HTTP-Header angegeben sind :
10.0.0.142, 192.168.0.10, 212.43.234.12, 54.23.66.43
Ich würde gerne wissen, welche Adresse in dieser Liste die erste öffentlich zugängliche ist. Ich kann sie leicht genug einsehen, aber wie kann ich feststellen, welche öffentlich zugänglich sind? Es scheint mir (mein ungeübtes Auge), dass 10.0.0.142
es sich um eine Workstation, 192.168.0.10
einen internen Proxy und 212.43.234.12
eine öffentlich zugängliche Adresse handelt, die über den Proxy an weitergeleitet wird 54.23.66.43
. Gibt es eine Möglichkeit, dies im Code zu berechnen?
Meine erste Intuition ist, dass Adressen, die mit 10.
oder 192.
nicht öffentlich zugänglich sind, http://simplesniff.com meine private IP-Adresse anzeigt 192.117.111.61
. Gibt es eine Formel zur Bestimmung, welche Adressen öffentlich und welche privat reserviert sind? Beachten Sie, dass selbst der Versuch, einen Ping-Befehl an den betreffenden Server zu senden, möglicherweise nicht hilft, da einige Server nicht auf den Ping-Befehl reagieren. Außerdem gibt es möglicherweise eine Adresse in meinem lokalen Netzwerk, die ebenfalls mit der internen Adresse übereinstimmt.