Dies liegt daran, dass IPv6 nicht das Address Resolution Protocol (ARP) verwendet, sondern das Neighbor Discovery Protocol (NDP).
Mit dem Befehl ip neighbor
werden sowohl ARP-Cache als auch erkannte IPv6-Nachbarn aufgelistet.
Ich kann alle mit meinem Linux-PC verbundenen Geräte sehen mit:
cat /proc/net/arp
Hier werden jedoch nur die IPv4-Adressen und die MAC der angeschlossenen Geräte angezeigt. Es gibt keine IPv6-Adressen.
Wie finde ich die IPv6-Adressen der verbundenen Geräte?
Dies liegt daran, dass IPv6 nicht das Address Resolution Protocol (ARP) verwendet, sondern das Neighbor Discovery Protocol (NDP).
Mit dem Befehl ip neighbor
werden sowohl ARP-Cache als auch erkannte IPv6-Nachbarn aufgelistet.
Der einfachste Befehl besteht darin, alle Verbindungen ss | less
aufzulisten, ist das. Um jedoch nur TCP-, UDP- oder Unix-Verbindungen anzuzeigen, verwenden Sie die folgenden Befehle -t
:
ss -t
Hier sollten alle IPv4- und IPV6-TCP-Verbindungen angezeigt werden.
Verwenden Sie die Option -f inet
oder, um nur IPv4-Socket-Verbindungen anzuzeigen -4
.
ss -tl -f inet oder
ss -tl -4
Um nur IPv6-Verbindungen anzuzeigen, verwenden Sie die Option -f inet6
oder -6
.
ss -tl6 oder
ss -finet6
Oder einfach für die kombinierten IPv4- und IPv6-Nachbarknoten verwenden
ip neighbour
Welcher zeigt die aktuelle Nachbar-Tabelle im Kernel an.
Aber HINWEIS : /proc/net/arp
Liste keine Geräte an den PC angeschlossen. Es zeigt eine Liste von Geräten in Ihrem Subnetz, für die Ihr PC eine ARP-Anfrage durchgeführt hat / hat. Wenn Sie sehen möchten, welche Geräte an Ihren PC angeschlossen sind, benötigen Sie netstat
oder ähnliches (auf dem automatisch sowohl ipv4- als auch ipv6-Geräte angezeigt werden). ipv6 verwendet kein ARP (es verwendet NDP)
ich hoffe das hilft