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?
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...
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