web-dev-qa-db-fra.com

comment trouver les adresses mac de toutes les machines du réseau

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.

31
Registered User

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
34
user9517

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).
16
James Little

Essayez cette commande:

arp-scan --interface=eth0 192.168.1.0/24
8
Dogan YILMAZ

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
7
Kyle Brandt

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

5
jliendo

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
1
Niels

Peut-être que l'arp-scan est également une option:

Voir un exemple ici: Guide de l'utilisateur Arp-scan

1
Guido van Brakel

Vous pouvez utiliser un programme appelé SIW, il est gratuit et analyse le réseau sans autorisation ni argument.

URL: http://www.gtopala.com/

Disponible en .exe ou installation complète.

0
Mike