質問: 特定のpidの現在のすべてのネットワーク接続を一覧表示する方法は? pidがある場合、そのプロセスに対して開いているすべての接続をどのようにして見つけることができますか?私は試しましたnetstat | grep $pid しかし、これは機能していないようです。そのpidを取得して、開いているすべてのネットワーク接続を出力するコマンドが必要ですが、方法がわかりません。私はstraceについて他の形式で見ましたが、これは私には意味がありません。
回答: ssを使用します。例として、proftpdのpidがあります。[root@ftp ~]# ps fax | grep proftpd 7461 ? ss 1:46 proftpd: (accepting connections) ここで、そのプロセスidのssの出力をgrepします。[root@ftp ~]# ss -nap | grep 7461 listen 0 5 *:21 *:* users:(("proftpd",7461,0)) どこ: -a:すべてのソケットを表示します -n:既知のポート番号を名前に解決しません(*:22 となります *:ssh) -p:プロセス情報を表示 注意。このアプローチは、たとえばpid 22がある場合、いくつかの誤検知を引き起こす可能性があります。これは、sshサーバーがリッスンしているtcpポートにもなります。