Skip to content
Tools for multicast testing (msend and mreceive)
C Roff Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Makefile Fix Makefile dist rule and bump version for v2.3 release. Jul 29, 2015
msend.c Update online help, -h, command usage text. Jul 29, 2015

This is a cleaned up version of mtools from the University of Virginia's Multimedia Networks Group

The tools msend and mreceive can be particulary useful when debugging multicast setups.

Remember, when routing multicast, always check the TTL!


  • msend - send UDP messages to a multicast group
  • mreceive - receive UDP multicast messages and display them


msend [-g GROUP] [-p PORT] [-join] [-t TTL] [-i ADDRESS] [-P PERIOD]
      [-text "text" | -n]
msend [-v|-h]
mreceive [-g group] [-p port] [-i ip] ... [-i ip] [-n]
mreceive [-v|-h]


msend continuously sends UDP packets to the multicast group specified by the -g and -p options.

mreceive joins a multicast group specified by the -g and -p options, then receives and displays the multicast packets sent to this group:port combination by the msend command.


  • -g GROUP

    Specify the IP multicast group address to which packets are sent, or received. The default group is

  • -p PORT

    Specify the UDP port number used by the multicast group. The default port number is 4444.

  • -join

    Multicast sender will join join the multicast group. By default, a multicast sender does not join the group.

  • -t TTL

    Specify the TTL (1-255) value in the message sent by msend. You must increase this if you want to route the traffic, otherwise the first router will drop the packets! The default value is 1.

  • -i ADDRESS

    Specify the IP address of the interface to be used to send the packets. For mreceive one or more interfaces can be given. The default value is INADDR_ANY which implies that the default interface selected by the system will be used.


    Specify the interval in milliseconds between two transmitted packets. The default value is 1000 milliseconds.

  • -text "text"

    Specify a message text which is sent as the payload of the packets and is displayed by the mreceive(8) command. The default value is an empty string.

  • -n

    Interpret the contents of the message text as a number instead of a string of characters. Use mreceive -n on the other end to interpret the message text correctly.

  • -v

    Print version information.

  • -h

    Print the command usage.

You can’t perform that action at this time.