ブラウザ上の任意の Web サイトの現在の TCP 接続の SYN 値と SYN+ACK 値を取得するにはどうすればよいですか?

ブラウザ上の任意の Web サイトの現在の TCP 接続の SYN 値と SYN+ACK 値を取得するにはどうすればよいですか?

私が知っているように

'$sysctl | grep net.ipv4.tcp'

システム全体のTCPパラメータ値を与えるので、大学の実習ファイル用にBashでスクリプトを作成する必要があります。ブラウザを開いて次のようなURLを入力すると、グーグル次に、この接続確立の SYN 時間と SYN+ACK タイミングを取得してシステム全体のパラメータと比較し、遅延の決定を下して SYN と SYN+ACK に関するメッセージを表示する必要がありますか?

答え1

tcpdump を使用すると、SYN と SYN/ACK 間のデルタ時間を確認でき、初期 RTT がわかります (クライアントからキャプチャしていると仮定)。

たとえば、tcpdump -nS -s0 host www.google.com -ttt探している情報が表示されます。

初期のラウンドトリップ時間だけを自動的に抽出したい場合、1 つの簡単な方法 (ただし、エラーが起こらないというわけではありません) は、tcpdump の出力をファイルにリダイレクトし、grep と awk を使用して SYN/ACK パケットのデルタ時間だけを抽出することです。例:

  1. tcpdump -nS -s0 host www.google.com -ttt > /tmp/handshake.txt
  2. cat /tmp/handshake.txt | egrep '\[S\.\]' | awk 'BEGIN { FS = " " } ; { print $1 }'

上記のコマンドは、要件に合わせて単純な bash スクリプトに追加できます。

「システム全体のパラメータ」との比較について話しているとき、何を意味しているのかわかりません。ラウンドトリップ時間を制御する sysctl 値は存在せず、どのサーバーと話しているかによって大きく異なります。

関連情報