Cómo encontrar las direcciones MAC de todas las máquinas en la red


31

¿Hay alguna manera fácil de encontrar la dirección MAC de todas las máquinas en mi red en lugar de hacer un SSH en cada una y ifconfig | grep HWaddrsi hay 300 máquinas en la red realmente necesito una solución fácil?


2
En aras de la exhaustividad: arp -n 0.0.0.0 Donde 0.0.0.0 es la dirección IP del dispositivo. Tenga en cuenta que todavía tendrá que buscar uno a la vez. A veces solo quieres uno, y esto es ciertamente más rápido que pasar a cada cuadro. ¿Qué pasa si se trata de una caja o impresora de Windows?
d -_- b

2
sudo arp-scan --localnet
Silver Moon

Respuestas:


34

Puede usar nmap para ejecutar un escaneo de 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

Editar:

Una secuencia de comandos sed para filtrar la salida a IP -> MAC - coloca esto en un archivo.

/^Host.*latency.*/{
    $!N
    /MAC Address/{
        s/.*(\(.*\)) .*MAC Address: \(.*\) .*/\1 -> \2/
    }
}  
/[Nn]map/d
s/^Host .*is up/& but MAC Address cannot be found/

y úsalo así

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

sí, esto es lo que estaba buscando, leí otros mensajes y tampoco es un switch de Cisco, gracias a todos por los mensajes.
Usuario registrado

1
He descubierto que la única forma de que aparezcan las direcciones mac es ejecutar nmap como root. También parece que el sedscript ya no funciona. [El texto cerca de la dirección IP ha cambiado.
monksy

Informe de exploración de Nmap para 192.168.1.147 El host está activo (latencia de 0.00045s). Dirección MAC: XX: XX: XX: XX: XX: XX
monksy

16

Usa nmap. Es importante ejecutarlo como root para obtener las direcciones MAC. Ejemplo:

sudo nmap -sP 192.168.1.0/24 

Escaneará 192.168.1.1 - 192.168.1.255. Busque la notación CIDR en wiki si no está familiarizado con esta notación de subred.

Debería poder obtener nmap de los repositorios de cualquier distribución Linux reciente, por ejemplo

sudo apt-get install nmap

o

sudo yum install nmap

Una salida de muestra de mi red:

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

Sí, su método es bastante simple.
Usuario registrado

7

Siempre que ejecute este comando desde un host en el mismo segmento de red, nmapinformará que se descubre toda la dirección MAC de cada host.

Por ejemplo:

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)

Para las direcciones MAC, necesito ser root en mi caja de Ubuntu. Además, un método simple para un único host es simplemente hacer ping y mirar la tabla arp arp -asi solo desea usar los comandos normalmente incluidos en la instalación inicial de una distribución:

arp -a | grep -v incomplete
foo.net (192.168.1.145) at 00:0d:4b:6a:2c:cb [ether] on eth0

7

Prueba este comando:

arp-scan --interface=eth0 192.168.1.0/24

Sé que esta es una pregunta muy vieja. Sin embargo, nmap no me dio ninguna dirección MAC. arp-scan lo hizo. Gracias.
MikeP

5

Dependiendo de su topología LAN, su mejor opción puede ser mostrar la tabla de direcciones MAC en sus conmutadores.

Entonces, por ejemplo, si su infraestructura de conmutador es Cisco, puede probar un

sh mac address-table

en cada interruptor

Si tiene muchos conmutadores, puede automatizar esta tarea mediante el uso de SNMP .

Otra opción y (nuevamente) dependiendo de su topología y su tipo de equipo de red, también puede intentar obtener las direcciones mac de sus dispositivos que muestran la tabla arp en sus enrutadores.

Con cualquiera de estos dos métodos, también obtendrá la lista de direcciones MAC de cualquier dispositivo que esté conectado a la infraestructura de su red: PC, impresoras, puntos de acceso, etc. En el primer caso, incluso de dispositivos sin una dirección IP. Esto puede o no ser lo que quieres, pero vale la pena intentarlo.



1

Como mencionó acerca de ssh en máquinas en su red, también puede usar este shorty:

nmap -p 22 10.100.10.0/24 >/dev/null ; arp -a

0

Puede usar un programa llamado SIW, es gratuito y escanea la red sin requerir permisos ni argumentos.

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

Disponible en .exe o instalación completa.


.¿exe? La etiqueta dice "Linux-Netowrking"
d -_- b
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.