(ip
openwrtにパッケージをインストールする必要がある場合があります(v12 /姿勢調整)
ifconfig / netstatなどは非推奨と見なされるため、(rootとして)を使用する必要があります
ss -nlput | grep sshd
文字列を含む実行中のプログラムsshd
がリッスンしているTCP / UDPソケットを表示する
-n
名前解決へのポートなし
-l
リスニングソケットのみ
-p
リスニングプロセスの表示
-u
UDPソケットを表示
-t
tcpソケットを表示
次に、次のようなリストを作成します。
tcp LISTEN 0 128 *:22 *:* users:(("sshd",3907,4))
tcp LISTEN 0 128 :::22 :::* users:(("sshd",3907,3))
tcp LISTEN 0 128 127.0.0.1:6010 *:* users:(("sshd",4818,9))
tcp LISTEN 0 128 ::1:6010 :::* users:(("sshd",4818,8))
興味深いのは、IPアドレスとポートの組み合わせを示す5番目の列です。
*:22
使用可能なすべてのIPv4アドレスでポート22でリッスンします
:::22
使用可能なすべてのIPアドレスでポート22でリッスンします(IPはRFC 6540によるIPv6であるため、IPv6を記述しません)
127.0.0.1:6010
IPv4アドレス127.0.0.1(localhost / loopback)およびポート6010でリッスンします
::1:6010
IPアドレスでリッスンします:: 1(0:0:0:0:0:0:0:1完全表記で、localhost / loopbackも)とポート6010
次に、IPv4アドレスを持つインターフェイスを知りたい(1をカバーするため)
ip -4 a
# or "ip -4 address"
# or "ip -4 address show"
またはIPアドレス(2をカバーするため)
ip -6 a
# or "ip -6 address
# or "ip -6 address show
(IP(-6
)またはIPv4(-4
)のオプションを追加しない場合は両方が表示されます)
また、たとえば、127.0.0.1
または他のIP / IPv4-address を出力および検索する外観を持つこともできます。
# here a demo where i show all addresses of the device "lo" (loopback)
ip a show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
行が始まるinet
と、inet6
これらのIPアドレスは、このインターフェイスにバインドされている、あなたはインターフェイスごとにこれらの行の多くを持っていることを示しています。
he-ipv6: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN
link/sit 192.0.2.1 peer 192.0.2.3
inet6 2001:db8:12::1/64 scope global
valid_lft forever preferred_lft forever
inet6 2001:db8::2/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::1111:1111/128 scope link
valid_lft forever preferred_lft forever
そしてスクリプトで:
address="127.0.0.1"
for i in $(grep ':' /proc/net/dev | cut -d ':' -f 1 | tr -d ' ') ; do
if $(ip address show dev $i | grep -q "${address}") ; then
echo "${address} found on interface ${i}"
fi
done
(「127.0.0.1」を置き換えます)