Es posible que tengas mejor suerte usando la herramienta arping
. La herramienta ping
funciona en el nivel de capa 3 del modelo OSI , mientras que arping
funciona en la capa 2.
Sin embargo, aún necesita conocer la IP del sistema con esta herramienta. Hay 2 versiones, la estándar que se incluye con la mayoría de los Unixes (Alexey Kuznetsov) es la versión que solo puede manejar direcciones IP. La otra versión (Thomas Habets) supuestamente puede consultar utilizando direcciones MAC.
$ sudo arping 192.168.1.1 -c 1
ARPING 192.168.1.1 from 192.168.1.218 eth0
Unicast reply from 192.168.1.1 [00:90:7F:85:BE:9A] 1.216ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
arping
funciona de manera similar, ping
excepto que en lugar de enviar paquetes ICMP, envía paquetes ARP.
Obtener la IP de un sistema usando solo el MAC
Aquí hay un par de métodos para realizar la búsqueda inversa de MAC a IP.
nmap
$ nmap -sP 192.168.1.0/24
Luego busque en su caché de arp la máquina correspondiente arp -an
.
fping
$ fping -a -g 192.168.1.0/24 -c 1
Luego mira en tu caché de arp, igual que arriba.
silbido
$ ping -b -c1 192.168.1.255
Luego mira en tu caché de arp, igual que arriba.
nbtscan (solo hosts de windows)
$ nbtscan 192.168.1.0/24
Doing NBT name scan for addresses from 192.168.1.0/24
IP address NetBIOS Name Server User MAC address
------------------------------------------------------------------------------
192.168.1.0 Sendto failed: Permission denied
192.168.1.4 MACH1 <server> <unknown> 00-0b-12-60-21-dd
192.168.1.5 MACH2 <server> <unknown> 00-1b-a0-3d-e7-be
192.168.1.6 MACH3 <server> <unknown> 00-21-9b-12-b6-a7
arping
puede tomar una dirección MAC como parámetro:arping -c 5 38:e7:d8:63:5e:a6
arping
a una dirección MAC: Sí, hay dos implementaciones de arping 1. desde Linux iputils 2. arping por Thomas Habets . --- Solo la implementación 2. puede hacer ping a una dirección MAC, pero dicho ping es muy complicado: la máquina pinchada todavía tiene que tener configurado TCP / IP (al menos una dirección IP) y debe poder responder a un ping para Una dirección IP de difusión.No puede hacer ping a una NIC normal porque la NIC sola no envía ninguna respuesta.
Solo una computadora en funcionamiento puede enviar respuestas
Las tarjetas de interfaz de red normales no envían respuestas por sí mismas. Siempre necesitan un software en ejecución en la computadora para hacerlo.
Cuando la CPU de la computadora se apaga, no hay ningún software en ejecución que envíe una respuesta a un ping.
Wake-on-LAN es unidireccional
Activación de la LAN permite que la computadora permita que solo la NIC se encienda parcialmente para recibir tramas de Ethernet y busque la secuencia mágica de activación en ellas, pero la NIC aún no enviará ninguna respuesta. Wake-on-LAN es estrictamente unidireccional. No hay respuestas enviadas.
Excepciones
Hay ciertas NIC especiales que podrían enviar respuestas por sí mismas, como por ejemplo las que implementan una descarga completa de protocolo de enlace TCP .
fuente
El
ether-wake
comando funcionará por dirección mac, por lo que seguramente (a) no necesitará una dirección IP y (b) podrá enviar el comando sin daños (si ya está despierto, ¿despertar no tendrá ningún impacto?)Puede ver la lista de su caché de arp existente utilizando
arp -an
y grepping para que su MAC obtenga la IP del host de destino. Sin embargo, debido a que arp es un caché, es posible que se haya "agotado el tiempo de espera" del caché (y aún así esté "despierto"). Puede que tenga que usar un método de fuerza bruta para encontrar su IP, como:(y luego busque 00: 0c: 0d: ef: 02: 03) - ¡los firewalls proporcionados y otras cosas similares no se interponen en el camino!
fuente
ether-wake
no llegue a él). De hecho, obtendría acceso a otro host en el sitio, pondría la máquina de destino en reposo e intentaríaether-wake
. Por la naturaleza de cómo funciona WOL, la solicitud deberá enviarse a la misma subred que el host de todos modosMi aplicación era un servidor RSYNCing en una estación de trabajo para obtener el directorio de documentos de la estación de trabajo ... pero la estación de trabajo no tenía una dirección IP garantizada pero tenía una dirección MAC conocida (la dirección IP fue realizada por DHCP). este código usa ping SOLAMENTE.
fuente
Aquí hay un script simple para hacer ping a través de la dirección mac. Simplemente guarde y ejecute, por ejemplo
macping aa:bb:cc:dd:ee:ff
También puede conectar en cadena el resultado para hacer otras cosas condicionalmente, por ejemplo:
-
fuente
Esto no se basa en versiones diferentes de arping ni en scripts de bash complejos:
He usado arp-scan en lugar de arp, ya que parece correr mucho más rápido.
fuente