Skip to main content

3.5 ARP und IPv6 Neighbor Discovery analysieren

Damit ein Endgerät ein IP-Paket innerhalb eines lokalen Ethernetnetzes übertragen kann, benötigt es die zugehörige MAC-Adresse des nächsten direkten Kommunikationspartners.

Bei IPv4 übernimmt diese Zuordnung das Address Resolution Protocol, kurz ARP. IPv6 verwendet dafür Neighbor Discovery, kurz NDP beziehungsweise ND, auf Basis von ICMPv6.

Grundregel: Für ein Ziel im lokalen Subnetz wird die MAC-Adresse des Zielsystems benötigt. Für ein Ziel in einem entfernten Subnetz wird normalerweise die MAC-Adresse des nächsten Routers benötigt – nicht die MAC-Adresse des entfernten Zielsystems.


1. Welche Aufgabe erfüllt ARP?

ARP ordnet eine lokale IPv4-Adresse einer MAC-Adresse zu.

Beispiel im selben Subnetz

CLIENT-023
IPv4: 192.0.2.23/24
MAC:  00-11-22-33-44-55

SERVER-01
IPv4: 192.0.2.80/24
MAC:  AA-BB-CC-DD-EE-FF

Der Client kennt zunächst nur die IPv4-Adresse des Servers und sendet eine ARP-Anfrage:

Wer hat 192.0.2.80?
Antwort bitte an 192.0.2.23.

Die Anfrage wird als Ethernet-Broadcast gesendet:

FF:FF:FF:FF:FF:FF

Der Server antwortet normalerweise per Unicast:

192.0.2.80 befindet sich unter AA:BB:CC:DD:EE:FF.

Der Client kann die Zuordnung anschließend vorübergehend in seiner Nachbartabelle speichern.

2. Welche MAC-Adresse wird bei einem entfernten IPv4-Ziel aufgelöst?

Ausgangslage

Client:  192.0.2.23/24
Gateway: 192.0.2.1
Ziel:    198.51.100.20

Das Ziel liegt nicht im lokalen Subnetz 192.0.2.0/24.

Der Client ermittelt daher normalerweise nicht die MAC-Adresse von 198.51.100.20, sondern die MAC-Adresse des nächsten Routers:

ARP-Anfrage:
Wer hat 192.0.2.1?

Anschließend entsteht vereinfacht folgender Frame:

Ethernet-Ziel-MAC: MAC-Adresse des Gateways
IP-Zieladresse:    198.51.100.20
EbeneZiel
Ethernetnächster Router
IPv4entferntes Zielsystem

Die Ethernetadressen können sich an jedem gerouteten Abschnitt ändern. Die IP-Zieladresse bleibt ohne NAT normalerweise bis zum Ziel bestehen.

3. Welche Symptome sprechen für ein ARP- oder Neighbor-Discovery-Problem?
  • Gateway ist trotz korrekter IP-Konfiguration nicht erreichbar,
  • Ziel im selben Subnetz ist nicht erreichbar,
  • Nachbareintrag bleibt unvollständig,
  • dieselbe IP-Adresse erscheint mit wechselnden MAC-Adressen,
  • Verbindung funktioniert nur sporadisch,
  • IP-Adresskonflikt wird gemeldet,
  • ARP-Anfragen werden gesendet, aber nicht beantwortet,
  • Neighbor Solicitation wird nicht beantwortet,
  • IPv6-Adresse bleibt im Zustand tentative,
  • IPv6 Duplicate Address Detection schlägt fehl,
  • falscher statischer Nachbareintrag ist vorhanden,
  • Proxy ARP oder Proxy NDP antwortet unerwartet,
  • Switchport befindet sich im falschen VLAN,
  • WLAN-Client-Isolation verhindert direkte Kommunikation,
  • Security-Funktion blockiert ARP- oder NDP-Nachrichten,
  • virtuelle Maschinen oder Container verwenden unerwartete Nachbareinträge.
4. Wie wird entschieden, ob ARP für das Ziel oder für das Gateway verwendet wird?

Zuerst wird die ausgewählte Route geprüft.

Windows

[RO] Find-NetRoute -RemoteIPAddress 198.51.100.20

Linux

[RO] ip route get 198.51.100.20

macOS

[RO] route -n get 198.51.100.20

Bewertung

RoutenergebnisAufzulösender direkter Nachbar
Ziel gilt als direkt verbundenZiel-IP-Adresse
Route enthält ein Gateway beziehungsweise Next HopGateway-Adresse
Route verwendet TunnelinterfaceVerhalten abhängig vom Tunnel
Route fehltkeine reguläre Weiterleitung möglich
Ziel wird fälschlich als lokal behandeltmöglicherweise falsches Präfix

