Gibt es einen Befehl, mit dem ich die externe IP meines Routers oder meines NAT\DSL-Routers usw. herausfinden kann, so dass ich nicht mehr whatsmyip.net oder ähnliches besuchen muss.
nehmen Sie Ihre eigene Kopie von curl
von http://curl.haxx.se/download.html und dann einfach
curl "http://myexternalip.com/raw"
oder Powershell verwenden:
$wc = new-object System.Net.WebClient
$wc.DownloadString("http://myexternalip.com/raw")
(Haftungsausschluss: http://myexternalip.com wurde von mir erstellt)
Es gibt keinen eingebauten Befehl, um dies zu tun. Ein Teil des Problems besteht darin, dass Ihre Netzwerkhardware nicht direkt mit dem Internet verbunden ist, wenn Sie über einen Router mit dem Internet verbunden sind, so dass Ihrem System keine spezielle IP zugewiesen ist. Es ist möglich, dass Sie in einigen Fällen sogar mehrere externe IPs haben, wenn Sie sich hinter einem Reverse-Proxy befinden, wie viele Unternehmensnetzwerke eingerichtet sind. Am besten erstellen Sie ein Skript, das whatismyip.org abfragt, oder versuchen Sie herauszufinden, ob ein solches Skript bereits existiert.
(Als Tipp: whatismyip.org ist den meisten anderen Lösungen vorzuziehen, da es Ihre IP-Adresse nur als reinen Text zurückgibt - ohne überflüssigen Text, Links, Bilder oder anderen Müll. Es wäre viel einfacher, es in einem eigenen Skript zu verwenden als die meisten anderen IP-Ermittlungsseiten).
Erstellen Sie eine Datei mit dem Namen "ip.vbs" und kopieren Sie den folgenden Text hinein:
Option Explicit
Dim http : Set http = CreateObject( "MSXML2.ServerXmlHttp" )
http.Open "GET", "http://icanhazip.com", False
http.Send
Wscript.Echo http.responseText 'or do whatever you want with it
Set http = Nothing
Ausführen mit
C:\>cscript ip.vbs
Wie nhinkle bemerkt, ist es am besten, eine Seite zu wählen, die nur die IP und nicht HTML + Werbung etc. zurückgibt:
(Quelle: ehemals http://externip.com/about)