2010-07-21 06:06:13 +0000 2010-07-21 06:06:13 +0000
61
61

Windows-Befehl, der die externe IP zurückgibt

Gibt es einen Befehl, mit dem ich meine externe IP meines Routers oder meines NAT\DSL-Routers usw. finden kann, wodurch die Notwendigkeit entfällt, whatsmyip.net oder ähnliches zu besuchen.

Antworten (13)

109
109
109
2014-02-27 14:57:47 +0000

Sie könnten anstelle einer HTTP-Anfrage eine DNS-Anfrage verwenden, um Ihre öffentliche IP herauszufinden:

C:\> nslookup myip.opendns.com. resolver1.opendns.com

Es verwendet den DNS-Server resolver1.opendns.com, um den magischen Hostnamen myip.opendns.com. in Ihre IP-Adresse aufzulösen. (Hinweis: Das nachgestellte . verhindert, dass Suchdomänen angehängt werden, was zu falschen Ergebnissen führen kann)

Unix-Version:

$ dig +short myip.opendns.com @resolver1.opendns.com
33
33
33
2010-07-21 08:24:26 +0000

Schnappen Sie sich Ihre eigene Kopie von curl von http://curl.haxx.se/download.html und dann einfach

curl "http://myexternalip.com/raw"

oder verwenden Sie powershell:

$wc = new-object System.Net.WebClient
$wc.DownloadString("http://myexternalip.com/raw")

