Existe-t-il un moyen simple de trouver l'adresse mac de toutes les machines de mon réseau plutôt que de faire un SSH dans chacune et ifconfig | grep HWaddr
s'il y a 300 machines sur le réseau, j'ai vraiment besoin d'une solution simple.
Vous pouvez utiliser nmap pour exécuter une analyse ping.
nmap -sP 192.168.254.*
Starting Nmap 5.00 ( http://nmap.org ) at 2011-03-09 11:32 GMT
Host xyzzy.lan (192.168.254.189) is up (0.00022s latency).
MAC Address: 00:0C:29:5B:A5:E0 (VMware)
Host plugh.lan (192.168.254.196) is up (0.00014s latency).
MAC Address: 00:0C:29:2E:78:F1 (VMware)
Host foo.lan (192.168.254.200) is up.
Host bar.lan (192.168.254.207) is up (0.00013s latency).
MAC Address: 00:0C:29:2D:94:A0 (VMware)
Nmap done: 256 IP addresses (4 hosts up) scanned in 3.41 seconds
Éditer:
Un script sed pour filtrer la sortie sur IP -> MAC - mettez cela dans un fichier.
/^Host.*latency.*/{
$!N
/MAC Address/{
s/.*(\(.*\)) .*MAC Address: \(.*\) .*/\1 -> \2/
}
}
/[Nn]map/d
s/^Host .*is up/& but MAC Address cannot be found/
et l'utiliser comme ça
nmap -sP 192.168.254.0/20 | sed -f sedscript
192.168.254.189 -> 00:0C:29:5B:A5:E0
192.168.254.196 -> 00:0C:29:2E:78:F1
Host foo.lan (192.168.254.200) is up but MAC Address cannot be found.
192.168.254.207 -> 00:0C:29:2D:94:A0
Utilisez nmap. Important de l'exécuter en tant que root pour obtenir les adresses MAC. Exemple:
Sudo nmap -sP 192.168.1.0/24
Analysera 192.168.1.1 - 192.168.1.255. Recherchez la notation CIDR sur wiki si vous n'êtes pas familier avec cette notation de sous-réseau.
Vous devriez pouvoir obtenir nmap à partir des dépôts de n'importe quelle distribution Linux récente, par exemple.
Sudo apt-get install nmap
ou
Sudo yum install nmap
Un exemple de sortie de mon réseau:
Host 192.168.1.1 is up (0.0069s latency).
MAC Address: 00:0D:54:9B:D8:F4 (3Com)
Host 192.168.1.78 is up (0.0068s latency).
MAC Address: 00:0C:29:BC:3D:1C (VMware)
Host 192.168.1.91 is up (0.0038s latency).
MAC Address: 00:0C:29:8A:F4:A3 (VMware)
Host 192.168.1.92 is up (0.0039s latency).
MAC Address: 00:0C:29:65:60:5F (VMware)
Host 192.168.1.158 is up (0.033s latency).
MAC Address: 00:0C:29:82:24:EA (VMware)
Host 192.168.1.186 is up (0.0024s latency).
MAC Address: 00:0C:29:3E:26:1F (VMware)
Host 192.168.1.190 is up (0.0066s latency).
Essayez cette commande:
arp-scan --interface=eth0 192.168.1.0/24
Tant que vous exécutez cette commande à partir d'un hôte dans le même segment de réseau, nmap
signalera toutes les adresses MAC de chaque hôte découvert.
Par exemple:
Sudo nmap 192.168.1.0/24 -sP
Starting Nmap 4.76 ( http://nmap.org ) at 2011-03-09 06:29 EST
Host old.net (192.168.1.1) appears to be up.
MAC Address: 00:18:39:C5:A1:DC (Cisco-Linksys)
Pour les adresses MAC, je dois être root sur ma boîte Ubuntu. De plus, une méthode simple pour un seul hôte consiste simplement à le cingler et à regarder la table arp avec arp -a
si vous souhaitez utiliser uniquement les commandes normalement incluses dans l'installation initiale d'une distribution:
arp -a | grep -v incomplete
foo.net (192.168.1.145) at 00:0d:4b:6a:2c:cb [ether] on eth0
En fonction de votre topologie LAN, votre meilleure solution peut être d'afficher la table d'adresses MAC sur vos commutateurs.
Ainsi, par exemple, si votre infrastructure de commutation est Cisco, vous pouvez essayer un
sh mac address-table
sur chaque interrupteur.
Si vous avez de nombreux commutateurs, vous pouvez automatiser cette tâche en utilisant SNMP .
Une autre option et (encore) en fonction de votre topologie et de votre type d'équipement réseau, vous pouvez également essayer d'obtenir les adresses mac de vos appareils en affichant la table arp sur vos routeurs.
Avec l'une ou l'autre de ces deux méthodes, vous obtiendrez également la liste des adresses MAC de tous les appareils connectés à votre infrastructure réseau: PC, imprimantes, points d'accès, etc. Dans le premier cas, même des appareils sans adresse IP. Cela peut ou non être ce que vous voulez, mais cela peut valoir la peine d'être essayé.
Puisque vous avez mentionné ssh dans les machines de votre réseau, vous pouvez également utiliser ce raccourci:
nmap -p 22 10.100.10.0/24 >/dev/null ; arp -a
Peut-être que l'arp-scan est également une option:
Voir un exemple ici: Guide de l'utilisateur Arp-scan
Vous pouvez utiliser un programme appelé SIW, il est gratuit et analyse le réseau sans autorisation ni argument.
Disponible en .exe ou installation complète.