Retrouver une machine du réseau sans connaitre son IP ni son nom d’hôte

Si vous cherchez à vous connecter à une machine de votre réseau local, mais que vous ne vous rappelez plus de son nom d’hôte et encore moins de son adresse IP, mais que vous avez un peu la flemme de vous connecter à l’interface d’administration de votre routeur, alors la commande suivante est faite pour vous :

nmap -sP 192.168.1.1-255

Cette commande va simplement scanner toute la plage réseau (ici de 192.168.1.1 à 192.168.1.255), et vous donner la liste des adresses qui répondent au ping, ainsi que les noms d’hôte correspondants. Bien entendu, cette commande ne vous sauvera que si le nombre de machines connectées reste suffisamment faible.

C’est ici une utilisation détournée du désormais célèbre nmap que nous faisons, puisque cette commande sert normalement à détecter les ports ouverts sur une machine, ainsi que les services associés. Exemple si je fais un nmap sur mon NAS :

dorian@fixe-dorian:~$ nmap diskstation
 
Starting Nmap 6.40 ( http://nmap.org ) at 2015-06-10 22:27 CEST
Nmap scan report for diskstation (192.168.1.48)
Host is up (0.63s latency).
rDNS record for 192.168.1.48: DiskStation
Not shown: 991 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
111/tcp   open  rpcbind
161/tcp   open  snmp
515/tcp   open  printer
2049/tcp  open  nfs
5000/tcp  open  upnp
50001/tcp open  unknown
50002/tcp open  iiimsf
 
Nmap done: 1 IP address (1 host up) scanned in 1.25 seconds

Et quitte à tout savoir sur votre cible, il est même possible d’évaluer l’OS de la machine cible (requiert d’être root) :

dorian@fixe-dorian:~$ sudo nmap -O --osscan-guess diskstation
Starting Nmap 6.40 ( http://nmap.org ) at 2015-06-10 22:38 CEST
Nmap scan report for diskstation (192.168.1.48)
Host is up (0.00032s latency).
rDNS record for 192.168.1.48: DiskStation
Not shown: 991 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
161/tcp open snmp
515/tcp open printer
2049/tcp open nfs
5000/tcp open upnp
50001/tcp open unknown
50002/tcp open iiimsf
MAC Address: 00:11:32:3C:2A:D2 (Synology Incorporated)
Device type: general purpose
Running: Linux 2.6.X|3.X
OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3
OS details: Linux 2.6.32 - 3.9
Network Distance: 1 hop
 
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.38 seconds

Attention, cette méthode (basée sur la façon dont sont forgés les paquets) ne fonctionne pas à 100 %. En l’occurrence, elle semble ne pas fonctionner avec des cibles sous Android.

Pour aller plus loin

Si ce très bref aperçu de la puissance (et donc dangerosité) d’une telle commande vous a mis l’eau à la bouche, je vous invite à consulter son manuel (man nmap) ou le site du projet.