2009-05-27 6 views
8

Ich habe einen Computer in einem kleinen Netzwerk, so ist meine IP 192.168.2.100.Ich bekomme meine IP-Adresse

Ich versuche, meine echte IP zu bekommen. Ich lade den No-IP-Client herunter, aber das scheint für eine so einfache Sache nur eine Menge Ärger zu sein.

Ich erstellte dieses PHP-Skript, das http://www.ip-adress.com/ Seite bekam und die IP erlangte, die es mir gab.

Gibt es einen einfacheren Weg? Entweder mit C, WSH oder so. Oder wenn es einen leichteren Weg in PHP gibt, sag es mir bitte.

Wenn ich die IP bekomme, werde ich es auf meine FTP-Site hochgeladen, so dass ich die IP von der Arbeit sehen kann.

+0

Es ist wahrscheinlich gut genug, einen externen Dienst zu scrapen, wie Sie es bereits getan haben. Es könnte sogar der einzige Weg sein. Ihr Router und/oder Modem mit dem Internet wird Ihre echte IP kennen. Ich weiß nicht, wie Sie programmatisch damit umgehen werden. – Albert

+6

http://www.whatismyip.org/ bietet eine einfachere Seite für Scraping. – Albert

+1

Wozu brauchst du deine IP? Wenn Sie eine statische Adresse haben möchten, verwenden Sie DynDNS oder ähnliches. Danach können Sie Server für Ihre Bedürfnisse installieren (Fernbedienung, HTTP/FTP/SSH ...) – schnaader

Antwort

12

Nein, es gibt keinen einfacheren Weg. Ihr Computer kennt wirklich nicht die öffentliche IP-Adresse, hinter der er steckt - es könnte eine beliebige Anzahl von NAT-Schichten zwischen ihm und dem öffentlichen Internet geben. Alles, was es weiß, ist, dass es Nachrichten bei 192.168.2.100 empfängt und ausgehende Nachrichten über das Gateway bei 192.168.2.1 sendet. Es hat keine Ahnung, was passiert, nachdem das Paket das Gateway erreicht hat.

2

Wenn Sie die eventuelle IP-Adresse erhalten möchten, die der Remote-Standort bei der Verarbeitung Ihres Datenverkehrs vorkommt, besteht die einzige Möglichkeit darin, auf eine Remote-Site zuzugreifen. In vielen Situationen ist Ihrem Computer möglicherweise nicht bewusst, dass die IP von einem Proxy oder einem NAT-Server geändert wird.

0

Die Art, wie Sie es tun, ist wahrscheinlich so gut wie jeder andere.

Sie sagen, Sie haben eine öffentliche FTP-Site - haben Sie auch eine Website dort? Ihre andere Option ist, dass Ihr lokaler Computer auf eine PHP-Seite dieser öffentlichen Seite zugreift. Diese PHP-Seite kann bestätigen, dass Sie es sind, und dann die $ _SERVER ['REMOTE_ADDR'] verwenden, um Ihre externe IP-Adresse aufzuzeichnen.

3

Nicht ganz, was Sie gefragt haben, aber immer noch auf was Sie wollen. Ich habe einen GMail Notifier auf meinem Heimcomputer eingerichtet und gehe auf die Seite mit den Kontoaktivitäten, um zu sehen, welche IP-Adresse auf mein Google-Konto zugreift. Sicher, einfach und funktioniert.

+0

Schöne Idee :) Einfach und leicht. – AntonioCS

0

Leider bist du Server wird höchstwahrscheinlich völlig blind sein, was seine eigene externe Adresse zu sein scheint (wie es weiter stromaufwärts über einige Router/Gateway eingestellt werden könnte)

Sie einen Blick auf diese haben könnte

Link

http://ip-address.domaintools.com/myip.xml

Es könnte ein wenig einfacher sein, als zu analysieren, was Sie gerade tun.

0

Ich kann nicht daran denken, wie Sie Ihre IP-Adresse aus der Perspektive einer anderen Maschine auflösen würden. Hier ein paar Gedanken:

  • Automatisieren Sie das Laden der IP-Adresse.com Seite und analysiert es
  • Blick auf DynDNS
2

ich immer curl http://whatismyip.org verwenden, um meine öffentliche IP während hinter NAT zu bekommen.

0

Ihr Computer hat keine Informationen zu NAT oder Routing, die zwischen ihm und dem Internet stattfinden, außer dem nächsten Hop (normalerweise die interne IP des Routers). Es weiß einfach nicht, bei welchem ​​Sprung die interne Adresse in welche öffentliche Adresse übersetzt wird.

Daher gibt es keine einfache Funktion oder Methode, die Sie aufrufen können, in jeder Sprache.

Die einzigen zwei Möglichkeiten sind, jemand anderen zu fragen. Wie ?:

  • Fragen Sie Ihren NAT-Router (weil er selbst die Übersetzung in eine öffentliche IP ausführt), indem er die rechte Seite auf der Admin-Site Ihres Routers abruft und parst. Wahrscheinlich am zuverlässigsten und fair.
  • Fragen Sie einen externen Host, wie er Sie sieht, indem Sie einen öffentlichen Dienst wie http://dynamic.zoneedit.com/checkip.html abrufen und analysieren. Ein Beispiel im VB-Skript ist here.
  • 1

    Wenn ich meine öffentliche IP-Adresse überprüfen müssen lernen, wie ich diese Seite:

    http://www.whatismyip.global/

    Die Website hält eine Geschichte Ihrer IPs. Für mich ist sehr nützlich!