Wireshark捕捉到巨型帧的另一种处理方式

近期在使用Wireshark进行抓包的时候,发现了许多长度远大于MTU(1500字节)的包(帧),并且该类包只存在于rx(receive)流量,即外部网络到本地设备这个流向中。在朋友们的机器,以及另外一台台式机上进行测试,发现他们那都没有这种现象。这种极大长度、异常存在的包,会影响正常的流量分布,从而阻碍流量分析的进行,故亟须处理。

结论如下,主机的TCP/IP协议栈配置中,启用了RSC(Receive Segment Coalescing,接收段联合)选项。RSC选项允许网络适配器将多个TCP段联合成一个更大的段,从而减少每个段的处理开销,提高网络性能。这也就导致了接收到的包,通过网卡时被联合成了很大的包,从而造成了长度远大于1500字节的现象。

使用netsh命令查看TCP/IP配置:netsh int tcp show,并根据提示输入相应指令查看RSC配置。如下图所示,RSC目前在主机上时启用的。

TCP/IP协议栈设置

根据表格所显示的Idx,依次进行查看,找到抓包对应的网卡:netsh int tcp show rscstats <idx>。如图所示,RSC确实在工作并且联结了许多数据包。

WLAN网卡的RSC信息

使用指令将RSC选项关闭即可:netsh int tcp set global rsc=disabled

其他的情况

  1. 网卡进行TCP分片。主要针对有线网卡,无线网卡可能没有相关设置。Segment Offload
  2. 本地环路抓包过大。为了强化本地的通信速率,loopback地址的MTU往往是很大的。Loopback Captures
  3. 网卡分片技术总结。网卡TCP分片

鸣谢

感谢L. Yu,Y. Zhu在整个过程提供的帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值