Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

TCP (tcp)

下位レイヤからの到達

下位レイヤ判別フィールド値
ipv4protocol6 (0x06)
ipv6next_header6 (0x06)
ipv6_hopoptsnext_header6 (0x06)
ipv6_routenext_header6 (0x06)
ipv6_srhnext_header6 (0x06)
ipv6_fragnext_header6 (0x06)
ipv6_dstoptsnext_header6 (0x06)

フィールド

フィールド型既定値Auto説明
src_portuint(16)49152送信元ポート。
dst_portuint(16)80宛先ポート。次レイヤを選択する (179 = BGP、646 = LDP、3868 = Diameter、5060 = SIP)。
sequint(32)0先頭データオクテットのシーケンス番号 (SYN では初期シーケンス番号)。
ackuint(32)0確認応答番号。ACK フラグが立っているとき有効。
data_offsetuint(4)ヘッダの長さ (32 ビットワード単位)ヘッダ長 (32 ビット語単位、5〜15。Auto、オプションを含む)。
reserveduint(4)0予約ビット。0。
flagsflags(8)0x2制御フラグ: CWR、ECE、URG、ACK、PSH、RST、SYN、FIN (既定は SYN)。
windowuint(16)65535受信ウィンドウ (バイト。ウィンドウスケールオプションで拡大)。
checksumuint(16)ヘッダとそれ以降すべてに対する疑似ヘッダ付きインターネットチェックサムIPv4 / IPv6 擬似ヘッダを含むインターネットチェックサム (Auto)。
urgent_ptruint(16)0緊急ポインタ。URG フラグが立っているとき有効。
optionstlv — data_offset * 4 - 20 オクテットTCP オプション (TLV: EOL、NOP、MSS、ウィンドウスケール、SACK 許可、SACK、タイムスタンプ)。
paddingpadding(4)オプションを 32 ビット境界に揃えるゼロパディング (Auto)。

flags

ビットマスク名前
7128 (0x80)cwr
664 (0x40)ece
532 (0x20)urg
416 (0x10)ack
38 (0x08)psh
24 (0x04)rst
12 (0x02)syn
01 (0x01)fin

options

  • タイプ 8 ビット、長さ 8 ビット。
  • 長さはタイプと長さのフィールドも含みます。
  • 未知のタイプは値をオクテット列のまま保持します。
タイプ値名前値のフィールド説明
0 (0x00)eol(タイプのみ。長さと値なし)
1 (0x01)nop(タイプのみ。長さと値なし)
2 (0x02)mssvalue
3 (0x03)wsshift
4 (0x04)sack_permitted
5 (0x05)sackblocks
8 (0x08)timestampstsval, tsecr

options › mss

フィールド型既定値Auto説明
valueuint(16)

options › ws

フィールド型既定値Auto説明
shiftuint(8)

options › sack

フィールド型既定値Auto説明
blockslist<struct> — PDU の残りすべて
options › sack › blocks

各要素は以下のフィールドの組です。

フィールド型既定値Auto説明
leftuint(32)
rightuint(32)

options › timestamps

フィールド型既定値Auto説明
tsvaluint(32)
tsecruint(32)

次レイヤ

次レイヤは dst_port で判別します。このフィールドが Auto のときは、上に積んだプロトコルの値を書き込みます。 デコード時は、最初のフィールドがどの項目にも一致しなければ src_port も参照します。

値プロトコル備考
179 (0x00b3)bgp
646 (0x0286)ldp
3868 (0x0f1c)diameter
5060 (0x13c4)sip

制約

レベル規則
エラーdata_offset が 5..15 の範囲

サンプルテンプレート