Lorsque j'ai besoin de localiser les adresses IP des appareils par leur adresse mac sur un système Windows, j'utilise normalement Advanced IP Scanner (de radmin.com) pour analyser le réseau, puis j'utilise arp -a pour répertorier les adresses mac.
Est-il possible d'utiliser nmap pour effectuer la même fonction sous Linux et éventuellement sous Windows? Peut nmap à l'analyse et produire des adresses IP et MAC?
J'ai essayé arp -a sous Linux mais il ne semble pas fonctionner aussi rapidement que sous Windows ou semble nécessiter une entrée d'utilisation.
/ vfclists
Vous pouvez utiliser les analyses Ping, qui commencent par le drapeau P. Cependant, j'utilise personnellement -sL pour ce travail.
En utilisant nmap, beaucoup d'informations peuvent être trouvées.
nmap -A -v -v 192.168.1.0/24
donne beaucoup d'informations, même SO dans certains cas
nmap -sn 192.168.1.0/24
donne les adresses MAC et IP. Très utile aussi
Sudo nmap -PU 192.168.1.0/24
explique chaque adresse IP
La commande suivante avec nmap avec root privilèges (ou en utilisant Sudo):
Sudo nmap -sP 172.31.201.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print " => "$3;}' | sort
résulte en:
172.31.201.80 => 00:50:56:AF:56:FB
172.31.201.97 => 00:26:73:78:51:42
server1.company.internal.local => 3C:D9:2B:70:BC:99
...
Cette commande scanne toutes les adresses IP dans une plage et affiche l'adresse MAC de chaque adresse IP. Il le fait dans un format greppable, ou en d'autres termes; affiche l'adresse IP et MAC sur une seule ligne. C'est pratique si vous souhaitez exporter vers Excel ou exécuter un grep dessus.
nmap -n -sP 10.0.3.0/24 | awk '/Nmap scan report/{printf $5;printf " ";getline;getline;print $3;}'
Il semble également fonctionner pour les IP/MAC qui ne sont pas déjà dans la table ARP des hôtes. C'est une bonne chose.
La commande se traduit par:
10.0.3.100 B8:27:EB:8E:C5:51
10.0.3.101 00:26:B6:E1:4B:EB
10.0.3.112 00:01:29:02:55:25
etc..
Ajout à la réponse d'Antonio-Saco. Je voulais également répertorier le fournisseur à la sortie. Pour ce faire, vous souhaitez imprimer le 3e index (adresse MAC) à la fin de la ligne.
Sudo nmap -sn 10.10.10.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print " => "substr($0, index($0,$3)) }' | sort
Résulte en:
10.10.10.24 => B0:5A:DA:EB:2A:C4 (Hewlett Packard)