Ip Pingen Zeitüberschreitung?

3 Antworten

Per Console die Externe IP automatisiert zu ermitteln ist nicht ganz einfach.

Zuerst benötigt man einen Server der die IP des Aufrufers ermittelt.

Den Rückgabewert aus einer Webseite wie: https://www.wieistmeineip.de/ ...auszulesen ist möglich aber umständlich.

Besser sind da Addressen wie http://api.ipify.org oder http://ipinfo.io/json

Diese geben einfach nackte Infos im Textformat zurück.

Ich verwende im folgenden Demos "ipfy.org" , da wirklich nur die Ip zürckgegebn wird.

Ansonsten Braucht man nur ein Schnittstelle, welche in der Lage ist Systemnahe Befehle auszuführen.

In der ersten Variante mache ich einfach per XmlHttpReqest in Javascript eine Anfrage an besagte Seite und sollte den Inhalt der Seite zurückbekommen...

XmlHttpReqest.cmd

@echo off
echo with (new ActiveXObject('Microsoft.XMLHTTP')) { open('GET', 'http://api.ipify.org', false);send();WSH.Echo(responseText);} >"%temp%\extIP.js"
for /f "tokens=*" %%a in ('cscript /nologo "%temp%\extIP.js"') do (
    set "myExternalIP.JS=%%a"
) 
echo Deine externe IP ist %myExternalIP.JS%
  rem  ping  Deine  eigene Externe IP
ping %myExternalIP.js%
pause

.Täterätääää....

Wir leben im Zeitalter von Win 10 und damit sollte Powershell auch kein Nogo sein...

...Und Powershell hat starke Netzwerk cmdlets....

Da sich Windows mit Powershell-Scriptdateien (aus gutem Grund) zickig hat.

Packen wir den Aufruf eines solchen Cmdlets in einen Einzeiler und übergeben die Daten an die Batch...

@echo off
  rem  Externe IP per Poweshell cmdlet Invoke-RestMethod über  Requestserver  ermitteln
for /f "tokens=*" %%a in ('powershell -c "&{Invoke-RestMethod http://api.ipify.org}"') do (
    set "myExternalIP=%%a"
) 
echo Deine externe IP ist %myExternalIP%
pause

Hier noch eine Kleine Zauberei, wie man ein ganzes Powershellscript in einer Batchdatei unterbringt.

@echo off 
  rem Powershellteil der Batch ausführen
  rem ...extrem Tricky  Ruft nicht deine Powershelldatei auf,
  rem sondern liest den inhalt der Datei (in diesem Fall diese Batchdatei) in einen String und führt diesen aus.
  rem Da dies  einer eingabe von Hand gleichkommt,
  rem sollte es  nie Mecker bezüglich  mangelnder  Berechtigungen geben ;p
  rem  und bevor die Profis wieder Fragen... Die  Batch endet  vor dem Powershellscript
  rem ...und  das Powershellscript sieht die Batch  nur als mehrzeiligen Kommentar ....
powershell -noprofile iex "(${%~f0}|out-string)"
pause 
exit /b
:: end batch / begin powershell #>



cls
  # externe IP von Requestserver  abfragen...
$externalIP=Invoke-RestMethod http://api.ipify.org

Write-Host http://api.ipify.org return as Youre external IP : -noNewLine
Write-Host $externalIP "`n" -f white -b darkblue

    # externe IP von Requestserver  abfragen...
$externalIP=Invoke-RestMethod http://ipinfo.io/json

Write-Host "http://ipinfo.io/json return as Youre external IP :" -noNewLine
Write-Host $externalIP.ip "`n" -f white -b darkblue
"...all returned Information of this Server:"
$externalIP

Write-Host "Ping  "$externalIP.ip
  # Ping eigene Externe Adresse
Ping $externalIP.ip

Viele Wege führen nach Rom.

Natürlich kannst Du ohne Portfreigaben im Router über die Externe IP keinen Rechner hinter dem Router anpingen. Weder die Eigenen noch die Deines Kumpels...

Was Da auf Dein Ping antwortet ist immer der Router!

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
Erzesel  26.09.2019, 23:45

Habe gerade gesehen das beim eunfügen des 3. Scripts die 1 . Zeile verloren ging.

Fix:

<# : batch portion
@echo off 
  rem Powershellteil der Batch ausführen
...
...
0

Habt ihr die interne oder externe IP genommen?

Meli04fanner 
Fragesteller
 25.09.2019, 06:23

Eigentlich die externe aber zur Sicherheit wie findet man die einfach von einen selber raus wir wollen ja nur unsere nicht andere rausfinden

0

Sind eure PCs denn im selben Netzwerk?

Meli04fanner 
Fragesteller
 25.09.2019, 06:23

Mein also extern :(Nein sind wir nicht also externe IP

0