Eine falsche Subnetzmaske kann dazu führen, dass ein Client ARP-Anfragen für ein eigentlich entferntes Ziel sendet.

5. Wie wird die IPv4-Nachbartabelle unter Windows angezeigt?

PowerShell

[RO] Get-NetNeighbor -AddressFamily IPv4

Übersichtliche Darstellung

[RO] Get-NetNeighbor -AddressFamily IPv4 |
    Sort-Object InterfaceIndex, IPAddress |
    Format-Table InterfaceAlias,
                 InterfaceIndex,
                 IPAddress,
                 LinkLayerAddress,
                 State,
                 PolicyStore

Ein bestimmter Nachbar

[RO] Get-NetNeighbor `
    -InterfaceAlias 'Ethernet' `
    -IPAddress '192.0.2.1'

Klassischer Befehl

[RO] arp -a

Bestimmte IP-Adresse suchen:

[RO] arp -a 192.0.2.1

Die PowerShell-Ausgabe zeigt zusätzlich den Zustand des Eintrags. arp -a unterscheidet hauptsächlich zwischen dynamischen und statischen Einträgen.

6. Welche Neighbor-Zustände zeigt Windows?

Mögliche Zustände von Get-NetNeighbor:

ZustandBedeutung
UnreachableNachbar gilt als nicht erreichbar
IncompleteAuflösung wurde begonnen, aber noch nicht abgeschlossen
ProbeErreichbarkeit wird aktiv geprüft
DelayPrüfung wird kurz verzögert
StaleEintrag ist vorhanden, wurde aber länger nicht bestätigt
ReachableNachbar wurde kürzlich als erreichbar bestätigt
Permanentstatischer beziehungsweise dauerhafter Eintrag
UnknownZustand konnte nicht eindeutig bestimmt werden

Ein Eintrag im Zustand Stale ist nicht automatisch fehlerhaft. Er kann bei der nächsten Verwendung erneut geprüft werden.

Ein dauerhaft Incomplete bleibender Eintrag deutet darauf hin, dass die Adressauflösung nicht erfolgreich abgeschlossen wird.

7. Wie wird die IPv4-Nachbartabelle unter Linux angezeigt?

Alle IPv4-Nachbarn

[RO] ip -4 neighbour show

Kurzform:

[RO] ip -4 neigh

Bestimmte Schnittstelle

[RO] ip -4 neighbour show dev eth0

Bestimmte IP-Adresse

[RO] ip -4 neighbour show 192.0.2.1

Änderungen live beobachten

[RO] ip monitor neigh

Beenden mit:

Strg+C

Klassischer ARP-Befehl

[RO] arp -an

Der ältere Befehl arp ist nicht auf jeder Linux-Installation standardmäßig vorhanden. Für moderne Systeme ist ip neighbour vorzuziehen.

8. Welche Neighbor-Zustände zeigt Linux?
ZustandBedeutung
INCOMPLETEAdressauflösung läuft, aber MAC-Adresse fehlt
REACHABLENachbar wurde kürzlich als erreichbar bestätigt
STALEEintrag ist bekannt, Bestätigung ist aber älter
DELAYErreichbarkeitsprüfung wird verzögert
PROBENachbar wird aktiv geprüft
FAILEDAuflösung beziehungsweise Erreichbarkeitsprüfung ist fehlgeschlagen
NOARPfür diesen Eintrag wird keine normale Nachbarauflösung durchgeführt
PERMANENTstatischer, dauerhafter Eintrag

Beispiel

192.0.2.1 dev eth0 lladdr 00:11:22:33:44:01 REACHABLE
BestandteilBedeutung
192.0.2.1IPv4-Adresse des Nachbarn
dev eth0verwendete Schnittstelle
lladdrLink-Layer-Adresse folgt
00:11:22:33:44:01MAC-Adresse
REACHABLEaktueller Zustand

Fehlgeschlagener Eintrag

192.0.2.80 dev eth0 FAILED

Dies bedeutet, dass die Nachbarauflösung beziehungsweise Erreichbarkeitsprüfung fehlgeschlagen ist. Die genaue Ursache kann weiterhin bei VLAN, Zielgerät, Switch, WLAN-Isolation oder Filterung liegen.

9. Wie wird die IPv4-Nachbartabelle unter macOS angezeigt?

Alle ARP-Einträge

[RO] arp -an

Bestimmte IP-Adresse

[RO] arp -n 192.0.2.1

Routingtabelle mit Link-Layer-Einträgen

[RO] netstat -rn -f inet

Beispiel eines vollständigen Eintrags:

? (192.0.2.1) at 00:11:22:33:44:01 on en0 ifscope [ethernet]

Beispiel eines unvollständigen Eintrags:

? (192.0.2.80) at (incomplete) on en0 ifscope [ethernet]

Ein unvollständiger Eintrag bedeutet, dass keine verwendbare MAC-Adresse ermittelt wurde.

