网络知识===wireshark抓包数据分析(一)

wireshark分析:

上图是我进行一个HTTP协议的下载,文件内容大概是1.7M左右。

抓包数据:

 https://files.cnblogs.com/files/botoo/wireshark%E2%80%94http%E4%B8%8B%E8%BD%BD.rar

首先通过wireshark过滤的规则,过滤出满足条件的包。

前三次通信是三次握手。三次握手内容详见我之前的文章:网络知识===wireshark抓包,三次握手分析

第116次是我的http get请求,响应200。

然后服务器开始要向client发送数据了:

122  http协议确认发送

123   第一次发送,server端的seq = 1453   len =  1452   (实际上1506字节包括,1452的数据  和  14的MAC头地址   和   20的IP头  和  20的TCP头)

*这里补充点知识:数据太大就要分片。分片最大的包的单位叫做MTU。1500字节作为最大传输单位!

        MTU=数据 + TCP头+IP头      对应上列:MTU = 1452+20+20=1492

        MTU一般不大于1500字节。

可以对应下图:

 124   客户端第一次确认:这里的ACK= 2905  (确认的方式是:123次的seq+len)2905 = 1453+1452

            这样确认的目的是反馈我client收到server的数据是没有丢失的。再sever收到确认后又会继续发送数据

127  & 128  服务器向客户端发送数据  这里是两次,也可以是1次或者4,5,6次这是保证数据发送的高效

129  客户端第二次确认  :这里的 ACK = 5809 (确认的方式是:上一次,即128次的seq+len)5809 = 4357+1452

132 &  133  server发送数据

134 客户端确认

 ... ... ... ...

 ... ... ... ...

以此类推

 ... ... ... ...

直到数据发送结束。但是过程中有一些特殊的情况,我待会结合抓包数据做一下说明。详见wireshark抓包数据分析(二)

同时,如果有写的不对的地方希望指正。

原文地址:https://www.cnblogs.com/botoo/p/7799701.html