TCP
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Destination Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Acknowledgment Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data | |U|A|P|R|S|F| | | Offset| Reserved |R|C|S|S|Y|I| Window | | | |G|K|H|T|N|N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | Urgent Pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Source Port:源端口
Destination Port:目的端口
Sequence Number:序列号,初始为0~2^32-1中的一个随机数
Acknowledgment Number:确认序列号,如果 ACK控制位为1 则表示的是下一个要接收的包的序列号,建立连接后该值为接收到的包中的Sequence Number + 载荷包大小(即wireshark中显示的TCP Segment Len)
Data Offset: 4位包括TCP头大小,指示data从何处开始
Reserved: 6位保留位,全零
Control Bits: 6位控制位. 1.URG->紧急标志 ; 2. ACK-> ACK控制位 ; 3.PSH->推(push)标志; 4.RST->(reset)重置连接标志 ; 5.SYN->同步序列号标志 ; 6. FIN->完成发送数据标志;
Window: 表示想收到的每个TCP数据段的大小。TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。
Checksum:校验和
Urgent Pointer: 指向后面是优先数据的字节,加快处理标示为紧急的数据段,在URG标志设置了时才有效.
Options && padding:可选项和填充
data:载荷