10. Wie wird ein Nachbareintrag kontrolliert erzeugt?

Wenn noch kein Eintrag vorhanden ist, kann eine normale Kommunikation zum direkten Nachbarn die Auflösung auslösen.

Windows

[TEST] Test-Connection 192.0.2.1 -Count 1

Danach:

[RO] Get-NetNeighbor `
    -InterfaceAlias 'Ethernet' `
    -IPAddress '192.0.2.1'

Linux

[TEST] ping -c 1 192.0.2.1

Danach:

[RO] ip neighbour show 192.0.2.1

macOS

[TEST] ping -c 1 192.0.2.1

Danach:

[RO] arp -n 192.0.2.1

Auch wenn das Ziel ICMP nicht beantwortet, kann durch die lokale Zustellung ein ARP-Eintrag entstehen. Voraussetzung ist, dass das Betriebssystem das Ziel als direkten Nachbarn behandelt.

11. Wie wird ARP mit arping aktiv geprüft?

arping sendet aktive ARP-Anfragen auf einer lokalen Ethernetverbindung. Das Werkzeug ist nicht unter jedem Betriebssystem standardmäßig vorhanden.

Linux-Beispiel

[TEST][PRIV] sudo arping \
    -I eth0 \
    -c 4 \
    192.0.2.1
OptionBedeutung
-I eth0Schnittstelle
-c 4vier Anfragen
Zieladressedirekt zu prüfende lokale IPv4-Adresse

Einsatzmöglichkeiten

  • direkte lokale Erreichbarkeit prüfen,
  • Antwort-MAC-Adresse bestimmen,
  • erkennen, ob mehrere Geräte antworten,
  • ARP unabhängig von ICMP testen.

Einschränkungen

  • funktioniert nur für direkt erreichbare IPv4-Nachbarn,
  • prüft kein geroutetes entferntes Ziel,
  • kann Sicherheitsüberwachung auslösen,
  • verschiedene arping-Implementierungen besitzen unterschiedliche Optionen,
  • eine Antwort beweist nicht die Funktion höherer Protokolle.

Vor der Verwendung muss die lokale Syntax geprüft werden:

[RO] arping --help

oder:

[RO] man arping
12. Wie wird ARP mit Wireshark oder TShark untersucht?

Wireshark-Display-Filter

arp

Nur Anfragen:

arp.opcode == 1

Nur Antworten:

arp.opcode == 2

Bestimmte IPv4-Adresse:

arp.src.proto_ipv4 == 192.0.2.1 || arp.dst.proto_ipv4 == 192.0.2.1

Capture-Filter

arp

TShark-Liveanzeige

[TEST][PRIV][SENS] tshark \
  -i INTERFACE \
  -f "arp"

Zeitlich begrenzte Aufnahme

[TEST][PRIV][FILE][SENS] dumpcap \
  -i INTERFACE \
  -f "arp" \
  -a duration:30 \
  -w arp-diagnose.pcapng

ARP-Felder anzeigen

[RO][SENS] tshark \
  -r arp-diagnose.pcapng \
  -Y "arp" \
  -T fields \
  -e frame.time \
  -e eth.src \
  -e eth.dst \
  -e arp.opcode \
  -e arp.src.proto_ipv4 \
  -e arp.src.hw_mac \
  -e arp.dst.proto_ipv4 \
  -e arp.dst.hw_mac

Die lokal verfügbaren Feldnamen können geprüft werden:

[RO] tshark -G fields |
    grep -E $'\tarp\.'
13. Wie wird eine erfolglose ARP-Auflösung im Paketmitschnitt erkannt?

Typisches Muster:

Client → Broadcast: Who has 192.0.2.80?
Client → Broadcast: Who has 192.0.2.80?
Client → Broadcast: Who has 192.0.2.80?
Keine Antwort

Mögliche Ursachen:

  • Zielsystem ist ausgeschaltet,
  • Ziel besitzt eine andere IP-Adresse,
  • Ziel befindet sich nicht im selben VLAN,
  • Client befindet sich im falschen VLAN,
  • Switchport ist falsch konfiguriert,
  • WLAN-Client-Isolation ist aktiv,
  • Layer-2-Sicherheitsmechanismus blockiert den Verkehr,
  • falsche Subnetzmaske lässt ein entferntes Ziel lokal erscheinen,
  • virtuelle Bridge oder Netzwerkschnittstelle ist falsch verbunden,
  • Ziel antwortet aufgrund eines lokalen Netzwerkproblems nicht.

Wichtiger Gegencheck

Wenn der Client ARP für eine entfernte Zieladresse sendet, muss zuerst Präfix und Route geprüft werden. Die Ursache liegt dann möglicherweise nicht bei ARP, sondern in einer falschen Subnetzkonfiguration.

