1 Pluspunkt 0 Minuspunkte
Wie kann ich die Mac Adresse einer IP in meinem lokalen Netzwerk herausfinden und überwachen ob sie sich verändert?
von  

1 Antwort

2 Pluspunkte 0 Minuspunkte

Mit dem Befehl

arp -a

werden dir alle bekannten(!) IP Adressen und ihre Mac Adressen angezeigt. Wenn eine bestimmte IP Adresse fehlt und du weißt sie müsste da sein dann ping sie und der Eintrag sollte in der ARP Tabelle sein. Hier ist ein Script in Python, mit dem du die Mac Adresse monitoren kannst.

import os
import time
import re

def get_mac(ip_address):
    # Führt 'arp -a' aus und sucht die MAC-Adresse für die angegebene IP
    try:
        result = os.popen(f"arp -a {ip_address}").read()
        # Regex, um eine typische MAC-Adresse zu finden
        mac_match = re.search(r"(([a-fA-F0-9]{2}[:-]){5}[a-fA-F0-9]{2})", result)
        if mac_match:
            return mac_match.group(0)
        else:
            return None
    except Exception as e:
        print(f"Fehler bei der Ermittlung der MAC-Adresse: {e}")
        return None

def monitor_mac(ip_address, interval=60):
    print(f"Überwachung der MAC-Adresse für {ip_address} gestartet...")
    last_mac = get_mac(ip_address)
    if not last_mac:
        print(f"Keine MAC-Adresse für {ip_address} gefunden.")
        return
    print(f"Initiale MAC-Adresse: {last_mac}")
    while True:
        time.sleep(interval)
        current_mac = get_mac(ip_address)
        if current_mac != last_mac:
            print(f"MAC-Adresse geändert! Neu: {current_mac}, Alt: {last_mac}")
            last_mac = current_mac
        else:
            print(f"MAC-Adresse unverändert: {current_mac}")

# Beispiel: Überwache die IP 192.168.43.1 alle 60 Sekunden
monitor_mac("192.168.43.1")
von (884 Punkte)