Comment déterminer le nom d'hôte à partir d'une adresse IP dans un réseau Windows?

84

Mon réseau local compte 50 hôtes Windows. Sur la ligne de commande Windows, je tente d’obtenir l’adresse IP d’une machine sous Windows en cours d’exécution.

La question est de savoir comment obtenir le nom d’hôte d’une adresse IP spécifique dans le même groupe de travail Windows?

Une autre question est de savoir comment connaître le nom d’hôte d’une machine Windows à partir d’une machine Linux si j’ai une adresse IP? Quelle commande utilisez-vous? J'ai un hôte qui exécute Kubuntu 9.04.

Billyduc
la source

Réponses:

92

Si vous voulez déterminer le nom d'une machine Windows sans DNS, vous devriez essayer Nbtstat . Mais cela ne fonctionnera que sous Windows:

Par exemple,

NBTSTAT -A 10.10.10.10

Sous Linux, vous devriez essayer nmblookup qui fait presque la même chose.

Phil Swiss
la source
3
NBTSTAT dépend du chargement et du fonctionnement de NetBIOS, qui est souvent désactivé dans les grandes organisations dotées de leur propre infrastructure AD & DNS. Probablement une hypothèse sûre ici avec un groupe de travail de 50 machines.
Gathrawn
Merci Decca, le nbtstat est rock btw ... j'ai échoué sur Linux box nmblookup 192.168.1.92 interrogeant 192.168.1.92 sur 192.168.1.255 name_query n'a pas réussi à trouver le nom 192.168.1.92
billyduc
8
La commande nmblookup -A 192.168.1.92 fonctionne avec
succès
1
nmblookupfait partie du paquet Samba de ma distribution. Pas sûr pourquoi nmblookupcela fait ip to hostname fait partie de Samba (code du système de fichiers en réseau et code des services d’impression).
Trevor Boyd Smith Le
60

La méthode techniquement préférable consiste à taper nslookup <ip address>

En réalité, NSLOOKUP demande au serveur DNS l'adresse IP du nom d'hôte. Ping utilisera le cache du résolveur DNS local , qui peut être incorrect jusqu'à ce que vous le vidiez.

Izzy
la source
cela suppose qu’il dispose d’un serveur DNS interne pour la résolution de noms. de plus, l'op a déclaré qu'il voulait résoudre un nom d'hôte à partir de l'ip, alors je suppose qu'il ne connaît pas le nom d'hôte pour commencer. de plus, en ce qui me concerne, il n'y a pas de manière correcte ou incorrecte de le faire. il existe de nombreuses méthodes valables chacune pouvant donner des résultats différents.
joeqwerty
3
Nan. Utiliser PING n'est pas la meilleure façon de le faire. Vous pouvez faire un nslookup <ip address>et cela résoudra la recherche inversée.
Izzy
1
Vous faites référence à NSLOOKUP comme à un outil de résolution interne ... Quoi qu'il en soit, NSLOOKUP est l'option techniquement supérieure.
Izzy
1
Mais il a raison. Dans ce scénario, nslookup n'est utile que s'il existe un serveur DNS (interne ou externe) doté d'entrées de zone de recherche inversée pour les hôtes de l'OP, et que les machines de l'OP sont configurées pour utiliser ce serveur DNS.
Maximus Minimus
3
@ Izzy Je me suis enregistré en tant que nouveau membre, juste pour dire merci pour le conseil pour NSLOOKUP, Izzy. Parmi tout ce qui précède, c'est le seul qui a fonctionné pour moi. Mille mercis. --Jeff Moden
Jeff Moden
9

Sous Windows, vous pouvez utiliser ping -a x.x.x.xpour tenter de résoudre le nom d’hôte à partir de l’ adresse IP .

joeqwerty
la source
1
PING peut entraîner des résultats inexacts, notamment si vous travaillez activement sur des problèmes de DNS.
Izzy
l'op n'a pas indiqué qu'il travaillait sur des problèmes de DNS, il a laissé entendre qu'il travaillait sur des problèmes de résolution de noms. Le DNS n'est pas le seul mécanisme de résolution de noms dans Windows et n'est pas un mécanisme de résolution de noms requis. il a également déclaré qu'il travaillait dans un groupe de travail, je n'ai donc formulé aucune hypothèse concernant le fait qu'il dispose d'une infrastructure DNS.
joeqwerty
Le DNS est réellement requis pour Active Directory. Nous n'avons tout simplement pas assez d'informations pour dire quoi que ce soit de définitif à ce sujet.
Maximus Minimus
@ mh: oui, mais encore une fois ... pas assez d'informations de l'op.
joeqwerty
Merci à tous ! Je n'ai pas de service Active Directory, j'ai un serveur DNS à résoudre pour DHCP, mail, serveur Web dans ma société, la plupart des hôtes employés exécutent Windows XP et utilisent le même WORKGROUP.
Billyduc
4

Pour les utilisateurs de mac smbutil -v status -ae x.x.x.xfonctionne. Vous pouvez également utiliser arp -apour obtenir des adresses mac pour tout sur votre réseau.

balupton
la source
1

nmblookup peut ne pas fonctionner correctement pour les hôtes Linux, car le nom NetBIOS est obsolète. Et sous Windows, il est limité au réseau local.

Arun
la source
2
Non c'est faux. Netbios n'est (malheureusement) pas obsolète, et est en fait requis pour un certain nombre de fonctions vitales d'Active Directory.
HopelessN00b
Quelqu'un peut-il indiquer comment, dans quels cas, AD DS s'appuie toujours sur Netbios? Il y a eu des pourparlers que Netbios est censé déprécier depuis Windows Server 2003. Est-il toujours nécessaire maintenant avec les réseaux AD DS de Windows Server 2012?
Mikhail
Malheureusement, oui: serverfault.com/questions/676867/…
Massimo