14. Was ist Gratuitous ARP?

Gratuitous ARP ist eine ARP-Nachricht, bei der ein Gerät eine eigene IPv4-/MAC-Zuordnung ohne vorherige normale Anfrage bekannt gibt oder prüft.

Mögliche Zwecke:

  • Erkennung eines Adresskonflikts,
  • Aktualisierung von Nachbartabellen,
  • Übernahme einer virtuellen IP-Adresse,
  • Hochverfügbarkeits-Failover,
  • Mitteilung nach einem MAC- oder Portwechsel,
  • Aktualisierung von Switch- und Hostinformationen.

Typisches Szenario

Firewall A besitzt virtuelle IP 192.0.2.1.
Firewall A fällt aus.
Firewall B übernimmt 192.0.2.1.
Firewall B sendet Gratuitous ARP mit ihrer MAC-Adresse.

Clients sollen dadurch die neue Zuordnung lernen.

Viele Gratuitous-ARP-Nachrichten sind nicht automatisch schädlich. Sie müssen im Zusammenhang mit Hochverfügbarkeit, Clusterbetrieb, Virtualisierung und Adresskonflikten bewertet werden.

15. Was ist Proxy ARP?

Beim Proxy ARP antwortet ein Gerät auf eine ARP-Anfrage für eine andere IPv4-Adresse mit seiner eigenen MAC-Adresse.

Vereinfacht:

Client fragt:
Wer hat 192.0.2.80?

Router antwortet:
192.0.2.80 befindet sich unter meiner MAC-Adresse.

Der Router übernimmt anschließend die Weiterleitung zum eigentlichen Ziel.

Proxy ARP kann bewusst eingesetzt werden, beispielsweise für bestimmte Netzdesigns oder Übergangslösungen. Es kann aber auch Fehlkonfigurationen verbergen.

Hinweise auf Proxy ARP

  • mehrere IP-Adressen werden derselben Router-MAC zugeordnet,
  • ein vermeintlich lokales Ziel wird über einen Router erreicht,
  • Kommunikation funktioniert trotz ungewöhnlicher Subnetzkonfiguration,
  • Paketmitschnitt zeigt Antworten eines Routers für fremde IP-Adressen.

Proxy ARP darf nicht ohne Prüfung der Netzwerkarchitektur als Angriff oder Fehlfunktion bewertet werden.

16. Welche Aufgabe erfüllt IPv6 Neighbor Discovery?

IPv6 verwendet kein ARP. Neighbor Discovery arbeitet mit ICMPv6 und übernimmt mehrere Funktionen:

  • Auflösung von IPv6-Adresse zu MAC-Adresse,
  • Erreichbarkeitsprüfung von Nachbarn,
  • Routererkennung,
  • Präfixinformationen,
  • Duplicate Address Detection,
  • Weiterleitung auf einen besseren Router,
  • teilweise automatische Adresskonfiguration.

Wichtige ICMPv6-Nachrichten:

TypNachrichtAufgabe
133Router SolicitationClient fordert Routerinformationen an
134Router AdvertisementRouter teilt Präfixe und Parameter mit
135Neighbor SolicitationNachbarauflösung oder Erreichbarkeitsprüfung
136Neighbor AdvertisementAntwort beziehungsweise Ankündigung eines Nachbarn
137RedirectRouter weist auf einen besseren nächsten Hop hin

NDP verwendet Multicast statt des aus IPv4 bekannten Broadcasts.

17. Wie funktioniert die IPv6-Nachbarauflösung?

Vereinfachter Ablauf:

Client                                   IPv6-Nachbar
  │                                           │
  │──── Neighbor Solicitation ───────────────>│
  │<─── Neighbor Advertisement ───────────────│
  │                                           │

Die Neighbor Solicitation wird normalerweise an eine zur Zieladresse gehörende Solicited-Node-Multicast-Adresse gesendet.

Wichtiger Unterschied zu ARP

IPv4IPv6
ARPICMPv6 Neighbor Discovery
Ethernet-BroadcastIPv6-Multicast
separate ARP-NachrichtTeil von ICMPv6
ARP-TabelleIPv6-Nachbartabelle

ICMPv6 darf nicht pauschal blockiert werden. Viele ICMPv6-Nachrichten sind für die grundlegende IPv6-Funktion erforderlich.

18. Wie wird die IPv6-Nachbartabelle unter Windows angezeigt?
[RO] Get-NetNeighbor -AddressFamily IPv6

Übersicht:

[RO] Get-NetNeighbor -AddressFamily IPv6 |
    Sort-Object InterfaceIndex, IPAddress |
    Format-Table InterfaceAlias,
                 InterfaceIndex,
                 IPAddress,
                 LinkLayerAddress,
                 State

Bestimmte Link-Local-Adresse:

