如何将SSDP协议从Wireshark视图中滤除?

在Wireshark版本1.12.4中,我试图用SSDP协议来过滤掉数据包。 当我单击filter字段旁边的expression式button,select“HTTP”(作为字段名称)和“存在”(作为关系),我仍然得到SSDP。 大多数消息是SSDP,所以很难排除我在意SSDP在列表中的请求和响应数据包。

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

SSDP被实现为在UDP-over-UDP之上运行的协议 ,所以filter“http”将匹配SSDP分组。 filter“http and not udp”应该消除SSDP数据包; 显然,它也会消除其他 HTTP-over-UDP数据包,但我不确定是否会有任何不是SSDP数据包的HTTP-over-UDP数据包。

我刚刚使用了工具中的function,右键单击其中一个有问题的数据包,然后select子菜单“作为filter应用”,然后select“..和未select”(在“未选定”分组下) 。

然后它改变了这个表情。

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

因此,使用“expression式”popup式窗口时,只能应用一个filter,但要获取多个filter,您可以键入filterexpression式,然后单击“应用”。 或者使用右键单击上下文菜单,单击“应用为filter”,然后单击“应用”。

这消除了列表中除了4行之外的所有行! 这些都有SSDP协议。

编辑:

此外,它看起来Wireshark有它自己的问答。

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

正如Guy Harris的有用答案所表明的那样,SSDP是使用UDP进行传输的HTTP,这意味着它可以简单地被以下情况所捕获:

 (!(http && udp)) 

这使得继续过滤变得容易:

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

在我的情况下,索尼蓝光播放器正在使用SSDP进行广告,所以我可以用下面的方法进行过滤:

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

我试过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。