J'aimerais savoir quelles machines se connectent à mon réseau domestique. Mon idée était d’avoir une base de données MySQL avec une entrée pour chaque machine, avec l’horodatage de la dernière fois que je l’ai vue, et le nombre de fois où je l’ai vue. C'est simple. Ma question est comment puis-je rechercher les MAC? J'ai envisagé quelque chose comme ceci en cours d'exécution toutes les 30 minutes:
#! /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)
... mais pour obtenir le MAC, je dois exécuter ceci en tant que root
.
- Existe-t-il une meilleure façon de le faire? (J'ai également envisagé de récupérer les enregistrements DHCP du routeur, mais aucun périphérique à adresse IP fixe ne serait trouvé)
- Puis-je utiliser un autre outil?
- Existe-t-il une mesure de sécurité que je peux prendre en exécutant un script dans cron en tant que root?