J'ai trouvé la commande suivante pour obtenir votre adresse publique publique actuelle qui fonctionne bien de la ligne de commande:
nslookup myip.opendns.com resolver1.opendns.com
Je veux pouvoir exécuter une commande si cela imprime simplement l'adresse IP de résilant. (À l'heure actuelle, il affiche le serveur DNS spécifié et il est IP avec toutes les autres informations, c'est-à-dire:
Server: resolver1.opendns.com
Address: 208.67.222.222
Non-authoritative answer:
Name: myip.opendns.com
Address: 123.123.123.123
Je veux que cela ne veuille simplement produire: 123.123.123.123
Je ne sais pas si le drapeau de la ligne de commande est d'obtenir ce que je veux ou si je peux utiliser des trucs de ligne de commande pour obtenir uniquement la sortie que je veux (finalement, je souhaite rediriger la sortie dans un fichier "> FileName.txt"
En supposant que vous utilisiez Windows, cela peut être effectué à l'aide d'une commande de ligne simple.
De la ligne de commande:
for /f "skip=4 usebackq tokens=2" %a in (`nslookup myip.opendns.com resolver1.opendns.com`) do echo %a > ip.txt
D'un fichier de lot:
for /f "skip=4 usebackq tokens=2" %%a in (`nslookup myip.opendns.com resolver1.opendns.com`) do echo %%a > ip.txt
Remarques:
ip.txt
).PowerShell
, .Net
ou awk
.nslookup
n'a jamais été vraiment destiné à une utilisation scriptée. Vous voulez vraiment utiliser Dig
plutôt, qui avec le +short
L'option produit une sortie lisible par la machine en fonction des paramètres de requête.
Dig +short myip.opendns.com @resolver1.opendns.com
C'est un bon cas d'utilisation pour Awk.
nslookup myip.opendns.com resolver1.opendns.com | awk -F': ' 'NR==6 { print $2 } '
Nous passons ici à Awk, délimité par ":", puis émettant uniquement le deuxième champ délimité de la ligne 6.
Fonctionne bien pour moi sur ma machine Linux. Je n'ai jamais essayé sur d'autres systèmes, mais Google a beaucoup d'articles sur l'installation Dig
par exemple sur Windows
La seule chose à noter, pour que le domaine de recherche d'hôte local doit être ajouté explicitement. Donc, si vous avez myhost
hôte dans votre réseau local avec domaine de recherche mynetwork
mettre
Dig +short myhost.mynetwork
sur la ligne de commande.
Exemples:
sergeyi@sergeyi:~$ Dig +short google.ru
173.194.222.94
sergeyi@sergeyi:~$ Dig A +short google.ru
173.194.222.94
sergeyi@sergeyi:~$ Dig AAAA +short google.ru
2a00:1450:4010:c0b::5e
Simple.
À NSLOOKUP UTILISATION:
Définir TYPE = A
Puis recherche. La commande SET affichera uniquement les sorties pour un enregistrement. Vous pouvez utiliser ceci pour MX, CNAME, AAA, etc.