Quel est l'utilitaire de ligne de commande de Windows pour effectuer une recherche DNS inversée?

246

Existe-t-il un outil de ligne de commande intégré permettant d'effectuer des recherches DNS inversées dans Windows? C'est à dire quelque chose comme<toolname> w.x.y.z => mycomputername

J'ai essayé:

  • nslookup: semble être la recherche en avant seulement.
  • host: n'existe pas
  • dig: n'existe pas non plus.

J'ai trouvé " Quel est l'utilitaire de ligne de commande DNS inversé? " Via une recherche, mais il s'agit spécifiquement d'un utilitaire * nix, pas d'un utilitaire Windows.

alastairs
la source
5
Cette question devrait être modifiée pour indiquer qu'elle ne recherche pas vraiment une solution spécifique à DNS. Les réponses qui ont été rejetées fournissent cette réponse, mais le problème était que vous aviez réellement besoin de quelque chose qui recherche les noms NetBIOS, pas le DNS.
Barmar

Réponses:

237
ping -a w.x.y.z

Devrait résoudre le nom à partir de l'adresse IP si la zone de recherche inversée a été configurée correctement. Si la zone de recherche inversée ne comporte pas d'entrée pour l'enregistrement, elle -ase connecte simplement sans nom.

Peter
la source
3
Cela fonctionnait mieux que nslookup car la machine en conflit se trouve sur un autre domaine. Merci beaucoup!
Alastairs
4
Dans nslookup, vous pouvez également essayer: set type = PTR <entrée> wxyz <entrée>
Peter
2
@abstrask a la réponse la plus complète
vinnyjames
7
Cela fonctionne , mais c'est en fait le mauvais outil pour le travail. Ping est utilisé pour mesurer la latence du réseau, il effectue des recherches de nom (ou IP) simplement comme un effet secondaire de son objectif principal.
Massimo
3
@ Massimo - compte tenu des contraintes de la question initiale, que suggéreriez-vous à la place? Ping résoudra les noms DNS et Netbios, ce qui en fait un bon premier outil si vous avez juste besoin de quelque chose de rapide.
Peter
114
nslookup <ip>

Fait ce que vous cherchez. Il vous dira le serveur que vous interrogez et le résultat.

Par exemple:

c:\>nslookup 192.168.101.39
Server: dns1.local
Address: 192.168.101.24

Name: enigma.local
Address: 192.168.101.39
Mark Turner
la source
7
Cela échouait avec un message "<DC> ne peut pas trouver wxyz: domaine inexistant" et je ne pouvais pas comprendre pourquoi. J'ai essayé la réponse de @ Peter et découvert que la machine en conflit était sur un autre domaine.
Alastairs
7
Il a échoué car nslookup se préoccupe uniquement de DNS, alors que les noms sous Windows peuvent et seront résolus par d'autres moyens si DNS ne suffit pas.
Massimo
76

Le problème avec "ping" est qu’il ne s’agit pas strictement d’un outil de recherche de serveur de noms (comme nslookup). Par exemple, si vous envoyez un ping à un nom d’hôte, il peut être résolu en adresse IP par différentes méthodes: recherche DNS, recherche de fichier hôte, WINS (à mon avis) ou diffusion NetBIOS. Il peut également renvoyer un résultat en cache potentiellement obsolète.

L'ordre dans lequel les méthodes sont essayées dépend de la configuration TCP / IP et du type de noeud du client:

  • Nœud B (1): diffusion
  • P-node (2): Peer (WINS uniquement)
  • Nœud M (4): mixte (diffusion, puis WINS)
  • Nœud H (8): hybride (WINS, puis diffusion)

Pour voir le type de noeud de l'ordinateur actuel:

C:\>ipconfig /all | find "Node Type"
Node Type . . . . . . . . . . . . : Hybrid

Si la méthode de résolution ne pose aucun problème, utilisez

ping -a w.x.y.z

ou

nslookup w.x.y.z

comme vous voulez. Si vous devez vous assurer que le nom correct est demandé à votre serveur DNS, utilisez nslookup .

Voir également

abstraction
la source
31

Utilisez NSLOOKUP avec le paramètre "-type = ptr" pour interroger l'adresse IP. La syntaxe est la suivante:

nslookup -type=ptr 1.2.3.4

