Comment trouver un nom d'ordinateur dans un réseau local à partir de l'adresse IP?

54

Mon réseau comprend des machines fonctionnant sous Linux et d'autres exécutant Windows. Et ma machine tourne sous Linux.

Islam Hassan
la source
2
La question est un peu incertaine, ce qui a donné lieu à des réponses différentes - et bonnes - ci-dessous. Voulez-vous trouver le nom DNS d'un hôte? Voulez-vous trouver le nom WINS? Voulez-vous rechercher sur le réseau tous les hôtes trouvés? Toutes ces questions reçoivent une réponse - mais la réponse spécifique souhaitée est inconnue.
Mei

Réponses:

35

Tapez le terminal

arp -a

Il affichera tous les noms d’hôtes sur le réseau local, qu’il s’agisse de Linux ou de Windows.

Ketan Patel
la source
14
Cela ne montre rien sur mon réseau local qui a plus de 30 machines Linux ...
Cerin
@Cerin Êtes-vous vous-même sur une machine Linux?
Shashank Sawant
1
Sur Ubuntu 14.04, on lit: "? (192.168.1.2) à 00: 22: 6b: f2: 33: b3 [ether] on wlan0", me donnant uniquement des informations sur mon routeur (mon ordinateur portable y est connecté via wifi, comme environ 10 autres appareils atm). Regardant man arp, il dit aussi "arp - manipule le cache ARP du système". Comment cet outil devrait-il résoudre la question initiale?
gerlos
5
De même ici sur Ubuntu 14.04, cela ne fait que lister un groupe de? (192.168.55.147) at ac:3a:7a:a4:01:d4 [ether] on eth0
Elijah Lynn le
2
Pareil ici. Je ne peux accéder à l'hôte local que par nom d'hôte, rien d'autre ne semble annoncer son nom d'hôte, même les machines Linux que j'ai configurées moi-même.
Unfa
19

Tapez le terminal

sudo aptitude install nmap
nmap -sP xxx.xxx.xxx.xxx

Cela vous donnera:

Starting Nmap 5.21 ( http://nmap.org ) at 2012-11-03 19:08 CET
Nmap scan report for HOST.DOMAIN (xxx.xxx.xxx.xxx)
Host is up (0.00052s latency).
MAC Address: YY:YY:YY:YY:YY:YY (Manufactor)
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

Où HOST.DOMAIN est le nom DNS de la machine.

Germar
la source
10
Cela affiche toutes les adresses IP actives, mais uniquement les domaines des machines pour lesquelles un domaine personnalisé a été explicitement configuré dans mon serveur de liaison local. Il ne montre aucun nom d’hôte local, ce qui, je pense, est ce que le PO essaie d’accomplir.
Cerin
cette réponse est très rapide.
Activedecay
4
-sP a peut-être été remplacé par -sn selon votre version de nmap. Dans le manuel nmap 7.12: -sn (pas d'analyse de port) Dans les versions précédentes de Nmap, -sn était appelé -sP.
Lemmings19
Semblable à la arpcommande, je pense que cette réponse ne fonctionne que si vous avez un serveur DHCP local et un serveur / proxy DNS qui communiquent entre eux, afin que les noms d’hôte enregistrés avec les baux DHCP puissent être résolus (ou inversement, dans ce cas). ) via DNS.
Doktor J
9

Et si vous essayez ceci:

Vous pouvez l'exécuter dans Windows

nbtstat -A xxx.xxx.xxx.xxx (where x is the ip address)

sur Ubuntu, vous pouvez installer nbtscan. Vous pouvez trouver plus d'informations ici: http://www.unixwiz.net/tools/nbtscan.html

J'espère que ça aide

Brett
la source
Merci beaucoup, mais il semble que nbtscan ne détecte que les machines fonctionnant sous Windows. J'ai 2 machines sous Windows et 2 autres sous Linux. Il détecte les deux Windows en cours d'exécution uniquement.
Islam Hassan
2
pouvez-vous essayer nmblookup? il devrait être déjà installé sur Ubuntu
Brett
Désolé, j'ai lu le tutoriel, mais je n'ai pas trouvé comment écrire la commande qui résout mon problème. Je ne vois pas les options prenant IP comme entrée. Pouvez-vous écrire la commande pour moi s'il vous plaît?
Islam Hassan
6
essayez nmblookup -A xxx.xxx.xx où x est l'adresse IP de la machine. Je ferais donc nmblookup -A 192.168.1.6 et renverrait le nom de ma machine. Vous devrez le faire pour chaque machine.
Brett
1
@Brett: (+1) vous devriez convertir votre commentaire en réponse, car c'est la seule méthode qui a fonctionné pour moi (fenêtres et boîtes Linux). Merci
lepe
7

Une recherche inversée avec le nom Netbios peut accomplir ce que vous voulez plus que "nom d'hôte", fonction du DNS et de tcp / ip. nmblookup avec le paramètre -A renvoie les noms de périphérique ainsi que l'adresse mac. Essayez quelque chose comme ça:

nmblookup -A 192.168.1.2
Frere
la source
C'est la réponse qui a fonctionné pour moi
humphrey
C'est la réponse.
Campa
3

Si votre réseau utilise un serveur DHCP, généralement sur le modem / routeur, il sera probablement en mesure de voir les adresses attribuées par DHCP - souvent par une page Web et qui répertorie souvent les noms d’ordinateur en regard des adresses IP attribuées. .

le jazz
la source
2

Je viens d'utiliser

nslookup xxx.xxx.xxx.xxx

il me montrera le nom de l'hôte (généralement le nom de l'ordinateur)

Chester
la source
4
Cela me prend juste** server can't find xxx.xxx.xxx.xxx.in-addr.arpa.: NXDOMAIN
Cerin
travaille pour moi :)
vk.edward.li
2
nslookup effectue des recherches DNS. Par conséquent, pour que cela fonctionne, vous devez que les hôtes soient enregistrés dans le DNS. Si vous avez un réseau Windows normal, dans une plage IP privée, sans ActiveDirectory configuré, cela ne fonctionnera pas. Les noms NetBios et les noms DNS sont des bêtes différentes.
bogdan.mustiata
1

À ma connaissance, aucun utilitaire ne permet de résoudre une adresse IP en un nom NetBIOS. J'imagine qu'une sorte de programme d'analyse de réseau ou de programme de test d'intrusion pourrait vous donner cette mine d'informations. Cependant, tous les ordinateurs devraient être sur le même domaine et le même sous-réseau.

Xernicus
la source
Pourriez-vous nommer un programme s'il vous plaît?
Islam Hassan
1
Le PO veut le contraire. Par exemple, IP-> nom d'hôte
Cerin
Je sais que cela est vieux ... et OP utilise Linux, pas Windows ... mais sous Windows, vous pouvez exécuter nbtstat -A <IP Address>pour obtenir le nom NetBIOS à partir de l'adresse IP. Cela fonctionne sur plusieurs sous-réseaux et il n'est pas nécessaire d'être dans le même domaine. En outre, courir nbtstat -a <NetBIOS Name>fera l'inverse. J'espère que cela vous aidera ...
John Homer