测试多播路由的工具


12

我正在寻找一种在标准操作系统(Windows或Linux)上运行的简单工具,可以用来测试路由器是否正确传递了多播。

一位客户要求我在充当其路由器的Linux机器上启用多播路由,因为他们的电话系统需要多播才能实现某些功能。因为我不在客户端附近,所以我实际上没有能力尝试在Linux上设置多播路由的各种方法。我可以在办公桌上设置与他们的网络上部署的路由器相同的路由器,但是我不知道有什么好的简单工具可用于生成或侦听多播流量。

我发现的一个mulicast工具是mcast.exe工具,它是Windows 2000/2003资源工具包的一部分。从我在网上阅读的内容来看,mcast.exe似乎无法在路由器上运行,而只能在本地网络上运行,因此对我测试组播路由似乎没有用。

那么,您使用什么工具来测试是否正确设置了多播路由?

Answers:


3

现实世界中没有太多的多播经验,但是您看到了mz吗?

Description: versatile packet creation and network traffic generation tool
 mausezahn (mz) is a fast traffic generator written in C which allows you to
 send nearly every possible and impossible packet. It is mainly used to test
 VoIP or multicast networks but also for security audits to check whether
 your systems are hardened enough for specific attacks.
 Mausezahn can be used for example:
 .
  * as traffic generator (e.g. to stress multicast networks);
  * to precisely measure jitter (delay variations) between two hosts
    (e.g. for VoIP-SLA verification);
  * as didactical tool during a datacom lecture or for lab exercises;
  * for penetration testing of firewalls and IDS;
  * for DoS attacks on networks (for audit purposes of course);
  * to find bugs in network software or appliances;
  * for reconnaissance attacks using ping sweeps and port scans;
  * to test network behaviour under strange circumstances (stress test,
    malformed packets, ...).
Homepage: http://www.perihel.at/sec/mz/

还有ssmping

Description: check your multicast connectivity
 Tools to check whether you can receive Source Specific Multicast (SSM)
 or Any Source Multicast (ASM) via either IPv4 or IPv6
 .
 If a host runs ssmpingd, users on other hosts can use the ssmping client
 to test whether they can receive SSM from the host. Another program
 called asmping is also provided to check whether can receive ASM.
Homepage: http://www.venaas.no/multicast/ssmping/

两者都可以在Ubuntu 10.10上安装。祝好运!


ssmping的效果也非常好,并提供了很多帮助。我会对此表示支持,但SF告诉我我已经投票了?
Zoredache

18

iperf非常适合此操作,并且可以在大多数Linux发行版和Windows中使用。

在侦听器方面:

% iperf -s -u -B 224.1.1.1 -i 1
------------------------------------------------------------
Server listening on UDP port 5001
Binding to local address 224.1.1.1
Joining multicast group  224.1.1.1
Receiving 1470 byte datagrams
UDP buffer size:  110 KByte (default)
------------------------------------------------------------

...,它将等待来自消息源的消息。在源上,开始发送:

% iperf -c 224.1.1.1 -u -T 32 -t 3 -i 1
------------------------------------------------------------
Client connecting to 224.1.1.1, UDP port 5001
Sending 1470 byte datagrams
Setting multicast TTL to 32
UDP buffer size:  110 KByte (default)
------------------------------------------------------------
[  3] local 192.168.220.20 port 59347 connected with 224.1.1.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec   129 KBytes  1.06 Mbits/sec
[  3]  1.0- 2.0 sec   128 KBytes  1.05 Mbits/sec
[  3]  2.0- 3.0 sec   128 KBytes  1.05 Mbits/sec
[  3]  0.0- 3.0 sec   386 KBytes  1.05 Mbits/sec
[  3] Sent 269 datagrams

同时,您将看到侦听器收到流量:

...
[  3] local 224.1.1.1 port 5001 connected with 192.168.220.20 port 59347
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0- 1.0 sec   128 KBytes  1.05 Mbits/sec   0.035 ms    0/   89 (0%)
[  3]  1.0- 2.0 sec   128 KBytes  1.05 Mbits/sec   0.015 ms    0/   89 (0%)
[  3]  2.0- 3.0 sec   128 KBytes  1.05 Mbits/sec   0.025 ms    0/   89 (0%)
[  3]  0.0- 3.0 sec   386 KBytes  1.05 Mbits/sec   0.068 ms    0/  269 (0%)

通过-T 32在发送方上指定选项,可以将TTL设置为32,这将确保可以路由通信(假设IGMP,PIM和路由器上的notnot正确配置)

顺便说一句,上一次我在这种情况下尝试使用VLC时,遇到了一个问题,其中VLC会忽略TTL设置,并且始终以TTL设置为1传输数据包。请阅读错误报告以获取解决方法。


要提防的事情。显然,如果“服务器”在具有多个接口的计算机上运行,​​iperf会遇到问题。但是除此之外,这还是可行的。
Zoredache

另一件事要注意;即使将/ proc / sys / net / ipv4 / icmp_echo_ignore_broadcasts设置为(1),iperf测试客户端也将正常运行。在这种情况下,将iperf作为服务器运行并尝试ping多播地址将不起作用。这是否重要取决于您的多播需求。
nezroy

2

这可能有帮助,也可能没有帮助,但是在过去,我已经将VLC(所有方面)用作多播视频源。不过,在我的用例中,多播流永远不需要超出L2域,因此我不能说它生成的流量是否是“适当的”可路由多播。


我喜欢VLC进行多播。我希望拥有支持跨L3组播的网络的人可以确认VLC确实有效,并且可能包括有关设置和测试过程的一些详细信息。
Zoredache

@Zoredache由于我们的Novell遗产,我有一个启用多播的网络正在工作(SLP)。如果我记得的话,我明天会做一些VLC检查。
sysadmin1138

2

mcast是我们用来查看本地路由器是否允许多播的工具。默认情况下应该关闭它。

您不希望多播数据包在不需要它们的网络上徘徊。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.