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

Windows commando dat externe IP

retourneert Is er een commando waarmee ik mijn externe IP van mijn router of mijn NAT\DSL Router, etc. kan vinden, waardoor het niet meer nodig is om whatsmyip.net of iets dergelijks te bezoeken.

Antwoorden (13)

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

U zou een DNS verzoek kunnen gebruiken in plaats van een HTTP verzoek om uw publieke IP te achterhalen:

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

Het gebruikt resolver1.opendns.com dns server om de magische myip.opendns.com. hostnaam op te lossen naar uw ip adres. (Opmerking: de trailing . op de lookup voorkomt dat zoekdomeinen worden toegevoegd, wat onjuiste resultaten kan opleveren.)

Unix versie:

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

pak je eigen exemplaar van curl van http://curl.haxx.se/download.html en dan alleen

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

of gebruik powershell:

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

(disclaimer: http://myexternalip.com is door mij gemaakt)

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

Er is geen ingebouwd commando om dit te doen. Een deel van het probleem is dat wanneer je via een router met het internet verbonden bent, je netwerkhardware niet direct met het internet verbonden is, zodat je systeem niet specifiek een IP toegewezen krijgt. Het is mogelijk dat u in sommige gevallen zelfs meerdere externe IP’s heeft als u achter een reverse proxy zit, aangezien er veel bedrijfsnetwerken zijn opgezet. U kunt het beste een script maken dat whatismyip.org opvraagt, of proberen te vinden of er al een bestaat.

(Als tip: whatismyip.org heeft de voorkeur boven de meeste andere oplossingen, omdat het gewoon uw IP terugstuurt als platte tekst - geen overbodige tekst, links, afbeeldingen of andere rotzooi. Het zou veel gemakkelijker te gebruiken zijn in een aangepast script dan de meeste andere IP-detectiesites).

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

Dit werkt mooi, ik gebruik het meestal met psexec bij het inspecteren van clientcomputerverbindingen.

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

Maak een bestand met de naam ip.vbs en kopieer er het volgende in:

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

Uitvoeren met behulp van

C:\>cscript ip.vbs

Als nhinkle noot , kunt u het beste een site kiezen die alleen het IP retourneert en niet HTML + advertenties, enz. zoals:

(bron: voorheen http://externip.com/about ).

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

Met Powershell 3.0 (Windows 7 is standaard 2.0) kunt u Invoke-WebRequest

Voor IPv4:

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

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

Dit geeft u een variabele om mee te werken als u er iets specifieks mee wilt doen. Ik gebruik dit eigenlijk om een script te bouwen om het dynamische IP van mijn router periodiek te uploaden, een andere machinetestcommunicatie te hebben met regelmatige tussenpozen, en dan DNS te updaten met het laatste IP als het veranderd is, zodat ik overal toegang kan krijgen tot mijn spullen door een naam te gebruiken in plaats van constant het IP te moeten achtervolgen.

En natuurlijk - als de sites veranderen of hun uitgangen veranderen, zul je dit dienovereenkomstig willen updaten. :)

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

Ik heb dit batch script een paar maanden geleden gemaakt om dat te doen:

@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

Het geeft je de mogelijkheid om het IP adres in het klembord te zetten en het stelt een omgevingsvariabele in - %PublicIP%.

  • *

SIMPLER METHOD:

Nu doe ik gewoon dit:

curl icanhazip.com

of…

curl icanhazip.com | clip

…om het huidige publieke IP adres in het klembord te krijgen.

U heeft cURL nodig.

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

Zonder programma’s van derden is het moeilijk op Windows omdat Telnet niet standaard wordt geleverd, maar als het er wel is (XP) of aangezet (Windows Vista en hoger), typ dan gewoon: telnet curlmyip.com 80

het scherm zal knipperen, en je krijgt gewoon een cursor… Volgende type:

GET

In hoofdletters… je ziet dan de headers, gevolgd door je ip (en sorry dat ik het vervaagde, alleen maar laten zien waar het zou zijn! ):

Andere antwoorden werken natuurlijk, maar, ik probeer me te houden aan de vraag over iets dat gebruikt kan worden op alle vensters, zonder programma’s van derden!

Voor Windows Vista en hoger kun je telnet eenvoudig (en veilig) installeren via Programs and features, of gebruik maken van het volgende commando:

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

Probeer dit eens: Heeft geen externe software nodig.

@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

U kunt ifcfg.me gebruiken. het ondersteunt enkele interne commando’s die standaard met windows worden geleverd.

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

Ik wilde een oplossing hebben die werkt voor Windows zonder gereedschap van derden te installeren. Dus nam ik de powershell optie, die elk uur een script moet draaien.

Je maakt dit script aan met Notepad $wc = new-object System.Net.WebClient $ip = $wc.DownloadString("http://myexternalip.com/raw") $LogTime = Get-Date -Format "MM-dd-yyyy_hh-mm-ss" Add-Content C:\Users\Administrator\Desktop\logs\IPLog.txt $LogTime Add-Content C:\Users\Administrator\Desktop\logs\IPLog.txt "`n" Add-Content C:\Users\Administrator\Desktop\logs\IPLog.txt $ip Add-Content C:\Users\Administrator\Desktop\logs\IPLog.txt "`n"

en slaat het op als getIP.ps1 ergens. Je kunt dit script direct in powershell oproepen of de taakplanner gebruiken zoals ik dat heb gedaan. Dit is de opdracht voor het uitvoeren van:

powershell -executionpolicy bypass -File C:\Users\Administrator\Desktop\getIP.ps1

In de taakplanner maak je een nieuwe taak aan. Bij Trigger gebruikt u de instelling dagelijks voor elke 1 dag en bij geavanceerde optie kiest u elk uur voor de duur van direct. Controleer ook Run taak zo snel mogelijk nadat een geplande start is gemist in de Settings. Onder Actie plakt u de bovenstaande uitvoeringscode.

De powershell-code kan geoptimaliseerd worden, omdat ik geen powershell-goeroe ben (mijn eerste keer ermee). Nu ben ik aan het testen of het script elk uur wordt opgeroepen.

1
1
1
2015-03-22 15:25:28 +0000

Hier is wat ik bedacht heb, het is mogelijk om een ingebouwd commando te gebruiken om een publiek IP adres te krijgen maar je hebt wel toegang tot internet

telnet icanhazip.com

of

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

ipchicken.com zal uw schijnbare IP-adres in tekstformaat teruggeven als u de terugkerende HTML die u uittrekt uit de externe IP van uw router kunt ontleden. U kunt ook een van die dynamische DNS-agenten installeren die uw schijnbare externe IP updaten naar een FQDN en dan gewoon nslookup doen op uw FQDN om uw huidige IP-nummer te zien. Vroeger waren er gratis, zoals DynDNS, maar voor de meeste is nu een betaald abonnement nodig.