Регистрация MAC-адресов всех машин в моей сети

Регистрация MAC-адресов всех машин в моей сети

Я хотел бы знать, какие машины подключаются к моей домашней сети. Я думал о том, чтобы иметь базу данных MySQL с записью для каждой машины, с отметкой времени, когда я видел ее в последний раз, и подсчетом того, сколько раз я ее видел. Это просто. Мой вопрос в том, как мне сканировать MAC-адреса? Я рассматривал что-то вроде этого, запускаемого каждые 30 минут:

    #! /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)

... но чтобы получить MAC, мне нужно запустить это как root.

  • Есть ли лучший способ сделать это? (Я также рассматривал возможность получения записей DHCP с маршрутизатора, но это не позволило бы найти никаких устройств с фиксированным IP-адресом)
  • Могу ли я использовать другой инструмент?
  • Есть ли какие-либо меры безопасности, которые я могу предпринять, запуская скрипт в cron от имени пользователя root?

решение1

Из командной строки Windows: arp -a выдаст вам IP- и MAC-адреса всех систем, которые в данный момент находятся в вашей сети.

решение2

Связанный контент