Ensuite, l'entrée "in-addr.arpa" est également imprimée (même si elle n'est pas trouvée), par exemple:

C:\Users\UserName>nslookup -type=ptr 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Non-authoritative answer:
8.8.8.8.in-addr.arpa    name = google-public-dns-a.google.com

Comparé à la réponse de fidélité inférieure lors de l'utilisation de NSLOOKUP sur une adresse IP sans le paramètre de type:

C:\Users\UserName>nslookup 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Name:    google-public-dns-a.google.com
Address:  8.8.8.8
M Aguilar
la source
2
Si vous souhaitez utiliser nslookup interactif, tapez "set q = ptr" à l'invite nslookup, puis entrez l'IP de la ligne suivante. Si vous êtes un vieil homme fou comme moi, vous ne réalisiez pas que tout à l'heure que vous n'aviez plus à chercher l'adresse IP à l'envers, comme "1.0.0.127.in-addr.arpa".
Todd Wilcox
4
Pas besoin -type=ptrou pas set q=ptrdu tout - nslookupest assez intelligent pour regoniser une adresse IP et faire une recherche inversée au lieu d'avancer
abstrask
1
En fait, le type -type = ptr est nécessaire pour une vérification correcte de la recherche inversée, car il affiche un résultat plus précis que nslookup avec juste une adresse IP. Il est bien mieux d’imprimer l’entrée inaddr.arpa (même si elle n’a pas été trouvée) pour faciliter le débogage ou tout simplement clarifier ce qui se passe.
Tony Wall
14

nslookup fera un DNS inversé sur Windows comme il peut le faire sous Linux.

Bien sûr, il n'y a pas d'entrée inversée pour chaque adresse IP

theotherreceive
la source
2
Bon point que pas tous les hôtes auront un disque PTR créé pour eux
Rowland Shaw
2
Notez que nslookup sur Linux, BSD et Windows font des choses différentes et sont des programmes différents.
Bonne personne
1
Si aucun PTR existe, vous pouvez whois l'IP pour plus d' informations ..... prob ne marche pas navire avec windoze soit lol
nandoP
8

Utilisez nslookup comme ceci:

nslookup -type=PTR  127.0.0.1
ko-dos
la source
6

Vous pouvez utiliser la commande standard NSLOOKUP:

nslookup 123.123.123.123

Pour obtenir un résultat, un enregistrement PTR doit être enregistré pour l'adresse IP en question.

éclabousser
la source
5

nslookup effectuera des recherches inversées dans Windows.

C:\>nslookup star.slashdot.org

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48

C:\>nslookup 216.34.181.48

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48
Evan Anderson
la source
4

9 réponses et personne n'a dit comment inverser la recherche avec dig? C'est le meilleur

dig -x wxyz

En outre, vous pouvez ajouter "+ short" pour une utilisation dans les boucles bash, les scripts, etc .... en avant ou en arrière :)

nandoP
la source
3
Personne n'a mentionné digcar il n'est pas livré avec Windows. La question du PO l'indique même.
Jscott
3
digest généralement le meilleur choix de dépannage DNS, cependant. Je pense qu'il est tout à fait intéressant de suggérer un meilleur outil même s'il n'est pas livré avec Windows. (Disponible dans les versions Windows à l' adresse isc.org/software/bind )
Håkan Lindqvist le
4

Sous Windows ....

Le ping standard ne renvoie PAS le nom d'hôte de l'adresse IP

NSLookup peut être utilisé pour trouver cette information, si le DNS est configuré correctement

Procédure comme suit:

Ouvrir l'invite du DOS

NSLookup

set type = ptr

a B c d

Les résultats seront affichés avec l'adresse du serveur DNS inversé et le nom d'hôte

Ivo van Selst
la source
1

Il y a encore un autre moyen. Inverser l'adresse IP et utiliser nslookup

nslookup -type=PTR 4.3.2.1.in-addr.arpa

pour résoudre l'adresse 1.2.3.4

sweetfa
la source
1
Il faudrait toutefois que nslookup -type=PTR 4.3.2.1.in-addr.arpacela fonctionne réellement.
Håkan Lindqvist
1

Si nslookup, dig, hostn'existe pas, essayez ceci:

getent hosts google.de | awk '{ print $1 }'

Fonctionne par exemple sur les instances AWS ec2 du menu fixe (qui n'ont vraiment rien installé)

Félix
la source