Puedes usar dos comandos: ping
y arp
para obtener la información que necesitas.
ping
le permite transmitir a su red y cualquier dispositivo que en la red responderá.
Supongamos que su red es 192.168.1.0. Transmita su ping usando la dirección de transmisión 192.168.1.255
$ ping 192.168.1.255
Esto continuará para siempre, así que Control C o use la opción -t
para establecer un tiempo de espera. Por ejemplo, durante 20 segundos de pining ...
$ ping -t 20 192.168.1.255
Obtendrás un montón de respuestas; algunos de los cuales serán duplicados. Esto continuará durante 20 segundos y luego se detendrá.
A continuación, arp
para encontrar los nombres:
$ arp -a
allans-imac.home (192.168.1.12) at a8:20:66:40:5b:10 on en0 ifscope permanent [ethernet]
grace-pc.home (192.168.1.18) at 0:34:f6:5:f7:29 on en0 ifscope [ethernet]
grace-iphone.home (192.168.1.150) at b8:63:3a:14:3e:f7 on en0 ifscope [ethernet]
nas.home (192.168.1.23) at 0:12:43:20:aa:3d on en0 ifscope [ethernet]
Eso es una muestra truncada de la salida de mi red (nombres, MAC e IP aleatorizados para seguridad). Como puede ver, incluye los nombres de host y los MAC de los dispositivos que tengo en mi red.
Los dispositivos para dormir (como mi impresora HP y mi MacBook Pro) no respondieron y no están en la tabla de arp. Por otra parte, tampoco aparecen en el Finder.
Con la aplicación de grep
y awk
, deberías poder extraer lo que necesites.