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

Commande Windows qui renvoie l'IP externe

Advertisement

Existe-t-il une commande par laquelle je peux trouver l'IP externe de mon routeur ou de mon routeur NAT\DSL, etc., éliminant le besoin de visiter whatsmyip.net ou similaire.

Advertisement

Réponses (13)

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

Vous pourriez utiliser une requête DNS au lieu d'une requête HTTP pour connaître votre IP publique :

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

Il utilise le serveur dns resolver1.opendns.com pour résoudre le nom d'hôte magique myip.opendns.com. en votre adresse ip. (Remarque : le . qui suit la recherche empêche d'ajouter des domaines de recherche, ce qui peut donner des résultats incorrects).

Version Unix :

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

Prenez votre propre copie de curlfrom http://curl.haxx.se/download.html et ensuite juste

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

ou utilisez powerhell :

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

(disclaimer : http://myexternalip.com a été créé par moi)

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

Il n'y a pas de commande intégrée pour le faire. Une partie du problème est que lorsque vous êtes connecté à l'internet par un routeur, votre matériel réseau n'est pas directement connecté à l'internet, donc votre système n'est pas spécifiquement affecté à une adresse IP. Il est même possible que vous ayez plusieurs IP externes dans certains cas si vous êtes derrière un proxy inverse, car de nombreux réseaux d'entreprise sont mis en place. Le mieux est peut-être de créer un script qui interroge whatismyip.org , ou d'essayer de trouver s'il en existe déjà un.

(Comme conseil, whatismyip.org est préférable à la plupart des autres solutions, car il renvoie simplement votre IP en texte clair - pas de texte, de liens, d'images ou d'autres déchets superflus. Il serait beaucoup plus facile à utiliser dans un script personnalisé que la plupart des autres sites de détection d'IP).

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

Cela fonctionne bien, je l'utilise surtout avec psexec pour inspecter les connexions des ordinateurs clients.

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

Créer un fichier nommé ip.vbs et y copier ce qui suit :

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

Exécuter en utilisant

C:\>cscript ip.vbs

Comme nhinkle noté , il est préférable de choisir un site qui renvoie uniquement l'IP et non le HTML + les publicités, etc. comme :

(source : anciennement http://externip.com/about )

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

Avec Powershell 3.0 (Windows 7 par défaut est 2.0), vous pouvez utiliser Invoke-WebRequest

Pour IPv4:

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

Pour IPv6:

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

Cela vous donnera une variable avec laquelle travailler si vous avez quelque chose de spécifique à faire avec elle. En fait, je l'utilise pour créer un script permettant de télécharger périodiquement l'adresse IP dynamique de mon routeur, de faire en sorte qu'une autre machine teste la communication à intervalles réguliers, puis de mettre à jour le DNS avec la dernière adresse IP si elle a changé, afin de pouvoir accéder à mon équipement de n'importe où en utilisant un nom au lieu de devoir constamment rechercher l'adresse IP.

Et bien sûr, au fur et à mesure que les sites changent ou que leurs résultats changent, vous voudrez mettre à jour ce script en conséquence. :)

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

Pour ce faire, j'ai créé ce script de lot il y a quelques mois :

@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

Il vous donne la possibilité de mettre l'adresse IP dans le presse-papiers et il définit une variable d'environnement - %PublicIP%.


MÉTHODE DE SIMPLIFICATION:

Maintenant, je fais juste ceci à la place :

curl icanhazip.com

ou…

curl icanhazip.com | clip

…pour mettre l'adresse IP publique actuelle dans le presse-papiers.

Vous avez besoin de cURL .

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

Sans programmes tiers est difficile sur Windows car Telnet n'est pas fourni par défaut, mais, s'il est là (XP) ou activé (Windows Vista et au-dessus), il suffit de taper :

telnet curlmyip.com 80

l'écran clignotera, et vous aurez juste un curseur… Tapez ensuite :

GET

En majuscules… vous verrez alors les en-têtes, suivis de votre ip (et désolé de l'avoir floué, en montrant juste où il serait ! ) :

D'autres réponses ici fonctionnent évidemment, mais, j'essaie de m'en tenir à la question sur quelque chose qui peut être utilisé sur n'importe quelle fenêtre, sans programmes tiers !

Pour Windows Vista et au-dessus, vous pouvez installer telnet facilement (et en toute sécurité) via Programs and features, ou utiliser la commande suivante :

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

Essayez ceci : Ne nécessite aucun type de logiciel externe installé.

@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
Advertisement
1
1
2015-10-07 22:09:34 +0000

Je voulais avoir une solution qui fonctionne pour Windows sans installer d'outils tiers. J'ai donc pris l'option powershell, qui devrait lancer un script toutes les heures.

Vous créez ce script avec 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"

et l'enregistrez sous le nom de getIP.ps1 quelque part. Vous pouvez appeler ce script soit directement dans powerhell, soit utiliser le planificateur de tâches comme je l'ai fait. Voici la commande à exécuter :

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

Dans le planificateur de tâches, vous créez une nouvelle tâche. A Trigger vous utilisez le paramètre quotidien pour chaque jour et sous l'option avancée vous choisissez chaque heure pour la durée de l'immédiat. Cochez également Exécuter la tâche dès que possible après qu'un démarrage programmé est manqué dans les Réglages. Sous Action vous collez le code d'exécution ci-dessus.

Le code de powershell peut être optimisé, parce que je ne suis pas un gourou de powershell (ma première fois avec lui). Maintenant, je teste si le script est appelé toutes les heures.

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

Voici ce que j'ai compris, il est possible d'utiliser la commande intégrée pour obtenir une adresse IP publique mais vous avez accès à Internet

telnet icanhazip.com

ou

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

ipchicken.com renvoie votre adresse IP apparente au format texte si vous pouvez analyser le HTML renvoyé en extrayant l'IP externe de votre routeur. Vous pouvez également installer un de ces agents DNS dynamiques qui met à jour votre IP externe apparente en un FQDN et qui vous permet de voir votre numéro IP actuel. Il y avait autrefois des agents gratuits comme DynDNS, mais la plupart d'entre eux nécessitent maintenant un compte d'abonnement payant.

Advertisement