如何查找连接到我的 Linux PC 的设备的 ipv6 地址?

如何查找连接到我的 Linux PC 的设备的 ipv6 地址?

我可以通过以下方式查看所有连接到我的 Linux PC 的设备:

cat /proc/net/arp

但这仅显示所连接设备的 IPv4 地址和 MAC。没有 IPv6 地址。

如何找到连接设备的 IPv6 地址?

答案1

如果您想查看与您的机器建立连接的所有设备,您可以使用

ss -t

查看所有 IPv4 和 IPV6 tcp 连接。


如果您想要 IPv6 等效项cat /proc/net/arp(即查看本地网络上已缓存第 2 层地址的所有计算机),请使用

ip -6 neigh

或者简单地

ip neigh

对于组合的 IPv4 和 IPv6 相邻节点。

答案2

最简单的命令是列出所有连接ss | less,但要仅查看 tcp、udp 或 unix 连接,请-t使用

ss -t

这应该会显示所有 IPv4 和 IPV6 tcp 连接。


  • 要仅显示 IPv4 套接字连接,请使用-f inet-4选项。

    ss -tl -f inet 或

    SS-TL-4

  • 要仅显示 IPv6 连接,请使用-f inet6-6选项。

    ss -tl6 或

    SS-finet6


或者只是供 IPv4 和 IPv6 相邻节点组合使用

ip neighbour 

这将显示内核中当前的邻居表。

笔记正如您在评论中看到的:/proc/net/arp没有列出连接到您的电脑的设备。它显示您的子网上的设备列表,您的 PC 已针对这些设备完成/看到了 ARP 请求。如果您想查看哪些设备连接到您的电脑,那么您需要netstat或类似的(它将自动显示 IPV4 和 IPV6 设备)。 IPV6 不使用 ARP(它使用 NDP)

相关内容