
Gostaria de saber quais máquinas se conectam à minha rede doméstica. Meu pensamento era ter um banco de dados MySQL com uma entrada para cada máquina, com a data e hora de quando a vi pela última vez e um registro de quantas vezes a vi. Isso é simples. Minha pergunta é como faço para procurar os MACs? Eu considerei algo assim rodando a 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)
... mas para obter o MAC, preciso executar isso como root
.
- Existe um jeito melhor de fazer isso? (Eu considerei também se conseguiria obter os registros DHCP do roteador, mas isso não encontraria nenhum dispositivo de IP fixo)
- Posso usar outra ferramenta?
- Existe alguma medida de segurança que eu possa executar ao executar um script no cron como root?
Responder1
Em uma linha de comando do Windows: arp -a fornecerá o endereço IP e MAC de cada sistema atualmente em sua rede.