网络--- tcp抓包分析经验

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位序号,表示发送的数据段第一个字节的序列号;

Ack:32位确认序号,我希望下次接收到的数据段第一个字节的序列号;

Win:发送方的滑动窗口大小,告诉对方还可以接收字节数;

Push+ACK包:数据包+ACK包,这样是为了减少网络流量;

MSS:

TCP层支持的最大分包字节数,以太网的电气性能决定了该值为1460字节,ethernet层的MTU值最大1500字节,除去IP头20字节、TCP头20字节。

你可能感兴趣的:(网络)