Protokollierung der MAC aller Maschinen in meinem Netzwerk

752
Jonas Stumph Stevnsvig

Ich würde gerne wissen, welche Maschinen mit meinem Heimnetzwerk verbunden sind. Mein Gedanke war, eine MySQL-Datenbank mit einem Eintrag für jede Maschine zu haben, mit dem Zeitstempel, wann ich sie zuletzt gesehen habe, und einer Übersicht, wie oft ich sie gesehen habe. Das ist einfach. Meine Frage ist, wie ich nach den MACs scanne? Ich habe überlegt, dass so etwas alle 30 Minuten läuft:

#! /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 den MAC zu bekommen, muss ich das als ausführen root.

  • Gibt es einen besseren Weg, dies zu tun? (Ich habe mir auch überlegt, ob ich die DHCP-Records vom Router bekommen könnte, aber das würde keine Fixed-IP-Geräte finden)
  • Könnte ich ein anderes Werkzeug verwenden?
  • Gibt es eine Sicherheitsmaßnahme, die ich als root in cron ausführen kann?
0
Verwenden Sie [arpwatch] (https://ee.lbl.gov/). Ipor Sircer vor 5 Jahren 3
arpwatch sieht nach der richtigen Lösung aus. @IporSircer postest du eine Antwort, damit ich sie annehmen kann? Jonas Stumph Stevnsvig vor 5 Jahren 0

2 Antworten auf die Frage

1
James Deal

Von einer Windows-Befehlszeile aus: arp -a gibt Ihnen die IP- und MAC-Adresse jedes Systems in Ihrem Netzwerk.

ARP-Tabelleneinträge haben eine Zeitüberschreitung. Ron Maupin vor 5 Jahren 0
Deshalb überprüfen Sie sie häufig und am Router (nicht irgendein PC). Es ist immer noch zuverlässiger als Ping-Scans. (Obwohl es am zuverlässigsten wäre, die ARP-Nachrichten direkt zu protokollieren.) grawity vor 5 Jahren 0
-3
Mick
Ich bin nicht gerade hinter der Liste. Mein Code läuft nmap über einen API / Wrapper. Jonas Stumph Stevnsvig vor 5 Jahren 0