Я вижу все подключенные устройства к моему ПК с Linux с помощью:

cat /proc/net/arp

Но это показывает только адреса IPv4 и MAC подключенных устройств. Там нет IPv6 адресов.

Как найти IPv6-адреса подключенных устройств?

2 ответа2

2

Это связано с тем, что IPv6 не использует протокол разрешения адресов (ARP), он использует протокол обнаружения соседей (NDP).

С помощью команды ip neighbor отобразит как кэш ARP, так и обнаруженных соседей IPv6.

0

Самая простая команда - перечислить все соединения: ss | less , но для просмотра только соединений tcp, udp или unix используйте -t то есть

ss -t

это должно показать вам все соединения TCP / IPv4 и IPV6.


  • Для отображения только соединений с сокетом IPv4 используйте параметр -f inet или -4 .

    ss -tl -f inet или

    сс-тл -4

  • В то время как для отображения только соединений IPv6 используйте параметр -f inet6 или -6 .

    сс-тл6 или

    ss -finet6


Или просто для комбинированного использования соседних узлов IPv4 и IPv6

ip neighbour 

Который покажет текущую таблицу соседей в ядре.

Но ПРИМЕЧАНИЕ: /proc/net/arp не перечисляет устройства, подключенные к вашему ПК. Он показывает список устройств в вашей подсети, для которых ваш ПК сделал / увидел запрос ARP для. Если вы хотите увидеть, какие устройства подключены к вашему ПК, вам нужен netstat или аналогичный (который автоматически покажет устройства ipv4 и ipv6). IPv6 не использует ARP (он использует NDP)

надеюсь, это поможет

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .