Регистрация 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?
2 ответа
Из командной строки Windows: arp -a предоставит вам IP-адрес и MAC-адрес каждой системы в вашей сети.
Пожалуйста, попробуйте проверить следующие темы, https://askubuntu.com/questions/406792/list-all-mac-addresses-and-their-associated-ip-addresses-in-my-local-network-la https://www.itprotoday.com/cloud-computing/how-can-i-get-list-mac-ip-addresses-network