web-dev-qa-db-fra.com

Comment pouvez-vous déterminer le nom d'hôte associé à une adresse IP sur le réseau?

Comment pouvez-vous déterminer le nom d'hôte associé à une adresse IP sur le réseau? (sans configurer de DNS inversé)

C'était quelque chose que je pensais impossible. Cependant, j'utilise Fing sur mon mobile. Il est capable de trouver tous les périphériques de mon réseau (probablement à l'aide d'un arp-scan) et de les répertorier avec un nom d'hôte.

Par exemple, cette application est capable de trouver des périphériques Debian Linux fraîchement installés branchés sur un routeur domestique, sans DNS inverse apparent.

Pour autant que je sache, ni ping , ni découverte de voisin , ni arp incluent un nom d'hôte. Alors, comment peut-il obtenir cela pour un PC Linux fraîchement installé? Quel autre protocole sur une machine Linux donnerait le nom d'hôte configuré de la machine?

11
Philip Couling

La suite de protocoles zeroconf ( Wikipedia ) pourrait fournir ces informations.

Les implémentations les plus connues sont AllJoyn (Windows et autres), Bonjour (Apple), Avahi (UNIX/Linux).

Exemple montrant une liste de tout sur un LAN (dans ce cas pas beaucoup):

avahi-browse --all --terminate
+  ens18 IPv6 Canon MG6650                                  _privet._tcp         local
+  ens18 IPv4 Canon MG6650                                  _privet._tcp         local
+  ens18 IPv6 Canon MG6650                                  Internet Printer     local
+  ens18 IPv4 Canon MG6650                                  Internet Printer     local
+  ens18 IPv6 Canon MG6650                                  UNIX Printer         local
+  ens18 IPv4 Canon MG6650                                  UNIX Printer         local
+  ens18 IPv6 Canon MG6650                                  _scanner._tcp        local
+  ens18 IPv4 Canon MG6650                                  _scanner._tcp        local
+  ens18 IPv6 Canon MG6650                                  _Canon-bjnp1._tcp    local
+  ens18 IPv4 Canon MG6650                                  _Canon-bjnp1._tcp    local
+  ens18 IPv6 Canon MG6650                                  Web Site             local
+  ens18 IPv4 Canon MG6650                                  Web Site             local
+  ens18 IPv6 SERVER                                        _device-info._tcp    local
+  ens18 IPv4 SERVER                                        _device-info._tcp    local
+  ens18 IPv6 SERVER                                        Microsoft Windows Network local
+  ens18 IPv4 SERVER                                        Microsoft Windows Network local

Plus précisément, vous pouvez utiliser avahi-resolve-address pour résoudre une adresse en nom.

Exemple

avahi-resolve-address 192.168.1.254
192.168.1.254 router.roaima...
16
roaima

Sous Linux, vous pouvez utiliser Dig ou Host. Exemple:

Dig -x 192.0.2.1

Host 192.0.2.1

Dans Windows, vous pouvez utiliser ping -a ainsi:

ping -a 192.0.2.1
0
mjoao