特定のポートにデータを送信するプロセスを見つける方法は?

特定のポートにデータを送信するプロセスを見つける方法は?

特定のポートを開いたままにするサービスがあります。

予想しても、得たくないデータを得ていますが、そのデータがどこから来るのかを調べようと努力しています。では、どのようなプロセスを見つけることができますか?送るデータはリッスンしているプロセスではなく特定のポートに送信されます。

ベストアンサー1

TCPの場合(SCTP 1またはすべての接続指向転送プロトコルに対して同じアプローチが機能しますが)、リスニングプロトコルを見つけるのと同じです。

lsof -nPi tcp:the-port

このポートでTCPソケットを開くプロセスが報告されます。ソースポートがわかっている場合(サーバーアプリケーションがそれを知って記録できる)、それを使用して悪意のあるクライアントを正確に見つけることができます。

UDPやRAWソケットではこれがもっと難しいですが、systemtapやdtraceのようなものが役に立つと思います。レビューされます。


1SCTPlsofサポートがバージョン4.86(Linuxのみ)に追加されましたが、-iSCTPソケットを明示的に要求することはできません。lsof -nP | grep -w 'SCTP.*:the-port'代わりに、これをヒューリスティックとして使用できます。

おすすめ記事