IP・サブネットツール

TCPフラグ解析

10進数、0x付き16進数、0b付き2進数を入力するか、8個の制御ビットを選択してください。

TCPフラグ解析

フラグの数値

8個のビットを編集

チェック操作で0xHHに書き換えます。空欄や不正な入力は先に修正してください。

解析結果

10進数
18
16進数
0x12
2進数
00010010

組み合わせと文脈

SYN + ACK

0x02 | 0x10 = 0x12

SYN + ACK:ハンドシェイクの応答でよく見られます。

  • 0 · CWR · 128 — 設定なし. 従来の輻輳ウィンドウ縮小またはECN交渉。
  • 0 · ECE · 64 — 設定なし. 文脈に応じたECNエコーまたは交渉。
  • 0 · URG · 32 — 設定なし. 緊急ポインタの欄が有効。
  • 1 · ACK · 16 — 設定あり. 確認応答番号の欄が有効。
  • 0 · PSH · 8 — 設定なし. プッシュ機能。
  • 0 · RST · 4 — 設定なし. リセットの指示。
  • 1 · SYN · 2 — 設定あり. シーケンス番号を同期。
  • 0 · FIN · 1 — 設定なし. 送信側にこれ以上送るデータがない。

数値はブラウザー内で処理します。送信、キャプチャ、ネットワーク調査は行いません。

入力の規則

接頭辞なしは10進数。16進数は0x、2進数は0b。最大64文字です。

下位8ビットのみ:0〜255。AE(旧NS)は対象外です。

組み合わせはよくある文脈を示し、接続状態は判定しません。ECE/CWRは従来のECNに基づく説明です。

設定ビット:2、10進数:18。

TCPフラグ解析は、ログの18とパケット表示の0x12を照合したいときに使えます。同じ2個のビットを別の基数で表しているだけで、確認応答番号の値ではありません。

フローログの場合は、複数パケットのフラグが集約されていることがあります。数値の出所を確認してから、各ビットの意味を読み取ってください。

TCPフラグ解析で対応を見える形に

数値と個々の重みを並べて確認できます。

一つのチェックで差分を確かめる

TCPフラグ解析では数値と8個のチェック欄が対応します。0x12からSYNを外すと入力は0x10になり、ACKだけが残ります。どの重みが消えたかをその場で確認できます。

8個の位置のうちACKとSYNの位置だけが点灯している図

独立した重みを組み合わせる

ゼロから必要なビットを選択できます。SYNの重み2とACKの重み16をORで合わせると18になります。二つの設定ビットが、それぞれの位置を保って一つのマスクになる様子を図で確認できます。

別々のビットが点灯した二つの行を一つの8ビット行へまとめる図

入力形式と更新タイミングを確認

01

基数は接頭辞で区別する

10は10進数の十、0b10は2進数の二です。16進数の文字だけを入力せず、0xを付けてください。先頭のゼロは8進数指定になりません。

  • 0X0012と18は同じ値として扱います。
02

変更後は新しい結果を待つ

チェック操作は入力を0xHHに書き換えます。自動解析は350ms後に実行され、無効にすると実行ボタンが表示されます。

  • Ctrl/Cmd + Enterでも解析できます。更新前の結果はコピーも保存もできません。
03

出力を元の記録と照合する

JSONには未設定のビットも含む全8個の状態、重み、OR式が入ります。ログ側の集約仕様と合わせて確認してください。

  • SYN + ACKがあるだけでは、接続の確立まで確認したことにはなりません。

制御ビット一覧と数値の内訳

3種類の表記を同時表示

16進数は2桁、2進数は8桁で表示し、先頭のゼロも保持します。TCPフラグの数値は符号なしのマスクとして読み取り、ポート番号やシーケンス番号とは区別します。

設定されていないビットも確認

FIN=1からCWR=128までの重みと説明を一覧にします。ACKは確認応答番号欄、URGは緊急ポインタ欄が有効であることを示し、それぞれの数値そのものは表しません。

SYN・RST・PSHを含む組み合わせ

6種類の例を用意しています。SYNとFIN、SYNとRSTが同時に設定された値も解析し、文脈が必要な組み合わせとして注記します。勝手にビットを取り除くことはありません。

対象範囲と読み取れない情報

対象は下位8ビット
入力範囲は0〜255です。その外にあるAEは、かつてNSとして使われた位置です。本ツールでは扱わず、0x100や0x1FFを切り捨てて受け付けることもありません。
単一の数値だけを受け付ける
前後の空白を含め64文字までです。負数、小数、指数表記、フラグ名、tcpdumpの略記、演算式、複数の数値は受け付けません。名前から組み立てる場合はチェック欄を使います。
接続状態は判定しない
PCAPの読み込み、パケットキャプチャ、ポート調査、接続の再構成は行いません。フラグだけでは方向、ペイロード長、シーケンス番号や通信の経過が分かりません。
ECNは文脈によって意味が変わる
ECEとCWRには従来のECNに基づく説明を表示します。AccECNでは複数ビットの解釈が変わるため、この表示だけでネゴシエーションや輻輳を診断しないでください。
置換は確認してから適用
例とクリアにはプレビューがあり、入力数と設定ビット数を確認できます。適用後は一度取り消せます。文字入力とチェック欄は直接編集なので、操作のたびに確認画面は開きません。

TCPフラグ解析のよくある質問

TCPフラグにはどのような種類がありますか?

ここではFIN、SYN、RST、PSH、ACK、URG、ECE、CWRの8個を表示します。現在のTCPでは別の位置にAEも定義されていますが、本ツールの対象は下位8ビットだけです。

PSHフラグは何を表しますか?

PSHはプッシュ機能を表し、受信側が後続データを待って受け渡しを遅らせないために使われます。アプリケーションのメッセージ境界や、データの優先度を表す印ではありません。

RSTフラグがあると何が分かりますか?

RSTはリセットの指示で、重みは4です。ACKも設定されていれば20になります。リセットの原因や発生した機器は、フラグだけでは特定できません。

SYNフラグの値はいくつですか?

SYNだけなら10進数の2、16進数の0x02です。シーケンス番号の同期に使われますが、フラグの値から初期シーケンス番号を計算することはできません。

ACKフラグと確認応答番号は同じですか?

異なります。ACKフラグは重み16の1ビットで、確認応答番号の欄が有効であることを示します。確認応答番号そのものは別の32ビット欄にあり、本ツールには入力しません。

解決しませんでしたか?

ビットの内訳を確かめ直す

TCPフラグ解析で数値と重みを照合し、必要ならJSONを調査記録として保存してください。