特定の IP とポートに接続しているすべてのプロセスを一覧表示することは可能ですか?

特定の IP とポートに接続しているすべてのプロセスを一覧表示することは可能ですか?

特定の IP とポートに接続しているプロセスを一覧表示したいのですが、これを実現するコマンドはありますか?

答え1

lsof

lsof -nPi @192.168.1.123:443

(-tプロセス ID のみが必要な場合に追加します)。

そのアドレスにバインドされたソケットもリストされます。

ss( iproute2Linux から) :

ss state established dst 192.168.1.123 'dport = :443'

PSMisc の場合fuser:

fuser -n tcp ,192.168.1.123,443
fuser -n udp ,192.168.1.123,443

ただし、少なくともバージョン 22.21 では IPv6 にマップされた IPv4 アドレスは報告されないので、それらについては別のクエリが必要になります。

fuser -n tcp ,::FFFF:C0A8:017B,443

( ::FFFF:C0A8:017B192.168.1.123 の IPv6 マップ バージョン)。

答え2

ss古いものの代わりとなるものを見てみましょうnetstat

例えば:

 ss -atp

root として、サーバー上の現在のすべての TCP 接続をプロセス名と PID とともに一覧表示します。

man ssその他のオプションについては、こちらをご覧ください。

よろしくお願いします

答え3

形式は次のとおりです。

lsof -i [tcp|udp][@ホストアドレス][:[サービス名|ポート]]

例えば、

lsof -i [email protected]:443

見るlsof(8)

関連情報