43.2. カーネルの受け入れキューに追加された TCP 接続の表示
カーネルは、TCP 3 方向ハンドシェイクで ACK
パケットを受け取ると、カーネルは接続の状態が ESTABLISHED
に変更された後に SYN
キューから accept
キューに移動します。そのため、正常な TCP 接続だけがこのキューに表示されます。
tcpaccept
ユーティリティーは、eBPF 機能を使用して、カーネルが accept
キューに追加するすべての接続を表示します。このユーティリティーは、パケットをキャプチャーしてフィルタリングする代わりにカーネルの accept()
関数を追跡するため、軽量です。たとえば、一般的なトラブルシューティングには tcpaccept
を使用して、サーバーが許可した新しい接続を表示します。
手順
次のコマンドを実行して、カーネルの
許可
キューの追跡を開始します。# /usr/share/bcc/tools/tcpaccept PID COMM IP RADDR RPORT LADDR LPORT 843 sshd 4 192.0.2.17 50598 192.0.2.1 22 1107 ns-slapd 4 198.51.100.6 38772 192.0.2.1 389 1107 ns-slapd 4 203.0.113.85 38774 192.0.2.1 389 ...
カーネルが接続を受け入れるたびに、
tcpaccept
は接続の詳細を表示します。- Ctrl+C を押して、追跡プロセスを停止します。
関連情報
-
tcpaccept(8)
の man ページ -
/usr/share/bcc/tools/doc/tcpaccept_example.txt
ファイル