コンテンツへスキップ
uencoder

TCP セグメントヘッダーをパースする

TCP ヘッダーには送信元/宛先ポート、シーケンス番号、フラグ、ウィンドウサイズが含まれます。ネットワーク分析のために TCP ヘッダーをデコードする方法を学びましょう。

  1. 1

    TCP ヘッダーは 20〜60 バイトです。フィールド:送信元ポート(2 バイト)、宛先ポート(2 バイト)、シーケンス番号(4)、確認応答番号(4)、データオフセット + フラグ(2)、ウィンドウサイズ(2)、チェックサム(2)、緊急ポインター(2)、オプション(0〜40)。フラグ:SYN、ACK、FIN、RST、PSH、URG、ECE、CWR。

  2. 2
    HEX デコーダー →

    TCP ヘッダーの 16 進表現をデコードします。最初の 4 バイトは送信元ポートと宛先ポートです。例えば、0x0050 はポート 80(HTTP)です。各フィールドをオフセットとサイズに従ってデコードします。

  3. 3
    バイナリデコーダー →

    フラグのバイトを 2 進数でデコードします。各ビットがフラグを表します:FIN(0x01)、SYN(0x02)、RST(0x04)、PSH(0x08)、ACK(0x10)、URG(0x20)。SYN+ACK = 0x12 = 2 進数で 00010010 です。これで接続状態がわかります。

よくある質問

TCP フラグは何を意味しますか?
SYN:シーケンス番号の同期(接続開始)。ACK:確認応答番号が有効。FIN:終了(正常なクローズ)。RST:リセット(接続の中断)。PSH:データを即座にプッシュ。URG:緊急ポインターが有効。フラグの組み合わせが接続フェーズを示します(ハンドシェイクでは SYN、SYN-ACK、ACK)。
TCP ウィンドウサイズとは何ですか?
受信者が確認応答なしで受け入れられるバイト数を示します。フロー制御です。ウィンドウが大きいほどスループットが上がります(ACK 待ちが減る)。ウィンドウスケーリング(RFC 7323)は、オプションのスケール係数により 65535 を超えるウィンドウを可能にします。

このタスクを解決するワークフロー

関連ツール