(Haftungsausschluss: http://myexternalip.com wurde von mir erstellt)

16
16
16
2010-07-21 06:28:20 +0000

Es gibt keinen eingebauten Befehl, um dies zu tun. Ein Teil des Problems besteht darin, dass, wenn Sie über einen Router mit dem Internet verbunden sind, Ihre Netzwerkhardware nicht direkt mit dem Internet verbunden ist, so dass Ihrem System keine spezifische 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, da viele Firmennetzwerke eingerichtet sind. Am besten ist es vielleicht, ein Skript zu erstellen, das whatismyip.org abfragt, oder zu versuchen, herauszufinden, ob bereits eine existiert.

(Als Tipp: whatismyip.org ist den meisten anderen Lösungen vorzuziehen, da es Ihre IP einfach als reinen Text zurückgibt - ohne überflüssigen Text, Links, Bilder oder anderen Müll. Es wäre viel einfacher, es in einem benutzerdefinierten Skript zu verwenden als die meisten anderen IP-Erkennungsseiten).

7
7
7
2015-04-23 08:25:29 +0000

Das funktioniert gut, ich benutze es meistens mit psexec, wenn ich Client-Computerverbindungen inspiziere.

nslookup myip.opendns.com resolver1.opendns.com
6
6
6
2011-02-12 01:58:08 +0000

Erstellen Sie eine Datei namens ip.vbs und kopieren Sie Folgendes 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

Als nhinkle bemerkt wählen Sie am besten eine Website, die nur die IP und nicht HTML + Anzeigen usw. zurückgibt. wie:

(Quelle: ehemals http://externip.com/about )

5
5
5
2014-02-16 13:34:55 +0000

Mit Powershell 3.0 (Windows 7-Standard ist 2.0) können Sie Invoke-WebRequest

Für IPv4:

$tmp =Invoke-WebRequest -URI http://myip.dnsomatic.com/
$tmp.Content

Für IPv6:

$tmp =Invoke-WebRequest -URI http://myexternalip.com/raw
$tmp.Content

Dies gibt Ihnen eine Variable, mit der Sie arbeiten können, wenn Sie etwas Bestimmtes damit tun möchten. Ich benutze diese Variable, um ein Skript zu erstellen, mit dem ich die dynamische IP meines Routers periodisch hochladen kann, eine andere Maschine in regelmäßigen Abständen die Kommunikation mit ihm testen lasse und dann das DNS mit der neuesten IP aktualisiere, wenn sie sich geändert hat, so dass ich von überall her auf meine Geräte zugreifen kann, indem ich einen Namen benutze, anstatt ständig der IP nachjagen zu müssen.

Und natürlich - wenn sich die Sites oder ihre Ausgaben ändern, werden Sie dies entsprechend aktualisieren wollen. :)

5
5
5
2011-02-12 04:03:59 +0000

Vor einigen Monaten habe ich dafür dieses Batch-Skript erstellt:

@echo off

:: WhatIsMyIP.cmd - returns public IP address
:: requires: wget.exe

if [%1]==[-h] goto :HELP
if [%1]==[--help] goto :HELP
if [%1]==[/?] goto :HELP

wget -q -O %temp%\MyIP http://www.whatismyip.com/automation/n09230945.asp
for /f "delims= " %%G in (%temp%\myip) do set PublicIP=%%G & del %temp%\MyIP
echo. & echo Your public IP address is %PublicIP% & echo.
if [%1]==[--clip] echo %PublicIP% | clip
goto :EOF

:HELP
echo. & echo Usage: whatismyip [--clip] & echo.
goto :EOF

:EOF

Es gibt Ihnen die Möglichkeit, die IP-Adresse in die Zwischenablage zu legen, und es setzt eine Umgebungsvariable - %PublicIP%.


SIMPLER METHODE:

Nun, ich mache stattdessen einfach folgendes:

curl icanhazip.com

oder…

curl icanhazip.com | clip

…um die aktuelle öffentliche IP-Adresse in die Zwischenablage zu bekommen.

Sie brauchen cURL .

3
3
3
2014-01-15 00:48:54 +0000

Ohne Programme von Drittanbietern ist es unter Windows schwer, da Telnet nicht standardmäßig mitgeliefert wird, aber wenn es da ist (XP) oder eingeschaltet ist (Windows Vista und höher), tippen Sie einfach:

telnet curlmyip.com 80

der Bildschirm blinkt, und Sie erhalten nur einen Cursor… Nächste Eingabe:

GET

In Großbuchstaben… Sie sehen dann die Kopfzeilen, gefolgt von Ihrer ip (und entschuldigen Sie, dass ich sie verwischt habe, sie zeigt nur, wo sie sein würde! ):

Andere Antworten hier funktionieren natürlich, aber ich versuche, mich an die Frage nach etwas zu halten, das auf allen Fenstern verwendet werden kann, ohne Programme von Drittanbietern!

Für Windows Vista und höher können Sie Telnet einfach (und sicher) über Programs and features installieren oder den folgenden Befehl verwenden:

pkgmgr /iu:”TelnetClient”
3
3
3
2013-12-05 15:40:30 +0000

Versuchen Sie dies: Es muss keine externe Software installiert sein.

@set @script=0 /*
  @echo off
    set @script=
    cscript //nologo //e:jscript "%~dpnx0"
  exit /b
*/

with (new ActiveXObject('Microsoft.XMLHTTP')) {
   open('GET', 'http://internet.yandex.ru/', false);
   send();

   WScript.echo(responseText.match(/IPv4:\s(\d+\.){3}\d+/g));
}
2
2
2
2014-11-28 11:40:53 +0000

Sie können ifcfg.me verwenden. Es unterstützt einige interne Befehle, die standardmäßig mit Windows geliefert werden.

curl ifcfg.me
nslookup . ifcfg.me
telnet ifcfg.me
ftp ifcfg.me
finger @ifcfg.me
1
1
1
2015-10-07 22:09:34 +0000
1
1
1
2015-03-22 15:25:28 +0000

Hier ist, was ich herausgefunden habe: Es ist möglich, einen eingebauten Befehl zu verwenden, um eine öffentliche IP-Adresse zu erhalten, aber Sie haben Zugang zum Internet

telnet icanhazip.com

oder

telnet myip.gelma.net
0
0
0
2018-11-08 19:54:03 +0000

ipchicken.com sendet Ihre scheinbare IP-Adresse im Textformat zurück, wenn Sie die zurückgesendete HTML-Datei, aus der Sie die externe IP Ihres Routers extrahieren, parsen können. Alternativ können Sie einen dieser dynamischen DNS-Agenten installieren, der Ihre scheinbare externe IP in einen FQDN aktualisiert, und dann einfach nslookup auf Ihrem FQDN durchführen, um Ihre aktuelle IP-Nummer zu sehen. Früher gab es kostenlose Agenten wie DynDNS, aber die meisten von ihnen erfordern jetzt ein kostenpflichtiges Abonnementkonto.