[RO] Get-NetNeighbor `
    -InterfaceAlias 'Ethernet' `
    -IPAddress 'fe80::1'

Bei Link-Local-Adressen ist die Schnittstelle beziehungsweise Scope-ID entscheidend, da fe80::/10 auf mehreren Interfaces verwendet werden kann.

Alternative klassische Anzeige

[RO] netsh interface ipv6 show neighbors
19. Wie wird die IPv6-Nachbartabelle unter Linux angezeigt?

Alle IPv6-Nachbarn

[RO] ip -6 neighbour show

Bestimmte Schnittstelle

[RO] ip -6 neighbour show dev eth0

Bestimmte Adresse

[RO] ip -6 neighbour show 2001:db8:20::20

Änderungen beobachten

[RO] ip monitor neigh

Router und Standardroute

[RO] ip -6 route show default

IPv6-Adressen und deren Zustand

[RO] ip -6 address show dev eth0

Auf folgende Zustände achten:

tentative
dadfailed
deprecated

dadfailed weist darauf hin, dass Duplicate Address Detection für diese Adresse fehlgeschlagen ist.

20. Wie wird die IPv6-Nachbartabelle unter macOS angezeigt?

IPv6-Nachbartabelle

[RO] ndp -an

Bestimmten Nachbarn anzeigen

[RO] ndp -n fe80::1%en0

Die Schnittstellenangabe %en0 ist bei Link-Local-Adressen häufig erforderlich.

IPv6-Routingtabelle

[RO] netstat -rn -f inet6

IPv6-Konfiguration einer Schnittstelle

[RO] ifconfig en0

Zu prüfen sind:

  • Link-Local-Adresse,
  • globale beziehungsweise interne IPv6-Adressen,
  • Präfixlängen,
  • Adresszustände,
  • Standardrouter,
  • Nachbareinträge und deren MAC-Adressen.
21. Wie wird IPv6 Neighbor Discovery mit Wireshark untersucht?

Alle Neighbor-Discovery-Nachrichten

icmpv6.type >= 133 && icmpv6.type <= 137

Router Solicitation

icmpv6.type == 133

Router Advertisement

icmpv6.type == 134

Neighbor Solicitation

icmpv6.type == 135

Neighbor Advertisement

icmpv6.type == 136

Redirect

icmpv6.type == 137

Bestimmte IPv6-Adresse

ipv6.addr == 2001:db8:20::20

Capture-Filter für relevante ICMPv6-Nachrichten

icmp6

Zeitlich begrenzte Aufnahme

[TEST][PRIV][FILE][SENS] dumpcap \
  -i INTERFACE \
  -f "icmp6" \
  -a duration:30 \
  -w ipv6-nd.pcapng

TShark-Auswertung

[RO][SENS] tshark \
  -r ipv6-nd.pcapng \
  -Y "icmpv6.type >= 133 && icmpv6.type <= 137" \
  -T fields \
  -e frame.time \
  -e eth.src \
  -e eth.dst \
  -e ipv6.src \
  -e ipv6.dst \
  -e icmpv6.type
22. Was ist Duplicate Address Detection bei IPv6?

Bevor eine neue IPv6-Adresse regulär verwendet wird, prüft der Host normalerweise, ob sie bereits auf dem lokalen Link verwendet wird.

Vereinfacht:

Neuer Host
  → Neighbor Solicitation für die eigene geplante Adresse
  → keine widersprechende Antwort: Adresse kann verwendet werden

Antwortet ein anderes Gerät, kann die Adresse als doppelt erkannt werden.

Mögliche Zustände

ZustandBedeutung
tentativePrüfung läuft
preferredAdresse kann normal verwendet werden
deprecatedAdresse wird nicht mehr für neue Verbindungen bevorzugt
dadfailed beziehungsweise DuplicateKonflikt erkannt

Mögliche Ursachen eines DAD-Fehlers

  • tatsächlich doppelte statische IPv6-Adresse,
  • fehlerhafte virtuelle Netzwerkkonfiguration,
  • Loop oder reflektierte Pakete,
  • fehlerhaftes Proxy-NDP-Verhalten,
  • duplizierte virtuelle Maschine mit identischer Konfiguration,
  • Sicherheitsgerät beantwortet Anfragen unerwartet.

Ein DAD-Fehler darf nicht durch dauerhaftes Abschalten der Konflikterkennung verdeckt werden.

23. Wie werden Router Advertisements in die Diagnose einbezogen?

Router Advertisements können unter anderem mitteilen:

  • verfügbare Router,
  • Präfixinformationen,
  • Präfixlänge,
  • Gültigkeitsdauer,
  • bevorzugte Dauer,
  • ob SLAAC verwendet werden kann,
  • Hinweise auf DHCPv6,
  • MTU,
  • Routeninformationen,
  • weitere IPv6-Parameter.

