Isso ocorre porque o IPv6 não usa o Protocolo de Resolução de Endereços (ARP) que usa o NDP (Neighbor Discovery Protocol).
Usar o comando ip neighbor
listará o cache ARP e os vizinhos IPv6 descobertos.
Eu posso ver todos os dispositivos conectados ao meu PC Linux com:
cat /proc/net/arp
Mas isso mostra apenas os endereços IPv4 e o MAC dos dispositivos conectados. Não há endereços IPv6.
Como encontrar os endereços IPv6 dos dispositivos conectados?
Isso ocorre porque o IPv6 não usa o Protocolo de Resolução de Endereços (ARP) que usa o NDP (Neighbor Discovery Protocol).
Usar o comando ip neighbor
listará o cache ARP e os vizinhos IPv6 descobertos.
O comando mais simples é listar todas as conexões como ss | less
, mas para visualizar apenas as conexões tcp ou udp ou unix use o -t
que é,
ss -t
isto deve mostrar a você todas as conexões tcp IPv4 e IPV6.
Para exibir somente conexões de soquete IPv4, use a opção -f inet
ou -4
.
ss -tl -f inet ou
ss -tl -4
Enquanto para exibir apenas conexões IPv6, use a opção -f inet6
ou -6
.
ss -tl6 ou
ss -finet6
Ou simplesmente para os nós vizinhos IPv4 e IPv6 combinados, use
ip neighbour
Que mostrará a tabela atual do vizinho no kernel.
Mas OBSERVAÇÃO : /proc/net/arp
não lista dispositivos conectados ao seu PC. Ele mostra uma lista de dispositivos na sua sub-rede para os quais seu PC executou / visualizou uma solicitação ARP. Se você quiser ver quais dispositivos estão conectados ao seu PC, então você precisa de netstat
ou similar (que mostrará automaticamente os dispositivos ipv4 e ipv6). ipv6 não usa ARP (usa o NDP)
Espero que isso ajude
Tags networking ipv6 arp