以下から、私の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に接続されているデバイスはありません。 PCがARP要求を完了/確認したサブネットのデバイスのリストを表示します。コンピュータにどのデバイスが接続されているかを確認するには、netstat
同様のデバイスが必要です(IPV4およびIPV6デバイスが自動的に表示されます)。 IPV6はARPを使用しません(NDPを使用します)。