web-dev-qa-db-ja.com

Linux PCに接続されているデバイスのIPv6アドレスを見つける方法は?

Linux PCに接続されているすべてのデバイスを表示できます。

cat /proc/net/arp

ただし、これには、接続されているデバイスのIPv4アドレスとMACのみが表示されます。 IPv6アドレスはありません。

接続されたデバイスのIPv6アドレスを見つける方法は?

2
MOHAMED

マシンへの接続が確立されているすべてのデバイスを表示したい場合は、

ss -t

すべてのIPv4およびIPV6 tcp接続を表示します。


cat /proc/net/arpと同等のIPv6が必要な場合(つまり、レイヤー2アドレスをキャッシュしたローカルネットワーク上のすべてのマシンを表示する場合)は、

ip -6 neigh

または単に

ip neigh

iPv4とIPv6を組み合わせた隣接ノードの場合。

3
user4556274

最も簡単なコマンドは、すべての接続を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 

カーネルの現在のネイバーテーブルを表示します。

しかし[〜#〜] note [〜#〜]コメントで見たように:/proc/net/arpは、PCに接続されているデバイスをリストしません。これは、PCがARP要求を実行/確認したサブネット上のデバイスのリストを示します。 PCに接続されているデバイスを確認するには、netstatまたは同様のものが必要です(IPV4とIPV6の両方のデバイスが自動的に表示されます)。 IPV6はARPを使用しません(NDPを使用します)

1
antzshrek