TRACEMCAST(1)

πŸ“¦ version 4.0.34, in nixos 26.05, nixpkgs unstable

πŸŽ€ NAME πŸŽ€

okay bestie, welcome to the tracemcast(1) page β€” it's filed under User Commands, and it's literally all about how to multicast captured packets on an interface. That's the one-line vibe, but trust me, this little tool is a packet-sharing icon. πŸ’…βœ¨

✨ SYNOPSIS ✨

tracemcast [ -m <monitor identifier> ] [ -f <filterstring> ] [ -g
       <multicast group address> ] [ -p <port for beaconing group> ] [ -s
       <source address> ] [ -t <number of threads> ] [ -M <mtu> ] inputuri

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so tracemcast reads packets from a single live packet source (like an interface or a hardware capture card), and then it emits those packets to a multicast group that interested clients can join to receive an independent feed of the captured packets. it's giving packet democracy 🫢.

This is iconic because it lets you share a capture source that would normally only allow one program to read from it at a time. No cap, that's a serious glow-up for your capture setup. πŸ”₯

The multicasting protocol is the nDAG protocol, and libtrace supports it as an input format, so libtrace programs can natively receive packets from a tracemcast group without any additional modifications. periodt ✨

πŸ’… the flags, one by one πŸ’…

  • -m <monitor identifier> β€” set a unique identifier that will be included in the nDAG header. This is used by the recipient to tell which multicast sender emitted the packet. iykyk.
  • -f <filterstring> β€” only emit packets that match this BPF filter expression. Filtered and fabulous, bestie. πŸŽ€
  • -g <address> β€” emit packets to this multicast group address (e.g. 224.0.0.1). group chat, but make it packets.
  • -p <port> β€” send nDAG beacon messages to this port number. Beacon vibes ✨.
  • -s <address> β€” use the interface that owns this IP address to multicast packets. Pick the interface by its IP, main character interface energy.
  • -t <threads> β€” sets the number of threads to use for capturing and multicasting packets. Each thread will produce a separate multicast stream on a unique port. multithreaded baddie behavior πŸ”₯.
  • -M <bytes> β€” do not create any nDAG multicast messages larger than this number of bytes. Don't forget to allow for additional encapsulation (e.g. Ethernet, IP, UDP) when determining this value. important caveat, bestie β€” account for the extra wrapping or your math will be off 😭.

More details about tracemcast (and libtrace) can be found at https://github.com/LibtraceTeam/libtrace/wiki. go read, it's cute.

πŸ‘€ SEE ALSO πŸ‘€

πŸ’– AUTHORS πŸ’–

Shane Alcock <salcock@waikato.ac.nz> β€” the author, the icon, the legend. 🫢


and that's the page, bestie! this was tracemcast (libtrace) from Feb 2020, signing off with a cute little footer moment instead of the boring footer line. πŸ’…βœ¨

πŸ“¦ where this page comes from