98408 16:55:40.447814 192.168.45.182 -> 192.168.45.178 TCP 8790 > 9112 [PSH, ACK] Seq=109220 Ack=136247 Win=118 Len=282
客户端发送(PSH+ACK)包,seq=109220,ACK表示下一包期待接收的seq是136247,Win字段表示还能接收118字节,带有282字节数据;
98411 16:55:40.627255 192.168.45.178 -> 192.168.45.182 TCP 9112 > 8790 [ACK] Seq=136247 Ack=109502 Win=64112 Len=118
服务端发送ack包,seqno就是上一包的ackno,ackno 是上一包的seq+len(109502= 109220 + 282),还能接收64112字节数据,本次发送118字节内容;
98412 16:55:40.664670 192.168.45.182 -> 192.168.45.178 TCP [TCP ZeroWindow] 8790 > 9112 [PSH, ACK] Seq=109502 Ack=136365 Win=0 Len=165
客户端发送【TCP ZeroWindow】包,seqno就是上一包的ackno,ackno 是上一包的seq+len【136365=136247+118】,Win=0表示客户端的接收窗口已经满,不能再接收消息,客户端应用调用接口从TCP接收缓冲取数据后才能继续接收消息。
Seq:32位序号,表示发送的数据段第一个字节的序列号;

本文介绍了TCP抓包分析的经验,包括客户端和服务端的交互细节。例如,客户端发送PSH+ACK包,携带数据并确认服务端的序列号;服务端回应ACK包,表明接收并准备接收更多数据;客户端发送ZeroWindow包,表示接收窗口已满,需要应用层处理。通过解析Seq、Ack、Win字段,理解TCP连接的状态和流量控制。
最低0.47元/天 解锁文章
617

被折叠的 条评论
为什么被折叠?



