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

31

Existe-t-il un moyen facile 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 HWaddrs'il y a 300 machines sur le réseau, j'ai vraiment besoin d'une solution facile.

Utilisateur enregistré
la source
2
Par souci d'exhaustivité: arp -n 0.0.0.0 Où 0.0.0.0 est l'adresse IP du périphérique. Notez que vous aurez toujours une recherche à la fois. Parfois, vous n'en voulez qu'une seule, et c'est certainement plus rapide que de balayer chaque boîte. Et si c'est une boîte ou une imprimante Windows?
d -_- b
2
sudo arp-scan --localnet
Silver Moon

Réponses:

34

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

Modifier:

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
Iain
la source
oui c'est ce que je cherchais, j'ai lu d'autres messages aussi ce n'est pas un switch Cisco en tout cas merci à tous pour les messages.
Utilisateur enregistré le
1
J'ai constaté que la seule façon d'obtenir les adresses mac à afficher est d'exécuter nmap en tant que root. Il semble également que le sedscript ne fonctionne plus. [Le texte près de l'adresse IP a changé.
monksy
Le rapport d'analyse Nmap pour 192.168.1.147 l'hôte est en hausse (latence de 0,00045 s). Adresse MAC: XX: XX: XX: XX: XX: XX
moine
16

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).
James Little
la source
oui votre méthode est assez simple.
Utilisateur enregistré le
7

Tant que vous exécutez cette commande à partir d'un hôte dans le même segment de réseau, la nmaptotalité de l'adresse MAC de chaque hôte sera détectée.

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 -asi vous ne souhaitez utiliser que 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
Kyle Brandt
la source
7

Essayez cette commande:

arp-scan --interface=eth0 192.168.1.0/24
Dogan YILMAZ
la source
Je sais que c'est une très vieille question. Cependant, nmap ne m'a donné aucune adresse MAC. arp-scan l'a fait. Merci.
MikeP
5

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 disposez de nombreux commutateurs, vous pouvez automatiser cette tâche via l'utilisation de 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'essayer.

jliendo
la source
1

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
Niels
la source
0

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.

Mike
la source
.EXE? La balise dit "Linux-Netowrking"
d -_- b