I have two servers on the same subnet. I have an application installed which uses multicast UDP to propagate events between the two servers and keep them in sync.
This does not seem to be happening, so I want to make sure that the multicast UDP messages are getting through as my first step.
The servers are running Windows 2008 R2.
How can I test Multicast UDP connectivity between two servers?
Try iperf
An article that explains the different steps: http://taosecurity.blogspot.com/2006/09/generating-multicast-traffic.html
iperf is a great tool, but could be a long procedure in installing it; Most repositories don't have this package. Depending on your Distribution, netcat is available in mostly every repository
You can also use netcat :
Server: nc -lu -p PortNr
Client: nc -vzu ServerIP PortNr
I highly recommend sockperf
It's a great tool for checking performance with both TCP and UDP, including UDP Multicast.
Example of a multicast UDP stream:
sockperf server -i 224.4.4.4 -p 1234
sockperf ping-pong -i 224.4.4.4 -p 1234
You can use SimpleMulticastAnalyzer - it's a simple .net multicast application that I wrote.
Enjoy.
If one server is already listening on multicast (
netstat -g
will tell you if it is).You can broadcast with normal netcat, and detect with tcpdump.
Send a fixed size message to the multicast address.
and you should see a 10 byte UDP packet arrive using
tcpdump
on the serverIf you dont have tcpdump, wireshark or pcap will see it too.
Use
tcpdump -A
if you want to confirm the message is1234567890
.You can use iperf, but it seems to have problems above version 1.7.0.
Run server first:
Client:
Or you can try uftp, but you need a file to send.
Server or receiver first:
Client or sender:
You can just simply use multiNC utility, this one allows you to handle multiple connections on the same port, github repository