在 Wireshark 版本 1.12.4 中,我尝试使用 SSDP 协议过滤掉数据包消息。当我单击过滤器字段旁边的表达式按钮,并选择“HTTP”(作为字段名称)和“存在”(作为关系)时,我仍然得到 SSDP。大多数消息都是 SSDP,因此很难对列表中使用 SSDP 的请求和响应数据包进行故障排除。
在 Wireshark 版本 1.12.4 中,我尝试使用 SSDP 协议过滤掉数据包消息。当我单击过滤器字段旁边的表达式按钮,并选择“HTTP”(作为字段名称)和“存在”(作为关系)时,我仍然得到 SSDP。大多数消息都是 SSDP,因此很难对列表中使用 SSDP 的请求和响应数据包进行故障排除。
SSDP 被实现为在 HTTP-over-UDP 之上运行的协议,因此过滤器“http”将匹配 SSDP 数据包。过滤器“http 而不是 udp”应该消除 SSDP 数据包;显然,它还将消除其他HTTP-over-UDP 数据包,但我不确定是否会有任何不是 SSDP 数据包的 HTTP-over-UDP 数据包。
我刚刚使用了工具中的功能,通过右键单击有问题的数据包之一,然后选择子菜单“应用为过滤器”>然后选择“..而不是选择”(在“未选择”分组下) .
然后将表达式更改为如下所示。
(http) && !(ip.dst == 239.255.255.250)
因此,使用表达式弹出窗口,它只能应用一个过滤器,但要获得多个过滤器,您可以键入过滤器表达式,然后单击“应用”。或使用右键单击上下文菜单,单击“应用为过滤器”,然后单击“应用”。
编辑:
此外,Wireshark 似乎也有自己的问答。
https://ask.wireshark.org/questions/unanswered/
正如Guy Harris 的有用回答所暗示的,SSDP 是使用 UDP 进行传输的 HTTP,这意味着它可以被简洁地捕获:
这使得继续过滤变得容易,例如:
就我而言,SSDP 被索尼蓝光播放器用于广告,所以我可以通过以下方式将其过滤掉:
我试过
http and !udp
了,但没有用。但是我发现以下对我有用:192.168.0.253
是我路由器的IP。