Externe IP-Adresse hinter Router in Batch-Datei verarbeiten
Gibt es eine Möglichkeit mit Bordmitteln von Windows XP die externe IP über eine Batchdatei auszulesen?
Dabei kenne ich schon 2 Möglichkeiten, die nicht in betracht kommen.
1. Mit nslookup und DynDNS
Geht nicht, weil gerade DynDNS mein Problem ist.
2. Mit wget eine Webseite runterladen, welche die eigene IP enthält
Geht nicht, da kein Bordmittel von Windows XP.
Gibt es noch andere Lösungen?
MfG: Mathias Sahm
Dabei kenne ich schon 2 Möglichkeiten, die nicht in betracht kommen.
1. Mit nslookup und DynDNS
Geht nicht, weil gerade DynDNS mein Problem ist.
2. Mit wget eine Webseite runterladen, welche die eigene IP enthält
Geht nicht, da kein Bordmittel von Windows XP.
Gibt es noch andere Lösungen?
MfG: Mathias Sahm
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 84784
Url: https://administrator.de/contentid/84784
Ausgedruckt am: 25.11.2024 um 12:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo matsahm!
Vermutlich fällt auch die Verwendung von http://www.wieistmeineip.de nicht unter "Bordmittel" ...
... ansonsten könntest Du es mit folgendem Batch (unter Verwendung von temporärem VBScript) versuchen:
Für den VBS-Anteil habe ich Code von diesen beiden Seiten (http://www.motobit.com/tips/detpg_read-write-binary-files/), http://www.motobit.com/tips/detpg_BinASP/) kombiniert und ein wenig eingedampft.
Natürlich bist Du bei dieser Variante auch davon abhängig, dass die Struktur des HTML-Quellcodes der Website nicht wesentlich verändert wird - derzeit sieht die relevante Quelltextzeile so aus:
Im Batch wird mit "findstr" nach dem Zeilenanfang <h1 class="ip" gesucht und dann aus der gefundenen Zeile anhand der Trennzeichen "<" und ">" die IP-Adresse (als Teil / "token" Nr 2) isoliert.
Grüße
bastla
[Edit] VBS-Code durch Verwendung von "Http.ResponseText" noch gekürzt. [/Edit]
Vermutlich fällt auch die Verwendung von http://www.wieistmeineip.de nicht unter "Bordmittel" ...
... ansonsten könntest Du es mit folgendem Batch (unter Verwendung von temporärem VBScript) versuchen:
@echo off & setlocal
set URL=http://www.wieistmeineip.de/
set G=%temp%\GetHTML.vbs
echo Set Http=CreateObject("WinHttp.WinHttpRequest.5.1"):Http.Open "GET",WScript.Arguments(0),False:Http.Send:WScript.Echo Http.ResponseText>%G%
set ExtIP=
for /f "tokens=2 delims=<>" %%i in ('cscript //nologo %G% "%URL%"^|findstr /c:"<h1 class=\"ip\">"') do set ExtIP=%%i
del %G%
if not defined ExtIP echo Externe IP konnte nicht ermittelt werden. & goto :eof
echo %ExtIP%
Natürlich bist Du bei dieser Variante auch davon abhängig, dass die Struktur des HTML-Quellcodes der Website nicht wesentlich verändert wird - derzeit sieht die relevante Quelltextzeile so aus:
<h1 class="ip">200.200.200.200</h1>
Grüße
bastla
[Edit] VBS-Code durch Verwendung von "Http.ResponseText" noch gekürzt. [/Edit]