Protokollierung der MAC-Adresse aller Maschinen in meinem Netzwerk

Protokollierung der MAC-Adresse aller Maschinen in meinem Netzwerk

Ich möchte wissen, welche Maschinen mit meinem Heimnetzwerk verbunden sind. Ich dachte an eine MySQL-Datenbank mit einem Eintrag für jede Maschine, mit dem Zeitstempel, wann ich sie zuletzt gesehen habe, und einer Zählung, wie oft ich sie gesehen habe. Das ist unkompliziert. Meine Frage ist, wie ich nach den MACs suche. Ich habe mir so etwas wie das Folgende überlegt, das alle 30 Minuten ausgeführt wird:

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

... aber um die MAC zu erhalten, muss ich dies als ausführen root.

  • Gibt es eine bessere Möglichkeit, dies zu tun? (Ich habe auch überlegt, ob ich die DHCP-Einträge vom Router abrufen könnte, aber damit würde ich keine Geräte mit fester IP-Adresse finden.)
  • Könnte ich ein anderes Werkzeug verwenden?
  • Gibt es eine Sicherheitsmaßnahme, die ich ergreifen kann, wenn ich als Root ein Skript in Cron ausführe?

Antwort1

Von einer Windows-Befehlszeile aus: Mit arp -a erhalten Sie die IP- und MAC-Adresse aller Systeme, die sich derzeit in Ihrem Netzwerk befinden.

Antwort2

verwandte Informationen