奇怪的 Wireshark 行为(标记为 TCP 和 UDP 的单个数据包)

Strange Wireshark behaviour (A single packet labeled both TCP and UDP)

我从 this website. (You can download the original pcap file 下载了一个很大的 PCAP 文件:368 MB)

你也可以download a short version that contains only some of the buggy packets

此文件中的一些数据包有些奇怪。里面有 1113 个标有 sFlow 的数据包,不管你对数据包应用哪个 wireshark-filter,你总是会在 window 中看到它们(或它们的一部分):

为了更清楚,让我们看一些屏幕截图:

未应用过滤器:

过滤以仅查看 tcp 个数据包:

过滤以仅查看 udp 个数据包:

过滤以查看具有 ip.addr == 68.64.21.64 的数据包

这些数据包有什么问题?

这些数据包属于 sFlow 类型。它们用于网络采样,因此它们包含其他网络数据包的样本。显示过滤器似乎不仅适用于 sFlow 数据包本身,还适用于每个内部数据包。所以 "tcp" 显示过滤器留下那些包含 tcp 样本的 sFlow 数据包(它们显然是 udp)。地址过滤也一样。

您可以如图所示检查内部数据包

不确定过滤器行为是否正确,我也被输出逗乐了。我认为,在 Wireshark bug database 开票听取开发者的意见会很棒。