j'ai besoin de trouver le nom d'hôte d'un hôte UNIX dont l'adresse IP est connue sans être connecté à cet hôte UNIX.
Utilisez nslookup
nslookup 208.77.188.166
...
Non-authoritative answer:
166.188.77.208.in-addr.arpa name = www.example.com.
Vous pouvez également effectuer une recherche DNS inversée avec Host
. Donnez-lui simplement l'adresse IP en argument:
$ Host 192.168.0.10
server10 has address 192.168.0.10
Un autre utilitaire de recherche NS pouvant être utilisé pour la recherche inversée est Dig
avec l'option -x
:
$ Dig -x 72.51.34.34
; <<>> Dig 9.9.2-P1 <<>> -x 72.51.34.34
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12770
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1460
;; QUESTION SECTION:
;34.34.51.72.in-addr.arpa. IN PTR
;; ANSWER SECTION:
34.34.51.72.in-addr.arpa. 42652 IN PTR sb.lwn.net.
;; Query time: 4 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Fri Jan 25 21:23:40 2013
;; MSG SIZE rcvd: 77
ou
$ Dig -x 127.0.0.1
; <<>> Dig 9.9.2-P1 <<>> -x 127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11689
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;1.0.0.127.in-addr.arpa. IN PTR
;; ANSWER SECTION:
1.0.0.127.in-addr.arpa. 10 IN PTR localhost.
;; Query time: 2 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Fri Jan 25 21:23:49 2013
;; MSG SIZE rcvd: 63
Citant le Dig page :
Les recherches inversées (mappage d'adresses en noms) sont simplifiées par l'option - x . addr est une adresse IPv4 en notation décimale à point, ou une adresse IPv6 délimitée par des deux points. Lorsque cette option est utilisée, il n'est pas nécessaire de fournir les arguments name, class et type. Dig effectue automatiquement une recherche d'un nom tel que 11.12.13.10.in-addr.arpa et définit le type de requête et la classe sur PTR et IN respectivement.
Pour Windows ping -a 10.10.10.10
Pour Windows, essayez:
NBTSTAT -A 10.100.3.104
ou
ping -a 10.100.3.104
Pour Linux, essayez:
nmblookup -A 10.100.3.104
Ils sont presque pareils.
Ç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 concerne uniquement les noms internes . Par conséquent, la recherche du nom d'une machine nécessite des systèmes de dénomination différents. Plusieurs systèmes 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 de hostname
seront parfois identiques à ceux de Dig
(voir ci-dessous) ou d'autres systèmes de nommage, mais ils ne correspondront souvent pas.
S _ est de loin le plus répandu et est utilisé à la fois sur Internet (comme google.com. A 216.58.218.142
) et à la maison (mDNS/LLMNR) , voici comment effectuer une recherche DNS inversée : Dig -x <address>
(nslookup
et Host
sont plus simples, fournissent moins de détails et peuvent même renvoyer des résultats différents; toutefois, , Dig
n'est pas inclus dans Windows).
Notez que les noms d’hôte dans un CDN ne résoudront pas le nom de domaine canonique (par exemple, "google.com"), mais plutôt le nom d’hôte de l’adresse IP de l’hôte que vous avez interrogée (par exemple, "dfw25s08-in-f142 .1e100.net "; intéressant: 1e100 est 1 googol).
Notez également que les hôtes DNS peuvent avoir plusieurs noms. Ceci est courant pour les hôtes ayant plusieurs serveurs 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 que vous attendez, vérifiez ce fichier.
DHCP les noms d’hôte sont interrogés différemment selon le logiciel serveur DHCP utilisé, car (à ma connaissance, le protocole ne définit pas de méthode pour interroger; 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 courant de voir les mêmes noms d'hôte dans une table des moindres clients DHCP et dans les enregistrements A du serveur DNS (ou AAAA pour IPv6). Encore une fois, cela se fait généralement dans le cadre de zeroconf.
Notez également que le fait qu'un bail DHCP existe pour un client ne signifie pas qu'il est toujours utilisé.
NetBIOS pour TCP/IP (NBT) a été utilisé pendant des décennies pour la résolution de noms, mais a depuis été remplacé par LLMNR pour résolution de nom (partie de zeroconf sous Windows). Ce système hérité peut toujours être interrogé avec nbtstat
(Windows) ou nmblookup
(Linux).
python -c "import socket;print(socket.gethostbyaddr('127.0.0.1'))"
si vous avez juste besoin du nom, pas d’informations supplémentaires, ajoutez [0] à la fin:
python -c "import socket;print(socket.gethostbyaddr('8.8.8.8'))[0]"
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.
Si vous recherchez spécifiquement une machine Windows, essayez la commande ci-dessous:
nbtstat -a 10.228.42.57