我正在分析特定接口上的日志,并想知道为什么在小负载测试期间执行此命令:
tcpdump -i enp21s0f0 -s0 -w /tmp/dump2.cap`
只捕获了 75 MB,当时
ethtool -S enp21s0f0 / ifconfig enp21s0f0
显示大约有80 MB的数据(我比较了测试前后的rx_bytes&tx_bytes来获得这个值)。
之后,我对一个 ARP 数据包进行了相同的测试(多次),tcpdump 捕获了 64 个字节,但 ethtool 显示 68 个字节。那么,这 4 个字节包含什么?是否可以捕获这些字节?或者,至少可以对它们进行预测?
答案1
原因是 NIC 驱动程序添加的流量,仅在两个接口之间可见:
- 大段卸载
- 帧校验序列
应用以下命令后,可以通过 tcpdump 获取此流量:
- ethtool --offload enp21s0f0 rx 关闭 tx 关闭
- ethtool -K enp21s0f0 rx-fcs 开启