Registrar MAC de todas las máquinas en mi red

Registrar MAC de todas las máquinas en mi red

Me gustaría saber qué máquinas se conectan a mi red doméstica. Mi idea era tener una base de datos MySQL con una entrada para cada máquina, con la marca de tiempo de la última vez que la vi y un recuento de cuántas veces la vi. Eso es sencillo. Mi pregunta es ¿cómo busco las MAC? He considerado algo como esto ejecutándose cada 30 minutos:

    #! /usr/bin/python
    
    import nmap
    
    nm = nmap.PortScanner()
    
    nm.scan(hosts='10.10.10.0/24', arguments='-n -sP -PE)
    hosts_list = [(x, nm[x]['status']['state']) for x in nm.all_hosts()]
    for host, status, mac in hosts_list:
         save(host,status,mac)

... pero para obtener la MAC, necesito ejecutar esto como root.

  • ¿Existe una mejor manera de hacer esto? (También he considerado si podría obtener los registros DHCP del enrutador, pero eso no encontraría ningún dispositivo con IP fija)
  • ¿Puedo usar otra herramienta?
  • ¿Existe alguna medida de seguridad que pueda tomar al ejecutar un script en cron como root?

Respuesta1

Desde una línea de comando de Windows: arp -a le dará la dirección IP y MAC de cada sistema actualmente en su red.

Respuesta2

información relacionada