これは tcpprobe を使用して実行できます kprobe を使用して tcp_recv 処理パスにフックを挿入するモジュールです。 着信パケットに応答して TCP 接続の状態を記録します。
ポート 443 で tcp 接続をプローブしたい場合、次の手順を実行する必要があります:
sudo modprobe tcp_probe port=443 full=1
sudo chmod 444 /proc/net/tcpprobe
cat /proc/net/tcpprobe > /tmp/output.out &
pid=$!
フル=1 :受信した ack パケットごとにログオン
フル=0 :コンドミニアムの変更のみにログオンします (これを使用すると、出力が空になる可能性があります)
pidになりました プローブを記録しているプロセスです。停止するには、このプロセスを強制終了します:
kill $pid
output.out のフォーマット (198 行目のソースによる):
[time][src][dst][length][snd_nxt][snd_una][snd_cwnd][ssthresh][snd_wnd][srtt][rcv_wnd]