
TCP報頭中的源端口號和目的端口號同IP數據報中的源IP與目的IP唯一確定一條TCP連接
序號(4字節=32位):
37 59 56 75
用來標識TCP發端向TCP收端發送的數據字節流
確認序號(4字節=32位):
由於該報文為SYN報文,ACK標志為0,故沒有確認序號(ACK標志為1時確認序號才有效)TCP協議規定,只有ACK=1時有效,也規定連接建立后所有發送的報文的ACK必須為1
一旦連接建立,該值將始終發送(同ACK標志)
頭部長度:該字段占用4位,用來表示報文首部的長度,單位是4Byte。如:headLen = ((packet[12]>>4)&0x0F)*4;
預留6位:長度為6位,作為保留字段,暫時沒有什么用處。
URG:長1位,表示緊急指針字段有效;
ACK:長1位,置位表示確認號字段有效;TCP協議規定,只有ACK=1時有效,也規定連接建立后所有發送的報文的ACK必須為1
PSH:長1位,表示當前報文需要請求推(push)操作;
RST:長1位,置位表示復位TCP連接;
SYN:長1位,在連接建立時用來同步序號。當SYN=1而ACK=0時,表明這是一個連接請求報文。對方若同意建立連接,則應在響應報文中使SYN=1和ACK=1. 因此,SYN置1就表示這是一個連接請求或連接接受報文。
FIN:長1位,用於釋放TCP連接時標識發送方比特流結束;即完,終結的意思, 用來釋放一個連接。當 FIN = 1時,表明此報文段的發送方的數據已經發送完畢,並要求釋放連接。
窗口大小:長度為16位,2個字節。
校驗和:長度為16位,2個字節。
緊急指針:長度為16位,2個字節。
以上是TCP包頭必須要有的字段,也稱固有字段,長度為20個字節。
