Journalisation MAC de toutes les machines de mon réseau


0

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?

3
Utilisez arpwatch .
Ipor Sircer

arpwatch semble être la solution adéquate. @IporSircer allez-vous poster une réponse pour que je puisse l'accepter?
Jonas Stumph Stevnsvig

Réponses:


1

A partir d'une ligne de commande Windows: arp -a vous donnera les adresses IP et MAC de tous les systèmes actuellement sur votre réseau.


Les entrées de la table ARP expirent.
Ron Maupin

C'est pourquoi vous les vérifiez souvent, puis sur le routeur (pas avec un PC aléatoire). C'est encore plus fiable que les scans de ping. (Bien qu'il serait plus fiable d'enregistrer directement les messages ARP eux-mêmes.)
grawity

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.