netstat
を使用できます このため。例を参照してください (私は ssh
を grep しました ):
netstat -putan | grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1725/sshd
tcp 0 0 1.2.3.4:45734 1.2.3.5:22 ESTABLISHED 2491/ssh
tcp6 0 0 :::22 :::* LISTEN 1725/sshd
説明:
パラメータ -putan
をよく使用します (覚えやすいからです)。
-p
:アプリケーション/プロセスの PID を表示します-u
:UDP ポート/接続を表示-t
:TCP ポート/接続を表示-a
:リスニング ソケットと非リスニング ソケットの両方を表示-n
:数値出力 (ホスト名などの DNS ルックアップを行わないでください)
上記の出力では、ssh デーモン プロセス (sshd
) PID 1725
付き ポート 22
でリッスン すべてのネットワーク インターフェイス (0.0.0.0
)。また、ssh クライアント プロセス (PID 2491
) IP アドレス 1.2.3.5
に接続 ポート番号 22
で 、私の IP アドレスは 1.2.3.4
です 私の外部ポートは 45734
です .接続が確立されていることがわかります。したがって、私は ssh
経由でログインしています .
これを行うことができる別のツールは lsof
です :
# lsof -i -a -p 1981
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1981 root 3u IPv4 917 0t0 TCP host.example.com:ssh (LISTEN)
# lsof -i -a -p 1981 -n
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1981 root 3u IPv4 917 0t0 TCP 10.1.2.3:ssh (LISTEN)
# lsof -i -a -p 1981 -n -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1981 root 3u IPv4 917 0t0 TCP 10.1.2.3:22 (LISTEN)
#
使用されるオプションは次のとおりです:
-i
プロセスによって開かれたインターネット ポートを出力する-a
すべてのオプションを AND 演算する-p 1981
プロセス 1981 の出力を表示する-n
ホスト名の検索を禁止し、代わりに IP を表示する-P
サービス ルックアップを禁止し、代わりにポート番号を表示する
lsof
大きな出力から grep するのではなく、チェックするプロセスを指定できるという利点があります。 netstat
lsof
ですが、システム上でより確実に利用できます は以前より標準的になりつつあります。
ss
Linux の iproute パッケージのユーティリティ