IPv4 ヘッダーデコーダー
生の IPv4 ヘッダーを 16 進数からデコードします(バージョン・IHL・DSCP/ECN・フラグ・フラグメントオフセット・TTL・プロトコル・アドレス)。ヘッダーチェックサムも検証します。デコードのみで、どこにも送信しません。
入力と主要な処理をブラウザ内で行い、その入力内容をQuickKitサーバーへ送信しない設計です。
デコード結果
| バージョン | — |
|---|---|
| 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 進数を表示しますが、個々のオプション種別は解析しません。ヘッダー以降のペイロードは無視します。