web-dev-qa-db-fra.com

Résoudre le nom d'hôte à partir de l'adresse IP

Je recherche un outil de ligne de commande qui obtient une adresse IP et renvoie le nom d'hôte, pour Windows.

137
DouglasJose

La commande que vous recherchez s'appelle nslookup, fonctionne très bien pour les recherches inversées SSI quelqu'un a configuré un fichier de zone inversée, qu'il ne ' t toujours faire.

125

si tout ce qui précède échoue et que vous recherchez spécifiquement une machine Windows, vous pouvez utiliser

nbtstat -a 192.168.1.50

Les données retournées seront tous les enregistrements NetBIOS de la machine. Celui avec un type d'enregistrement <20h> sera généralement le nom de la machine.

93
Moose

Pour de nombreuses adresses IP, vous pouvez simplement utiliser ping -a, par exemple

ping -a 209.85.229.106

reviendra

Pinging ww-in-f106.google.com [209.85.229.106] with 32 bytes of data:

Reply from 209.85.229.106...........
61
Marko Carter

Si vous utilisez la commande nslookup avec l'adresse IP comme premier argument, elle renverra l'enregistrement PTR (l'entrée inverse) s'il existe. Par exemple:

nslookup 192.168.1.50
31
Kyle Brandt

Utilisez Dig. Un port Windows est disponible à partir de l'ISC ici (recherchez dans la boîte de téléchargement immédiate le lien vers le fichier Zip). Voici leur référence de page de manuel pour Dig .

Point de Ward à propos des enregistrements de recherche inversée qui ne sont souvent pas créés est tout à fait vrai. Les recherches inversées échouent souvent car de nombreux administrateurs ne prennent pas la peine de créer les enregistrements ptr.

3
squillman

(testé sous Windows 10 x64)

depuis la ligne de commande:

FOR /F "tokens=2 delims= " %A in ('2^>NUL NSLOOKUP "%IP_ADDRESS%" ^| FINDSTR /C:": "') do ECHO %A

Dans un script:

FOR /F "tokens=2 delims= " %%A in ('2^>NUL NSLOOKUP "%IP_ADDRESS%" ^| FINDSTR /C:": "') do ECHO %%A

Deux (côté) notes:

  • Pour supprimer NSLOOKUP les erreurs, vous devez utiliser 2^>NUL au lieu de 1^>NUL
  • J'ai utilisé FINDSTR /C pour extraire la valeur après les quatre espaces. Comme les quatre espaces ne semblent exister que pour le Name:, cela semble être le seul moyen de le faire fonctionner sur d'autres systèmes localisés.
1
script'n'code

psexec\192.168.0.65 nom d'hôte

DMHD006 nom d'hôte sorti sur 192.168.0.65 avec le code d'erreur 0.

0
Sahin