本文へ移動
QKQuickKitEN
TCP/IPLOCALブラウザ内で処理

IPv4 ヘッダーデコーダー

生の IPv4 ヘッダーを 16 進数からデコードします(バージョン・IHL・DSCP/ECN・フラグ・フラグメントオフセット・TTL・プロトコル・アドレス)。ヘッダーチェックサムも検証します。デコードのみで、どこにも送信しません。

入力と主要な処理をブラウザ内で行い、その入力内容をQuickKitサーバーへ送信しない設計です。

デコード結果

デコードした IPv4 ヘッダーのフィールド
バージョン
IHL(32 ビットワード数)
ヘッダー長
DSCP
ECN
全長
識別子(Identification)
フラグ
フラグメントオフセット
TTL
プロトコル
ヘッダーチェックサム
チェックサムの状態
送信元アドレス
宛先アドレス
オプション

ヘッダーのバイト列

仕組みと使い方

IPv4 ヘッダーを 16 進数で貼り付けます(20 バイト以上)。連続した文字列でも、0x 接頭辞・スペース・コロン・ハイフン・改行を含む 16 進数でも構いません。コロンで終わる先頭のオフセット列(tcpdump -x、xxd)と、末尾のパイプで囲まれた ASCII 欄(hexdump -C)は自動で取り除きます。区切りのない ASCII 欄(tcpdump -X)には対応していません。この処理はローカルで完結し、何も送信しません。ヘッダー長は IHL × 4 バイトで、IHL が 5 未満は不正です。DSCP と ECN は旧 ToS バイトから読み取ります。ECN は 2 ビットのキー(00 Not-ECT、01 ECT(1)、10 ECT(0)、11 CE)として表示し、代表的な DSCP 値(CS0〜CS7、AF11〜AF43、EF)は名前を付けます。不明な DSCP 値は名前を付けません。フラグメントオフセットは 8 バイト単位(格納値)とバイト数の両方で表示します。ヘッダーチェックサムはチェックサムフィールドを 0 として再計算し、ヘッダー内の値と比較します。RFC 791 に反するフィールドを持つヘッダーもデコードしますが、不正なヘッダーとして警告します。対象は、予約フラグビットが立っている(0 でなければなりません)、ヘッダー長を下回る全長(全長はヘッダー+データです。TSO/オフロード対応ハードウェアのキャプチャでは 0 になることがあります)、データが空または 8 バイトの倍数でない非最終フラグメント、データ末尾が 65535 バイトのデータグラムに収まらないフラグメントです。フラグメントに DF が立っていても警告しません。RFC 6864 では、既にフラグメント化されたデータグラムのさらなる分割を禁止する目的で DF を使えます。IHL が 5 より大きい場合はオプションの有無・合計バイト長・生の 16 進数を表示しますが、個々のオプション種別は解析しません。ヘッダー以降のペイロードは無視します。