{"id":13577734,"url":"https://github.com/troglobit/mtools","last_synced_at":"2025-04-06T07:10:00.112Z","repository":{"id":35624323,"uuid":"39898209","full_name":"troglobit/mtools","owner":"troglobit","description":"Classic msend and mreceive tools for multicast testing.  TIP: check out mcjoin(!) and mping as well.","archived":false,"fork":false,"pushed_at":"2024-12-03T10:00:36.000Z","size":161,"stargazers_count":85,"open_issues_count":1,"forks_count":24,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-30T06:08:19.848Z","etag":null,"topics":["client-server","ipv4","ipv6","linux","multicast","multicast-applications","testing","unix"],"latest_commit_sha":null,"homepage":"http://www.cs.virginia.edu/~mngroup/software/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/troglobit.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-07-29T14:33:31.000Z","updated_at":"2025-03-19T12:38:08.000Z","dependencies_parsed_at":"2024-01-16T20:24:38.749Z","dependency_job_id":"915f1da7-6ab1-4f61-be88-1cd450e1243a","html_url":"https://github.com/troglobit/mtools","commit_stats":{"total_commits":68,"total_committers":4,"mean_commits":17.0,"dds":0.1470588235294118,"last_synced_commit":"bbf932d7d98d8e9651338355db435babded9d11e"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fmtools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fmtools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fmtools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fmtools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/troglobit","download_url":"https://codeload.github.com/troglobit/mtools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247445668,"owners_count":20939958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client-server","ipv4","ipv6","linux","multicast","multicast-applications","testing","unix"],"created_at":"2024-08-01T15:01:23.920Z","updated_at":"2025-04-06T07:10:00.072Z","avatar_url":"https://github.com/troglobit.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# mtools\n\nThis is a cleaned up version of mtools from the [University of Virginia's\nMultimedia Networks Group][1], with added IPv6 and optional SSM support.\n\nThe tools [`msend(8)`](msend(8).md) and [`mreceive(8)`](mreceive(8).md)\ncan be particulary useful when debugging multicast setups.\n\n\u003e Remember, when routing multicast, always check the TTL!\n\n## NAME\n\n* `msend` - send UDP messages to a multicast group\n* `mreceive` - receive UDP multicast messages and display them\n\n## SYNOPSIS\n\n\tmsend [-46hnqv] [-c num] [-g group] [-p port] [-join] [-t TTL] [-i address]\n\t      [-I interface] [-P period] [-text \"text\"]\n\tmreceive [-46hnqv] [-s source ] [-g group] [-p port] [-i ip] ... [-i ip]\n\t      [-I interface]\n\n## DESCRIPTION\n\n`msend` continuously sends UDP packets to the multicast group specified\nby the `-g` and `-p` options.\n\n`mreceive` joins a multicast group specified by the `-g` and `-p`\noptions, then receives and displays the multicast packets sent to this\ngroup:port combination by the `msend` command.\n\n## OPTIONS\n\n- `-4`\n\n  Select IPv4 test group, use with `-I` when not using `-i` or any\n  group.  This is the default.  See `-6` for an example.\n\n- `-6`\n\n  Select IPv6 test group, use with `-I` when not using `-i` or any\n  group.  Example:\n\n        $ msend -6 -I eth0\n        Now sending to multicast group: [ff2e::1]:4444\n        Sending msg 1, TTL 1, to [ff2e::1]:4444:\n        ...\n\n- `-c NUM`\n\n  Number of packets to send, default: unlimited.\n\n* `-s SOURCE`\n\n  Source filtering of multicast UDP traffic, a.k.a., source-specific\n  multicast (SSM).  A single IPv4/IPv6 address can be given atm.  By\n  default, no source filtering is done, mtools default to ASM.\n\n* `-g GROUP`\n\n  Specify the IP multicast group address to which packets are sent, or\n  received.  The default group is 224.1.1.1 for IPv4 and ff2e::1 for\n  IPv6.\n\n* `-p PORT`\n\n  Specify the UDP port number used by the multicast group.  The default\n  port number is 4444.\n\n* `-join`\n\n  Multicast sender will join join the multicast group.  By default, a\n  multicast sender does not join the group.\n\n* `-t TTL`\n\n  Specify the TTL (1-255) value in the message sent by `msend`.  You must\n  increase this if you want to route the traffic, otherwise the first\n  router will drop the packets!  The default value is 1.\n\n* `-i ADDRESS`\n\n  Specify the IP address of the interface to be used to send the packets.\n  For `mreceive` one or more interfaces can be given.  The default value\n  is `INADDR_ANY` which implies that the default interface selected by\n  the system will be used.\n\n* `-I INTERFACE`\n\n  Specify the interface to send on. Can be specified as an alternative\n  to `-i`.\n\n* `-P PERIOD`\n\n  Specify the interval in milliseconds between two transmitted packets.\n  The default value is 1000 milliseconds.\n\n* `-q`\n\n  Quiet mode, don't print sending or receiving messages.  Errors are\n  still printed.\n\n* `-text \"text\"`\n\n  Specify a message text which is sent as the payload of the packets and\n  is displayed by the mreceive(8) command.  The default value is an empty\n  string.\n\n* `-n`\n\n  Interpret the contents of the message text as a number instead of a\n  string of characters.  Use `mreceive -n` on the other end to interpret\n  the message text correctly.\n\n* `-v`\n\n  Print version information.\n\n* `-h`\n\n  Print the command usage.\n\n\n## BUILD \u0026 INSTALL\n\nThe build system is a plain Makefile with the following environment\nvariables to control the build and install process:\n\n - `CC`: possible to override default compiler, alt. to `CROSS`\n - `CROSS`: set when cross compiling, e.g. `CROSS=aarch64-linux-gnu-`\n - `prefix`: install prefix, default `/usr/local`\n\n**Example:**\n\n    $ make all\n    $ make install prefix=/usr\n\n\nOrigin \u0026 References\n-------------------\n\nThis is the continuation of mtools, initially called mSendReceive, written\nby Jianping Wang, Yvan Pointurier, and Jörg Liebeherr while at [University\nof Virginia's Multimedia Networks Group][1].\n\nThe project is maintained by [Joachim Wiberg][3] at [GitHub][2].  Please\nfile bug reports, clone and send pull requests for bug fixes and proposed\nextensions.\n\n[1]: http://www.cs.virginia.edu/~mngroup/software/\n[2]: https://github.com/troglobit/mtools\n[3]: https://troglobit.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftroglobit%2Fmtools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftroglobit%2Fmtools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftroglobit%2Fmtools/lists"}