TCP接続を開始したローカルプロセスを見つける

TCP接続を開始したローカルプロセスを見つける

tcpdump を使用すると、多くの SYN パケットが表示され、送信元 IP は localhost です。

どのプロセスが接続しようとしているのかを探したいです。

接続は ESTABLISHED 状態に達せず、ランダムポートスキャンとして表示されます。

ベストアンサー1

最近Linuxで同じ状況が発生しました(犯人はadb)。私のアプローチは、監査システムを使用してconnect()システムコールを記録することです。

sudo auditctl -a exit,always  -F arch=b64  -S connect -k who-connects

すべてのシステムコールを記録するように監査システムに指示しますconnect()(ここには64ビットバリアントがあります。32ビットアプリケーションと64ビットアプリケーションの両方を含むマルチアーキテクチャシステムを使用している場合は、32ビットバリアントに別のシステムコールを追加できます。あります)

後で実行:

sudo ausearch -i -k who-connects

何が接続されているかを確認してください。

ソケットAPIを使用せずにTCP接続を確立できます。たとえば、ユーザー空間でTCPスタックを実装し、低レベルのAPIを使用してパケットを送信すると、これは一般的ではありません(特にループバックインターフェイスで)。

おすすめ記事