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?

usuario registrado
fuente
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
Iain
fuente
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).
James Little
fuente
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
Kyle Brandt
fuente
7

Prueba este comando:

arp-scan --interface=eth0 192.168.1.0/24
Dogan YILMAZ
fuente
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.

jliendo
fuente
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
Niels
fuente
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.

Micro
fuente
.¿exe? La etiqueta dice "Linux-Netowrking"
d -_- b