Typische Fehlerbilder

  • Client erhält nur Link-Local-Adresse,
  • IPv6-Standardroute fehlt,
  • falsches Präfix wird angekündigt,
  • nicht autorisierter Router sendet Advertisements,
  • mehrere Router kündigen widersprüchliche Informationen an,
  • Router Advertisement erreicht bestimmte VLANs nicht,
  • ICMPv6 wird gefiltert,
  • Präfix ist abgelaufen oder falsch konfiguriert.

Windows-Routen

[RO] Get-NetRoute -AddressFamily IPv6

Linux

[RO] ip -6 route

macOS

[RO] netstat -rn -f inet6

Ein vorhandener DHCPv6-Server ersetzt nicht automatisch die Router Advertisements für die Standardrouterinformation.

24. Warum dürfen Nachbartabellen nicht vorschnell geleert werden?

Das Leeren einer Nachbartabelle:

  • verändert den Diagnosezustand,
  • entfernt möglicherweise den Beleg einer falschen Zuordnung,
  • erzwingt neue ARP- oder NDP-Auflösungen,
  • kann Verbindungen kurzfristig unterbrechen,
  • behebt eine falsche Zuordnung möglicherweise nur vorübergehend,
  • beseitigt nicht die eigentliche Ursache.

Vorher sollten gespeichert werden:

Windows

[RO][FILE][SENS] Get-NetNeighbor |
    Export-Csv 'C:\Temp\nachbartabelle-vorher.csv' `
    -NoTypeInformation `
    -Encoding UTF8

Linux

[RO][FILE][SENS] ip neighbour show \
    > /tmp/nachbartabelle-vorher.txt

macOS

[RO][FILE][SENS] arp -an \
    > /tmp/arp-vorher.txt
[RO][FILE][SENS] ndp -an \
    > /tmp/ndp-vorher.txt

Die Speicherorte müssen den betrieblichen Datenschutz- und Sicherheitsvorgaben entsprechen.

25. Welche eingreifenden Befehle existieren?

Windows – IPv4-Nachbartabelle leeren

[PRIV][CHANGE][DISRUPT] netsh interface ip delete arpcache

Linux – dynamische IPv4-Nachbarn einer Schnittstelle leeren

[PRIV][CHANGE][DISRUPT] sudo ip -4 neighbour flush dev eth0

Linux – IPv6-Nachbarn einer Schnittstelle leeren

[PRIV][CHANGE][DISRUPT] sudo ip -6 neighbour flush dev eth0

macOS – einzelnen ARP-Eintrag entfernen

[PRIV][CHANGE][DISRUPT] sudo arp -d 192.0.2.1

macOS – einzelnen IPv6-Nachbareintrag entfernen

[PRIV][CHANGE][DISRUPT] sudo ndp -d fe80::1%en0

Diese Befehle sind keine ersten Diagnoseschritte. Bei Remotezugriff kann insbesondere das Entfernen des Gatewayeintrags die aktive Verbindung kurzfristig beeinträchtigen. Syntax und unterstützte Optionen müssen lokal mit der jeweiligen Hilfeseite geprüft werden.

26. Wie werden statische Nachbareinträge bewertet?

Statische Einträge können bewusst eingerichtet sein, beispielsweise für:

  • besondere Appliances,
  • Hochverfügbarkeitslösungen,
  • Sicherheitskonzepte,
  • Testumgebungen,
  • feste Nachbarzuordnungen.

Sie können jedoch veraltet sein, wenn:

  • Netzwerkkarte ersetzt wurde,
  • virtuelle Maschine verschoben wurde,
  • Failover stattgefunden hat,
  • Gerät eine neue MAC-Adresse verwendet,
  • Netzwerkarchitektur geändert wurde.

Windows

[RO] Get-NetNeighbor |
    Where-Object State -eq 'Permanent'

Linux

[RO] ip neighbour show nud permanent

macOS

[RO] arp -an

Statische Einträge dürfen nicht gelöscht werden, bevor Eigentümer, Zweck, Konfigurationsquelle und Rückweg geklärt sind.

27. Wie werden ARP-Spoofing und Neighbor-Discovery-Manipulation erkannt?

Mögliche Hinweise:

  • Gateway-IP wechselt unerwartet zwischen MAC-Adressen,
  • eine fremde MAC-Adresse beansprucht viele IP-Adressen,
  • unerwartete Gratuitous-ARP-Nachrichten,
  • nicht autorisierte Router Advertisements,
  • mehrere Geräte antworten auf dieselbe Adresse,
  • Verbindung wird über ein unbekanntes Gerät umgeleitet,
  • Zertifikatswarnungen treten gleichzeitig auf,
  • Netzwerküberwachung meldet Dynamic-ARP-Inspection- oder RA-Guard-Verstöße.

