编辑:

编辑:

在 Wireshark 版本 1.12.4 中,我尝试使用 SSDP 协议过滤数据包消息。当我单击“过滤器”字段旁边的“表达式”按钮并选择“HTTP”(作为字段名称)和“存在”(作为关系)时,我仍然会收到 SSDP。大多数消息都是 SSDP,因此很难使用列表中的 SSDP 来排除我关心的请求和响应数据包故障。

https://www.wireshark.org/download.html

答案1

SSDP 是作为在 HTTP-over-UDP 之上运行的协议实现的,因此过滤器“http”将匹配 SSDP 数据包。过滤器“http 而非 udp”应排除 SSDP 数据包;它显然也会排除其他HTTP-over-UDP 数据包,但我不确定是否会存在不是 SSDP 数据包的 HTTP-over-UDP 数据包。

答案2

我只是使用了该工具中的功能,通过右键单击有问题的数据包之一,然后选择子菜单“应用为过滤器”>然后选择“......且未选择”(在“未选择”分组下)。

然后它将表情变成了这样。

(http)&&!(ip.dst == 239.255.255.250)

因此,使用表达式弹出窗口只能应用单个过滤器,但要获取多个过滤器,您可以键入过滤器表达式,然后单击“应用”。或者使用右键单击上下文菜单,单击“应用为过滤器”,然后单击“应用”。

这样就把列表中除 4 行之外的所有行都删除了!这些行都具有 SSDP 协议。

编辑:

此外,Wireshark 似乎有自己的问答。

https://ask.wireshark.org/questions/unanswered/

答案3

作为盖伊·哈里斯有用的答案表明,SSDP 是使用 UDP 进行传输的 HTTP,这意味着它可以通过以下方式简洁地捕获:

(!(http && udp))

这使得继续过滤变得容易,例如:

(!(http && udp)) & !ntp & ip.src==192.168.1.1

在我的例子中,SSDP 被索尼蓝光播放器用于广告,因此我可以使用以下命令将其过滤掉:

(!(http && udp && ip.dst==239.255.255.250))

答案4

我试过了http and !udp,但没用。不过我发现下面的方法对我有用:

http and !(ip.addr == 192.168.0.253 or ip.addr==239.255.255.250 or ipv6.addr == ff02::c)

192.168.0.253是我的路由器的IP。

相关内容