2016-12-24 36 views
1

我从this website下载了一个大的PCAP文件。 (您可以download the original pcap file:368 MB)奇怪的Wireshark行为(单个数据包同时标记为TCP和UDP)

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

这个文件里面有些包有些奇怪。有1113个数据包在里面标记为sFlow,它并不重要你应用于数据包的wireshark过滤器,你总是会看到它们(或其中的一部分)在窗口中:

要更清楚让我们看看一些屏幕截图:

无过滤器适用于: enter image description here

过滤器只看到tcp包: enter image description here

过滤器只看到udp包: enter image description here

过滤器,看看报文ip.addr == 68.64.21.64 enter image description here

有什么不对这些数据包?

+0

这里完全脱离主题,但无论哪种方式,数据包本身不能同时是UDP和TCP,因为IP标头中有一个单独的8位字段,表明它是哪一个字段。 – Alnitak

回答

2

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

上的画面sFlow inner packet

不知道如果过滤器的行为是正确的,我被逗乐输出以及显示您可以检查内部分组。我认为,开放门票Wireshark bug database听开发商的意见会很好。

+2

Wireshark显示过滤器的工作方式与布尔运算符相同,因为如果表达式为true,则将显示数据包;如果它是假的,则不显示。这意味着如果数据包中的** any **字段与过滤器匹配,则数据包将被显示。这种行为是有意的,并且是完全预期的。 –