Sicheres Vorgehen

  1. aktuelle Nachbartabelle sichern,
  2. Zeitpunkt dokumentieren,
  3. Switch-MAC-Tabelle und Portzuordnung prüfen,
  4. DHCP- und Netzwerkdokumentation vergleichen,
  5. Paketmitschnitt nur mit Freigabe erstellen,
  6. Hochverfügbarkeits- und Proxyfunktionen ausschließen,
  7. Informationssicherheit einbeziehen,
  8. verdächtiges Gerät nicht unkoordiniert verändern.

Eine gemeinsame MAC-Adresse für mehrere IP-Adressen ist nicht automatisch ein Angriff. Router, Load Balancer, Firewalls, Proxy ARP und Cluster können dieses Muster beabsichtigt erzeugen.

28. Wie wird zwischen Client-, VLAN- und Zielproblem unterschieden?
BeobachtungWahrscheinlichere Richtung
nur ein Client erhält keine ARP-AntwortClient, Port oder lokale Sicherheitsregel
mehrere Clients im VLAN betroffenVLAN, Switch oder Zielsystem
andere VLANs erreichen das Zielbetroffenes VLAN oder Gatewayinterface
ARP-Anfrage verlässt Client nichtClientstack oder Schnittstelle
Anfrage sichtbar, Antwort fehltZiel, VLAN-Pfad oder Filter
Antwort erreicht Switch, aber nicht ClientPort, WLAN oder Sicherheitsfunktion
falsche MAC antwortetProxy, Konflikt oder Manipulation
Gateway wird aufgelöst, Ziel nicht erreichbarProblem liegt wahrscheinlich nach Layer 2
Ziel wird fälschlich per ARP gesuchtfalsches Präfix oder falsche Route
IPv6 NS ohne NAZiel, VLAN, Filter oder NDP-Konfiguration
nur IPv6 betroffenICMPv6, RA, NDP oder IPv6-VLAN-Pfad
29. Welche typischen Fehlinterpretationen müssen vermieden werden?
BeobachtungFalscher SchlussRichtige Einordnung
ARP-Tabelle ist leerNetzwerk ist defektmöglicherweise wurde noch kein lokaler Nachbar angesprochen
Eintrag ist StaleZiel ist nicht erreichbarEintrag wird bei Nutzung erneut geprüft
Eintrag ist IncompleteZiel ist ausgeschaltetVLAN, Präfix und Filter bleiben mögliche Ursachen
entfernte Ziel-IP fehlt in ARPFehler liegt vornur der lokale Next Hop wird benötigt
viele IPs haben dieselbe MACAngriffRouter, Proxy ARP oder Cluster möglich
MAC-Adresse wechseltAngriffFailover oder Gerätewechsel möglich
Ping funktioniert nichtARP funktioniert nichtNachbartabelle getrennt prüfen
ARP funktioniertAnwendung funktioniertnur lokale Adressauflösung bestätigt
IPv6 hat keine ARP-TabelleIPv6 benötigt keine AuflösungIPv6 verwendet NDP
ICMPv6 wird blockiertnur Ping ist betroffenzentrale IPv6-Funktionen können ausfallen
Nachbartabelle wurde geleert und es funktioniertUrsache wurde behobenProblem kann nur vorübergehend verdeckt sein
Gratuitous ARP sichtbarManipulationKonfliktprüfung oder Failover möglich
30. Wie sieht der systematische Prüfablauf aus?
SchrittPrüfung
1IP-Adresse und Präfix des Clients bestätigen
2ausgewählte Route zum Ziel bestimmen
3direkt aufzulösenden Nachbarn identifizieren
4vorhandene Nachbartabelle unverändert sichern
5Zustand und MAC-Adresse des Eintrags prüfen
6mit funktionierendem Referenzclient vergleichen
7normale Kommunikation zum direkten Nachbarn auslösen
8Nachbartabelle erneut prüfen
9bei Bedarf ARP beziehungsweise NDP kontrolliert mitschneiden
10Anfrage und Antwort auf Client- und Netzseite verfolgen
11Switchport, VLAN und MAC-Zuordnung prüfen
12Proxy-, Cluster- und Hochverfügbarkeitsfunktionen berücksichtigen
13Konflikt oder Manipulationsverdacht eskalieren
14Tabelle nur nach Beweissicherung gezielt verändern
15ursprüngliches Fehlerbild erneut testen
16Ursache und Ergebnis dokumentieren

Merksatz

