128 votes

Comment trouver le nom de l'hôte à partir de l'IP sans se connecter à l'hôte ?

J'ai besoin de trouver le nom d'hôte d'un hôte UNIX dont l'IP est connue sans avoir à me connecter à cet hôte UNIX.

10voto

Ilya Kharlamov Points 631
python -c "import socket;print(socket.gethostbyaddr('127.0.0.1'))"

si vous n'avez besoin que du nom, sans autre information, ajoutez [0] à la fin :

python -c "import socket;print(socket.gethostbyaddr('8.8.8.8'))[0]"

9voto

John Syrinek Points 437

Cela dépend du contexte. Je pense que vous faites référence au nom d'hôte du système d'exploitation (retourné par hostname lorsque vous êtes connecté). Cette commande est pour noms internes uniquement La recherche du nom d'une machine nécessite donc différents systèmes de dénomination. Il existe plusieurs systèmes qui utilisent les noms pour identifier les hôtes, notamment le DNS, le DHCP et le LDAP (DN), hostname etc. et de nombreux systèmes utilisent zeroconf pour synchroniser les noms entre plusieurs systèmes de dénomination. Pour cette raison, les résultats de hostname correspondra parfois aux résultats de dig (voir ci-dessous) ou d'autres systèmes de dénomination, mais il arrive souvent qu'ils ne correspondent pas.

DNS est de loin le plus courant et est utilisé à la fois sur internet (comme google.com. A 216.58.218.142 ) et à la maison (mDNS/LLMNR), voici donc comment effectuer un recherche inverse de DNS : dig -x <address> ( nslookup y host sont plus simples, fournissent moins de détails et peuvent même renvoyer des résultats différents ; cependant, dig n'est pas inclus dans Windows).

Notez que les noms d'hôtes dans un CDN ne résoudra pas le nom de domaine canonique (par exemple "google.com"), mais plutôt le nom d'hôte de l'IP hôte que vous avez demandé (par exemple "dfw25s08-in-f142.1e100.net" ; détail intéressant : 1e100 est 1 googol).

Notez également que les hôtes DNS peuvent avoir plus d'un nom. Cela est courant pour les hôtes disposant de plus d'un serveur web (hébergement virtuel), bien que cela devienne moins fréquent grâce à la prolifération des technologies de virtualisation. Ces hôtes ont plusieurs enregistrements DNS PTR .

Enfin, il faut noter que les enregistrements d'hôtes DNS peuvent être remplacés par la machine locale via la commande /etc/hosts . Si vous n'obtenez pas le nom d'hôte attendu, vérifiez ce fichier.

DHCP Les noms d'hôtes sont interrogés différemment selon le logiciel du serveur DHCP utilisé, car (pour autant que je sache) le protocole ne définit pas de méthode d'interrogation ; cependant, la plupart des serveurs fournissent un moyen de le faire (généralement avec un compte privilégié).

Remarque Les noms DHCP sont généralement synchronisés avec le(s) serveur(s) DNS, il est donc fréquent de voir les mêmes noms d'hôtes dans la moindre table d'un client DHCP et dans les enregistrements A (ou AAAA pour IPv6) du serveur DNS. Encore une fois, ceci est généralement fait dans le cadre de zeroconf.

Notez également que ce n'est pas parce qu'un bail DHCP existe pour un client qu'il est toujours utilisé.

NetBIOS pour TCP/IP (NBT) a été utilisé pendant des décennies pour effectuer la résolution de noms, mais a depuis été remplacé par LLMNR pour la résolution de noms (partie de zeroconf sous Windows). Cet ancien système peut toujours être interrogé avec la commande nbtstat (Windows) ou nmblookup (Linux).

2voto

Moshe Points 1724

Les autres réponses sont correctes - utilisez les recherches DNS inversées. Si vous voulez le faire via un langage de script (Python, Perl), vous pouvez utiliser l'API gethostbyaddr.

0voto

Gyana Ranjan Points 1

Si vous recherchez spécifiquement une machine Windows, essayez la commande suivante :

nbtstat -a 10.228.42.57

-1voto

Vous pouvez également utiliser la commande traceroute.

http://linux.die.net/man/8/traceroute

utilisez simplement traceroute qui vous montrera le chemin de routage avec les noms d'hôtes (IPs résolus).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X