web-dev-qa-db-fra.com

comment trouver le nom d'hôte à partir d'IP sans se connecter à l'hôte

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.

124
user75536

Utilisez nslookup

nslookup 208.77.188.166 
...
Non-authoritative answer:
166.188.77.208.in-addr.arpa     name = www.example.com.
162
vartec

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
71
unbeknown

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.

42
King Thrushbeard

Pour Windows ping -a 10.10.10.10

27
skm_satish
  • 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.

15
Deepak Verma

Ç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).

7
Johntron
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]"
7
Ilya Kharlamov

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.

2
Moshe

Si vous recherchez spécifiquement une machine Windows, essayez la commande ci-dessous:

nbtstat -a 10.228.42.57
0
Gyana Ranjan