Route bestimmen → direkten Nachbarn bestimmen
→ Tabelle prüfen → Anfrage verfolgen → Antwort verfolgen
31. Kompakte Befehlsübersicht für Windows, Linux und macOS
AufgabeWindowsLinuxmacOS
IPv4-Nachbarn[RO] Get-NetNeighbor -AddressFamily IPv4[RO] ip -4 neighbour[RO] arp -an
IPv6-Nachbarn[RO] Get-NetNeighbor -AddressFamily IPv6[RO] ip -6 neighbour[RO] ndp -an
einzelner IPv4-Nachbar[RO] Get-NetNeighbor -IPAddress ZIEL[RO] ip neighbour show ZIEL[RO] arp -n ZIEL
einzelne IPv6-Adresse[RO] Get-NetNeighbor -IPAddress ZIEL[RO] ip -6 neighbour show ZIEL[RO] ndp -n ZIEL%INTERFACE
Route zum Ziel[RO] Find-NetRoute -RemoteIPAddress ZIEL[RO] ip route get ZIEL[RO] route -n get ZIEL
Nachbaränderungen livePowerShell wiederholt abfragen[RO] ip monitor neighwiederholt arp beziehungsweise ndp
ARP aktiv testennormales Test-Connection[TEST][PRIV] sudo arping -I INTERFACE -c 4 ZIELabhängig von installiertem Werkzeug
ARP mitschneiden[TEST][PRIV][SENS] tshark -i INTERFACE -f "arp"gleicher Befehlgleicher Befehl
NDP mitschneiden[TEST][PRIV][SENS] tshark -i INTERFACE -f "icmp6"gleicher Befehlgleicher Befehl
ARP-Cache leeren[PRIV][CHANGE][DISRUPT] netsh interface ip delete arpcache[PRIV][CHANGE][DISRUPT] sudo ip -4 neigh flush dev INTERFACE[PRIV][CHANGE][DISRUPT] sudo arp -d ZIEL
IPv6-Nachbarn leerennur gezielt nach lokaler Dokumentation[PRIV][CHANGE][DISRUPT] sudo ip -6 neigh flush dev INTERFACE[PRIV][CHANGE][DISRUPT] sudo ndp -d ZIEL%INTERFACE

Die Platzhalter ZIEL und INTERFACE müssen durch vorher eindeutig bestimmte Werte ersetzt werden.

32. Dokumentationsvorlage
Ticketnummer:
Prüfzeitpunkt:
Zeitzone:
Betroffener Client:
Betriebssystem:
Schnittstelle:
MAC-Adresse:
VLAN:

IP-KONFIGURATION

Client-IPv4:
IPv4-Präfix:
Client-IPv6:
IPv6-Präfix:
Standardgateway IPv4:
Standardrouter IPv6:

ZIEL

Zielname:
Ziel-IPv4:
Ziel-IPv6:
Ziel laut Präfix lokal: Ja / Nein
Ausgewählte Route:
Ausgewählte Quelladresse:
Next Hop:
Direkt aufzulösender Nachbar:

NACHBARTABELLE VOR DEM TEST

IPv4-Nachbar:
MAC-Adresse:
Schnittstelle:
Zustand:
Dynamisch oder statisch:

IPv6-Nachbar:
MAC-Adresse:
Schnittstelle:
Zustand:
Dynamisch oder statisch:

AKTIVER TEST

Verwendeter Test:
Startzeit:
Endzeit:
Anfragen gesendet:
Antworten empfangen:

PAKETMITSCHNITT

ARP Request sichtbar:
ARP Reply sichtbar:
Neighbor Solicitation sichtbar:
Neighbor Advertisement sichtbar:
Router Advertisement sichtbar:
Quell-MAC:
Antwort-MAC:
Mehrere Antworten:
Gratuitous ARP:
Proxy ARP vermutet:
DAD fehlgeschlagen:

NETZWERKSEITE

Switch:
Switchport:
Port-VLAN:
Gelernte Client-MAC:
Gelernte Ziel-MAC:
MAC wechselt zwischen Ports:
Port-Security-Ereignisse:
ARP-/NDP-Schutzereignisse:

REFERENZCLIENT

Hostname:
Gleiches VLAN:
Nachbar-IP:
Nachbar-MAC:
Nachbarzustand:
Relevante Abweichungen:

Arbeitshypothese:
Begründung:
Originaltabelle gesichert:
Durchgeführte Änderung:
Rückweg:
Abschlussprüfung:
Ermittelte Ursache:
Sicherheitseskalation erforderlich: Ja / Nein
33. Offizielle Quellen und weiterführende Dokumentation

Microsoft

Linux

Apple

  • Lokale Befehlsreferenzen: man arp, man ndp, man route, man netstat und man ifconfig

Wireshark

Standards

Nachbarzustände, Zeitlimits und verfügbare Diagnosefelder hängen vom Betriebssystem, Treiber und Netzwerkdesign ab. Eine fehlende Antwort muss immer zusammen mit Route, Präfix, VLAN und tatsächlichem Messpunkt bewertet werden.