1. TCP 包结构图解说明:

2. 数据进入协议栈的封装过程

3. 封包详细信息 (Packet Details Pane)
这个面板是我们最重要的,用来查看协议中的每一个字段。

Frame: 物理层的数据帧概况
Ethernet II: 数据链路层以太网帧头部信息
Internet Protocol Version 4: 互联网层IP包头部信息
Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP
Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议

Source Port`: 用来传输数据包的端口 🦌
Destination Port: 接收数据的端口
Sequence Number: 该数字表示一个TCP片段,这个部分用来表示数据部分没有丢失
Acknowledgment Number: 该数字是通信中希望从对方中得到的下一个数据包的序号
Data offset: 数据偏移
Reserved: 保留
Window: 窗口大小
checksum: 校验和
Urgent Pointer: 紧急指针
Options: 选项
4. 标志位解释
[ URG ](Urgent Pointer Field Significant):紧急指针标志,用来保证TCP连接不被中断,并且督促中间设备尽快处理这些数据
[ ACK ](Acknowledgement Field Signigicant):确认号字段,该字段为1时表示应答字段有效,即TCP应答号将包含在TCP报文中。
[ PSH ](Push Function): 推送功能,所谓推送功能指的是接收端在接收到数据后立即推送给应用程序,而不是在缓冲区中排队。
[ RST ] (Reset the connection): 重置连接,不过一搬表示断开一个连接。该标志表示连接复位请求,用来复位那些产生的错误连接,也用来拒绝错误和非法的数据包
[ SYN ](Synchronize sequence numbers):同步序列号,用来发起一个连接请求。SYN标志位和ACK标志位搭配使用,当连接请求的时候,SYN=1,ACK=0;当连接响应的时候SYN=1,ACK=1。标志的数据经常用来进行端口扫描,扫描者发送一个只有SYN的数据包,如果对方主机回应一个数据包,则说明该主机的对应端口是存在监听的。
[ FIN ](No more data from sender):表示发送端发送任务已经完成(既断开连接),说明数据结束了,也就是双方数据传输完成,断开连接的意思。该标记也可以用于进行端口扫描,当发送一个带有FIN标记的数据包的时候,如果对方相应一个RST说明这台计算机对应的端口是不存在的,但是对应的计算机是存在的,若是对方没有反馈任何数据包,就表明这台被扫描的计算机是存在这个端口

5. 注意:
1. 即使Seq不为0,并不表示曾经一定发送过数据,是否发送过数据需要依据Len指令的值有没有大于0的来判断。
2. 3次握手和4次挥手过程中一般是不会传送数据的,所以这个过程中Len指令都是0
3. ACK和Ack作用是不同的,ACK表示确认收到了数据,Ack表示下一次发过来的数据的序号