¿Cómo descubro la dirección MAC de las máquinas en una red?
Necesito descubrir las máquinas que están disponibles solo con BIOS instalado (sin sistema operativo).
Y necesito encontrar la dirección MAC de las máquinas que están funcionando.
networking
tcp
bios
mac-address
Peter Mortensen
fuente
fuente
Respuestas:
Tendrá que acceder a la información disponible en sus conmutadores administrados. Si tiene una red no administrada, no veo una manera de hacerlo.
Esto supone que las computadoras de destino son capaces de Wake-on-LAN (WoL). En este caso, se establece un enlace al servidor (busque el LED de enlace llamativo) y la tarjeta de red está escuchando transmisiones de WoL. AFAIK, la tarjeta no responde a nada en este estado. Si no hay ningún WoL, la tarjeta probablemente esté apagada (sin LED de enlace) y no funcionará en absoluto.
fuente
Si las máquinas no están encendidas, esto es imposible.
Si están encendidos, supongo que esto también es imposible, ya que necesita una pila de red mínima para al menos responder cosas como consultas ARP, etc., que no funciona sin un sistema operativo instalado.
Lo que podría funcionar (no lo sé y no puedo probar en este momento) es que la NIC y el conmutador se comunican cuando la NIC está enchufada o encendida y el conmutador aprende la dirección MAC de esta manera. Si este es el caso, necesitaría un conmutador manejable y consultarlo para obtener direcciones MAC conectadas.
fuente
Puede usar Nmap para hacer un escaneo ARP muy rápido utilizando la siguiente sintaxis.
Esto utiliza ping ARP (solo solicitudes ARP, sin ICMP, UDP o TCP, sin escaneo de puertos) para escanear el rango de direcciones IP especificado y registrar las respuestas de dirección IP / dirección MAC / nombre de host en un archivo XML (nmap.xml).
Escribí un script de PowerShell que modifica el archivo XML y escupe un archivo CSV . Esto también filtra los hosts inactivos. Encuentro esto más fácil de usar en Excel que el archivo XML. Aquí está el guión si alguien está interesado.
fuente
Scantype n not supported
. Aparentemente, la bandera-sn
no es compatible con Nmap 4.x.(En el interruptor de Cisco el comando es
show mac-address-table
).fuente
Desde una máquina Unix, escuchando las computadoras sin SO en la misma LAN, y si es posible a través de un Hub (no un Switch), puede intentar
También es posible que desee probar
wireshark
(desde una máquina con sistema operativo). Nuevamente, es mejor usar un Hub para capturar cualquier comunicación de las máquinas BIOS, incluidas las transmisiones.fuente
El problema básico aquí es que esta es información de Capa 2, por lo que solo los conmutadores la ven. Algunos conmutadores proporcionarán una interfaz que le permite echar un vistazo a esta información, pero si no lo hacen, la única forma de obtenerla es interceptar en la capa física, por ejemplo, instalando un concentrador entre el conmutador.
Si usa conmutadores administrados, es probable que esta información esté disponible en el conmutador. Algunos enrutadores / conmutadores integrados por el usuario final (como los que a menudo también incluyen módems ADSL) a veces tienen una lista de clientes DHCP que incluye direcciones MAC.
Si está utilizando conmutadores no administrados y realmente desea conocer esta información, le recomiendo que compre un concentrador y reemplace temporalmente el conmutador con él. Luego, puede conectar una computadora que ejecute wireshark al concentrador y capturar paquetes ARP para registrar direcciones MAC. Alternativamente, puede usar Echolot para hacer esto por usted: rastrea selectivamente los paquetes ARP y crea una base de datos de direcciones MAC.
fuente
Aquí hay una solución que funcionó para mí:
fuente
Un pequeño truco muy fácil que puedes hacer en 2 segundos es trabajar con el hecho de que cualquier sistema operativo escribe una tabla con la dirección MAC e IP de cualquier dispositivo con el que interactúa. Esto se conoce como ARP TABLE. ¿Entonces la pregunta es cómo forzar una interacción con todos los dispositivos? Simplemente puede hacer ping a la dirección IP de transmisión. Esto no es perfecto, ya que algunos dispositivos o firewall pueden bloquear la solicitud de ping ICMP, pero funciona en muchos escenarios.
Los comandos son (en una dirección de difusión ipv4 192.168.0.255):
En uso de Linux:
Espere unos segundos para que los dispositivos respondan, luego haga lo siguiente:
Para ping IPV6 ver el comentario de Giedrius Rekasius
No es perfecto, pero sin herramientas, sin investigación, sin pérdida de tiempo, funciona en todos los principales sistemas operativos y es rápido.
fuente
ping6 -c2 -n ff02::1%wlan0
. Solo es necesario actualizar el nombre de la interfaz de red que se utilizará, la dirección IP que se utilizará para ese propósito siempre esff02::1
independiente de la red en la que se encuentre.Escanee la red con Nmap y luego verifique la tabla ARP (
arp -a
en distribuciones de Linux).fuente
Como han dicho otros, si tiene conmutadores no administrados o BootP / PXE, no hay una manera fácil de obtener los MAC de las máquinas sin sistema operativo.
Si sus máquinas en ejecución ejecutan Windows, es fácil realizar un script (generalmente a través de WMI)
Aquí hay un montón de ejemplos: http://gallery.technet.microsoft.com/ScriptCenter/en-us/site/search?f[0font>.Type=SearchText&f[0font>.Value=MAC+address&x=0&y= 0 0
fuente
Iba a sugerir cambiar la tabla de direcciones MAC, pero alguien ya ha cubierto esa de arriba.
Si alguna de las computadoras son ejecutando un sistema operativo y tiene una dirección IP, puede conectarse a la misma LAN, puede usar NMAP (o una versión GUI como Zenmap) desde http://nmap.org/ ... si ejecuta esto en la misma LAN, debe obtener información de la dirección MAC de cualquier máquina que responda.
Sería útil comprender más acerca de por qué necesita obtener las direcciones MAC, en caso de que haya una mejor manera de lograr el mismo resultado.
fuente
Puede recopilar información ARP con, por ejemplo, un arpalert que se ejecuta continuamente. Con eso, tendrá el conjunto de direcciones ARP vistas después del inicio.
Las máquinas apagadas no le enviarán respuestas ARP.
Para acelerar el proceso, puede usar un escaneo de ping nmap (nmap -sP) en su red desde el servidor en el que está ejecutando arpalert, para activar todos los hosts posibles (en vivo y en ejecución) para responder su consulta arp. Con la ejecución de escaneo de ping de nmap regularmente más tarde, tiene más posibilidades de atrapar a un host de corta vida.
fragmento de arpalert:
fragmento de nmap:
Mira por aquí:
fuente
Yo uso: nmap -sP 192.168.1.1/24
(reemplace 192.168.1.1/24 con su rango de IP)
Le mostrará solo las máquinas que están funcionando y le dará algo como:
Si no tiene un sistema operativo instalado, puede usar un Live CD de Linux, probablemente nmap esté disponible en la mayoría de ellos
fuente