2014-03-06 64 views
0

我在我的路由器上安装了openWRT发行版,并在其中启用了对avahi的支持。我的目标是发现我的网络中的网络服务。哪里可以过滤多播数据包?

我使用宣布的服务将我的PC插入LAN端口。在我的路由器桥接接口上运行的tcpdump:tcpdump -i br0 -vvn udp port 5353

在浏览的avahi执行我收到输出: 根@本地:〜#的avahi-浏览-art

21:55:22.995004 IP (tos 0x0, ttl 255, id 0, offset 0, flags [DF], proto UDP (17), length 74) 
    192.168.1.1.5353 > 224.0.0.251.5353: [udp sum ok] 0 PTR (QM)? _services._dns-sd._udp.local. (46) 

但在我的电脑Wireshark的并没有表现出在该呼叫期间的任何多播查询,因此找不到服务。

这是否意味着路由器以某种方式过滤组播数据包? 只有这样,我知道是ebtables来筛选,这表明一无所知的mDNS地址过滤:

[email protected]:~# ebtables -L 
Bridge table: filter 

Bridge chain: INPUT, entries: 1, policy: ACCEPT 
-j RO_INPUT 

Bridge chain: FORWARD, entries: 1, policy: ACCEPT 
-j RO 

Bridge chain: OUTPUT, entries: 1, policy: ACCEPT 
-j IGMPPROXY 

Bridge chain: RO, entries: 0, policy: RETURN 

Bridge chain: RO_INPUT, entries: 0, policy: RETURN 

Bridge chain: IGMPPROXY, entries: 4, policy: RETURN 
-p IPv4 -o wl0.1 --ip-dst 239.0.0.0/8 -j DROP 
-p IPv4 -o wl0.2 --ip-dst 239.0.0.0/8 -j DROP 
-p IPv4 -o wl0.3 --ip-dst 239.0.0.0/8 -j DROP 
-p IPv4 -o br0 --ip-dst 239.0.0.0/8 -j DROP 

如果这些组播数据包可以被过滤/下降了吗?

回答

0

我发现,在我的路由器侦听启用,我认为对应于IGMP snooping

禁用它,组播DNS查询到达目的地后都显示是Wireshark的。

echo "0" > /proc/hwswitch/default/snooping 

这里我做了什么(当然路径可以在不同的硬件和发行会发生变化)