测试组播路由的工具

Zor*_*che 12 testing multicast

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

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

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

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

eat*_*ter 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)
------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

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

% 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
Run Code Online (Sandbox Code Playgroud)

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

...
[  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%)
Run Code Online (Sandbox Code Playgroud)

通过-T 32在发送方上指定选项,您将 TTL 设置为 32,这将确保可以路由流量(假设路由器上的 IGMP、PIM 和诸如此类的东西已正确配置)

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


jld*_*ger 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/
Run Code Online (Sandbox Code Playgroud)

还有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/
Run Code Online (Sandbox Code Playgroud)

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