TCP 协议

TCP 协议抓包分析

TCP 通信过程中 seq 和 ACK 值说明

  • TCP 连接通信过程中,client 和 server 端各自维护自己的 seq。后面一个数据包的 seq 是前面一个数据包的 seq 加上前面一个数据包的大小。表示发送的字节位置。

    假如当前连接中,之前一个包 seq = 100,其发送数据包大小为 0,则当前要发送的数据包的 seq = 0

    假如当前连接中,之前一个包 seq = 100,其发送数据包大小为 20,则当前要发送的数据包的 seq = 120

  • TCP 连接通信过程中,client 和 server 端要发送给对方的包的 ACK 的值为:收到的包的 seq + 收到的包的 Len,此值告知发送方,接收方希望接收到的下一个包的序列号。

    假如接收方接收到了 seq = 100Len = 0 的包,接收方需要发送的 ACK = 100 + 1

    假如接收方接收到了 seq = 100Len = 20 的包,接收方需要发送的 ACK = 100 + 20

参考链接

TCP 实战抓包分析

wireshark抓包分析——TCP/IP协议