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 パッケージのユーティリティ