j'ai besoin de trouver le nom d'hôte d'un hôte UNIX dont l'IP est connue sans connexion à cet hôte UNIX
unix
command-line
hostname
user75536
la source
la source
Réponses:
Utilisez nslookup
la source
sudo yum install bind-utils
abord exécuter . cela installera nslookup lookup pour vousVous pouvez également effectuer une recherche DNS inversée avec
host
. Donnez-lui simplement l'adresse IP comme argument:la source
Un autre utilitaire de recherche NS qui peut être utilisé pour la recherche inversée est
dig
avec l'-x
option:ou
Citant la page de manuel dig :
la source
Pour Windows ping -a 10.10.10.10
la source
Pour Windows, essayez:
ou
Pour Linux, essayez:
Ils sont presque les mêmes.
la source
si vous avez juste besoin du nom, pas d'informations supplémentaires, ajoutez [0] à la fin:
la source
python -c "import socket;print(socket.gethostbyaddr('10.16.7.10'))"
Ça dépend du contexte. Je pense que vous faites référence au nom d'hôte du système d'exploitation (renvoyé par
hostname
lorsque vous êtes connecté). Cette commande ne concerne que les noms internes , par conséquent, pour interroger le nom d'une machine, il faut différents systèmes de dénomination. Il existe plusieurs systèmes qui utilisent des noms pour identifier les hôtes, notamment DNS, DHCP, 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 dehostname
correspondent parfois aux résultats dedig
(voir ci-dessous) ou d'autres systèmes de dénomination, mais souvent ils ne correspondent pas.Le 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), alors voici comment effectuer une recherche DNS inversée :dig -x <address>
(nslookup
ethost
sont plus simples, fournissent moins de détails, et peuvent même renvoyer différents résultats; cependant,dig
n'est pas inclus dans Windows).Notez que les noms d'hôte dans un CDN ne se résoudront pas au nom de domaine canonique (par exemple "google.com"), mais plutôt au nom d'hôte de l'adresse IP hôte que vous avez interrogée (par exemple "dfw25s08-in-f142.1e100.net"; information intéressante: 1e100 est 1 googol).
Notez également que les hôtes DNS peuvent avoir plusieurs noms. Ceci est courant pour les hôtes disposant de plus d'un serveur Web (hébergement virtuel), bien que cela devienne moins courant grâce à la prolifération des technologies de virtualisation. Ces hôtes ont plusieurs enregistrements DNS PTR .
Enfin, notez que les enregistrements d'hôte DNS peuvent être remplacés par la machine locale via / etc / hosts . Si vous n'obtenez pas le nom d'hôte attendu, assurez-vous de vérifier ce fichier.
Les noms d'hôte DHCP sont interrogés différemment selon le logiciel de 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 offrent 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 courant de voir les mêmes noms d'hôte dans une table des moindres clients DHCP et dans les enregistrements A (ou AAAA pour IPv6) du serveur DNS. Encore une fois, cela se fait généralement 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). Ce système hérité peut toujours être interrogé avec le
nbtstat
(Windows) ounmblookup
(Linux).la source
Les autres réponses ici sont correctes - utilisez des recherches DNS inversées. Si vous souhaitez le faire via un langage de script (Python, Perl), vous pouvez utiliser l'API gethostbyaddr.
la source
Si vous recherchez spécifiquement une machine Windows, essayez la commande ci-dessous:
la source
Vous pouvez également utiliser la commande traceroute.
http://linux.die.net/man/8/traceroute
utilisez simplement le traceroute, il vous montrera le chemin de routage avec les noms d'hôte (adresses IP résolues)
la source
Dans la plupart des cas, la commande traceroute fonctionne correctement. Les commandes nslookup et host peuvent échouer.
la source