Y a-t-il une commande qui me permette de trouver l'IP externe de mon routeur ou de mon NAT ? \DSL Routeur, etc., éliminant ainsi le besoin de visiter whatsmyip.net ou similaire.
Réponses
Trop de publicités?Vous pouvez utiliser une requête DNS au lieu d'une requête HTTP pour connaître votre adresse IP publique :
C:\> nslookup myip.opendns.com. resolver1.opendns.com
Il utilise resolver1.opendns.com
serveur DNS pour résoudre le magique myip.opendns.com.
nom d'hôte vers votre l'adresse IP. (Remarque : la queue .
sur la recherche empêche les domaines de recherche d'être ajoutés, ce qui peut donner des résultats incorrects).
Version Unix :
$ dig +short myip.opendns.com @resolver1.opendns.com
Saisissez votre propre copie de curl
de http://curl.haxx.se/download.html et puis juste
curl "http://myexternalip.com/raw"
ou utiliser powershell :
$wc = new-object System.Net.WebClient
$wc.DownloadString("http://myexternalip.com/raw")
(avis de non-responsabilité : http://myexternalip.com a été créé par moi)
Il n'y a pas de commande intégrée pour faire cela. Une partie du problème réside dans le fait que, lorsque vous êtes connecté à Internet via un routeur, votre matériel réseau n'est pas directement connecté à Internet, de sorte qu'une adresse IP n'est pas spécifiquement attribuée à votre système. Il est même possible que vous ayez plusieurs adresses IP externes dans certains cas si vous êtes derrière un proxy inverse, comme c'est le cas pour de nombreux réseaux d'entreprise. Votre meilleure chance est de créer un script qui interroge les adresses suivantes whatismyip.org ou de chercher à savoir s'il en existe déjà un.
(A titre d'astuce, whatismyip.org est préférable à la plupart des autres solutions, car il renvoie simplement votre IP en texte brut - pas de texte superflu, de liens, d'images ou d'autres déchets. Il serait beaucoup plus facile à utiliser dans un script personnalisé que la plupart des autres sites de détection d'IP).
Créez un fichier nommé ip.vbs
et copiez-y 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 ne renvoie que l'IP et non le HTML + les publicités, etc. comme :
- http://myip.dnsomatic.com
- http://whatismyip.org
- http://icanhazip.com
- http://www.whatismyip.com/automation/n09230945.asp
(source : anciennement http://externip.com/about )
- Réponses précédentes
- Plus de réponses