32 votos

cómo averiguar las direcciones mac de todas las máquinas de la red

¿Hay alguna manera fácil de averiguar la dirección mac de todas las máquinas en mi red en lugar de hacer un SSH en cada uno y ifconfig | grep HWaddr si hay 300 máquinas en la red realmente necesito alguna solución fácil.

2 votos

Para completar: 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 sólo quieres uno, y esto es ciertamente más rápido que sshing a cada caja. ¿Qué pasa si es una caja de Windows o una impresora?

2 votos

sudo arp-scan --localnet

35voto

katit Puntos 130

Puede utilizar 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:

Un sed script para filtrar la salida a IP -> MAC - ponlo 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 utilizarlo 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

0 votos

sí esto es lo que estaba buscando, he leído otros mensajes también no es un interruptor de Cisco cualquier forma gracias a todos por los mensajes.

1 votos

He descubierto que la única forma de conseguir 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.

0 votos

El informe de escaneo de Nmap para el host 192.168.1.147 está activo (latencia de 0,00045s). Dirección MAC: XX:XX:XX:XX:XX:XX

16voto

James Little Puntos 959

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. Busca la notación CIDR en la wiki si no estás familiarizado con esta notación de subred.

Debería poder obtener nmap de los repositorios de cualquier distro Linux reciente, por ejemplo

sudo apt-get install nmap

o

sudo yum install nmap

Una muestra de la salida 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).

0 votos

Sí, tu método es bastante sencillo.

10voto

Dogan YILMAZ Puntos 41

Prueba este comando:

arp-scan --interface=eth0 192.168.1.0/24

0 votos

Sé que esta es una pregunta muy antigua. Sin embargo, nmap no me dio ninguna dirección MAC. arp-scan sí. Gracias.

0 votos

@MikeP En mi caso, nmap sólo me dio direcciones MAC, mientras que arp-scan me dio tanto las direcciones MAC como las direcciones IP.

7voto

Kyle Brandt Puntos 50907

Siempre que se ejecute este comando desde un host en el mismo segmento de red, nmap informará de todas las direcciones MAC de cada host se descubre.

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. También un método simple para un solo host es sólo para hacer ping y mirar la tabla arp con arp -a si quieres usar sólo los comandos que normalmente se incluyen 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

5voto

jliendo Puntos 1283

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

Así, por ejemplo, si su infraestructura de switches 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 (de nuevo) dependiendo de tu topología y tu tipo de equipo de red, también puedes intentar obtener las direcciones mac de tus dispositivos mostrando la tabla arp de tus routers.

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

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: