Linux PCに接続されているすべてのデバイスを表示できます。
cat /proc/net/arp
ただし、これには、接続されているデバイスのIPv4アドレスとMACのみが表示されます。 IPv6アドレスはありません。
接続されたデバイスのIPv6アドレスを見つける方法は?
マシンへの接続が確立されているすべてのデバイスを表示したい場合は、
ss -t
すべてのIPv4およびIPV6 tcp接続を表示します。
cat /proc/net/arp
と同等のIPv6が必要な場合(つまり、レイヤー2アドレスをキャッシュしたローカルネットワーク上のすべてのマシンを表示する場合)は、
ip -6 neigh
または単に
ip neigh
iPv4とIPv6を組み合わせた隣接ノードの場合。
最も簡単なコマンドは、すべての接続を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を使用します)