![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Wireshark
m0_37039331
这个作者很懒,什么都没留下…
展开
-
Wireshark---TCP窗口的几个误区
1.window size (即win=),这个值是发送窗口的大小吗?不是,这是在向对方声明自己的接收窗口。2.如何从包里看出发送窗口的大小呢?没有办法。3.发送窗口和MSS(最大段大小)有什么关系?发送窗口决定了一次能发送多少字节,而MSS决定了这些字节要分多少个包发完。4.发送方在一个窗口里发出n个包,就一定能收到n个确认包?不一定,确认包一般会少。因为TCP有延迟确认。那为...原创 2019-09-13 08:06:28 · 2440 阅读 · 0 评论 -
Wireshark---MTU带来的问题
当客户端发送给服务器的巨帧经过路由器时,要么被丢包,要么被分片,取决于该巨帧是否在网络层带了DF(Don’t Fragment)标志。案例1:用户浏览某些共享目录时客户端会死机,浏览其他目录则不会。思路:通过抓包,发现一直在重传,但是客户端一直没有确认。发生丢包的可能性很多,为什么能确定是MTU导致的呢?思路如下:①如果端口被防火墙阻止了也可能丢包,但是会从三次握手时就开始丢②网络拥...原创 2019-09-15 09:45:09 · 1244 阅读 · 0 评论 -
Wireshark---几个关于分片的问题
1.为什么要分片?目的是为了提高链路的利用率。电路交换的双方要独占链路,所以利用率很低,后来发明了分组交换,将数据分割,分割就需要确定包的大小,即MTU(最大传输单元)。2.发送方是如何确定分片大小的?一般发送方是根据自身的MTU来决定分片大小的。3.接收方是靠什么重组分片的?包里面有个flag,More fragments=0时,表示他是最后一个分片。4.TCP是如何避免被发送发分片...原创 2019-09-15 09:26:45 · 1488 阅读 · 0 评论 -
Wireshark的一些提示
1.TCP Previous segment not capturedTCP传输过程中,同一台主机发出的数据段应该是连续的,即后一个包的Seq号等于前一个包的Seq+Len(握手和挥手除外)。当Wireshark发现后一个包的Seq号大于前一个包的Seq+Len时,就会提示TCP Previous segment not captured。2.TCP ACK unseen segment当W...原创 2019-09-15 09:26:12 · 1558 阅读 · 0 评论 -
Wireshark---延迟确认和SACK
TCP协议栈默认是启用延迟确认的,启用的好处是在发送数据时,捎带确认,节省带宽,坏处是延迟,还有一点不太好的是,延迟确认会触发超时重传,这样带来的影响就更大了,在TCP窗口较小时,启用延迟确认,性能更差。解决方案:关闭延迟确认。有没有别的解决方案呢?有的,启用SACK。尤其在远程通讯时,启用SACK更高效,因为远程通讯的往返时间要花较多的时间。在Wireshark通过过滤条件"tcp.an...原创 2019-09-15 09:25:44 · 707 阅读 · 0 评论 -
Wireshark---LSO是什么
如果需要估算网络的拥塞点,可能会遇到一种情况,只能看见重传的包,根据Seq过滤找不到原始的包。可能原因:1.包是在接收方抓的,看不到已经丢在路上的原始包2.开始抓包时,原始包已经传完。实际情况是,原始包已经抓到了,但是Seq号过滤不出来。换了一个过滤条件,但是有意外的发现,TCP的MSS是1388,但是抓到的包有len=2倍MSS大小的包。经过一番搜索以后,发现是LSO(Large Seg...原创 2019-09-13 11:43:09 · 434 阅读 · 0 评论 -
Wireshark---没有启用SACK的性能问题
存储设备,写的性能很好,但是读的性能很差,相差约4.5倍。思路:1.一般的存储设备都是读比写快,所以排除存储设备本身的问题。2.存储端的带宽大,客户端的小,读取文件时数据从大入小,难免会有溢出的问题(网络拥塞),然后就会导致性能问题。写是相反的。3.抓包验证。分析:1.抓包以后,发现很多重传,重传对性能的影响很大,哪怕只有千分之5,。方案:1.将存储设备的发送窗口设置为较小的值,限...原创 2019-09-13 11:11:44 · 258 阅读 · 0 评论 -
Wireshark---接收方乱序导致的问题
首先,这是一个性能问题,经过简答你的抓包排查,发现有较多的重传(Retransmission),还有较多的乱序(Out-Of-Order)。思路:1.判断是乱序导致的重传,影响了性能。2.乱序产生的原因?一般是由发送方或者网络设备导致的。方案:1.通讯最小化原理,尽量减少中间设备2.LSO(Large Segment Offload,网卡直接负责分段大于MSS的数据,不需要CPU)会导...原创 2019-09-13 10:47:27 · 1739 阅读 · 0 评论 -
Wireshark---TCP的重传
为什么会有重传?重传的阈值是怎么计算的?重传有哪几种方式?①网络的传输大小不可能无限大,那么就会有限制,如果超过这个限制就会导致网络拥塞,拥塞就会丢包,丢包就需要重传。②动态的,无法精确计算。③快速重传,超时重传1.慢启动刚建立连接,发送方对网络不了解,如果一次发送太多就可能拥塞,RFC建议把初始拥塞窗口设置为2-4个MSS的大小,然后每收到n个确认,就把拥塞窗口增加n个MSS。2.拥...原创 2019-09-13 09:29:38 · 698 阅读 · 0 评论 -
Wireshark---网络被劫持
打开某个目标网站时,有时候会加载出其他的网站。思路:1.通过抓包,发现有些包乱序了,为什么会乱序呢?因为劫持的包抢先到达,导致乱序。2.被劫持的原理是:正常情况下,用户发出的HTTP请求,经过层层路由才能到达真实的Web服务器,然后真实的HTTP响应又经过层层路由才能回到用户端。如果是非正常情况,运营商可以在路由器上复制HTTP请求,交给假的Web服务器。然后在真的HTTP响应之前,把假的H...原创 2019-09-15 10:07:21 · 563 阅读 · 0 评论