SC_TRACEDIFF(1)

✨ SC_TRACEDIFF(1) ✨

okay bestie, welcome to the sc_tracediff manual page πŸ’… (that's manual section 1, general commands, keep up 🫢)


🌸 NAME 🌸

sc_tracediff β€” show you traceroute paths where the path has changed πŸ‘€


πŸ¦‹ SYNOPSIS πŸ¦‹

sc_tracediff [-a] [-m method] [-n] file1.warts file2.warts

πŸ’– DESCRIPTION πŸ’–

The sc_tracediff utility is literally the friend who notices when something's different. It displays pairs of traceroutes to a destination where the path has changed. You feed it two warts files as input, and it shows you paths where a hop differs by its address. No cap. πŸŽ€

The options are as follows, and yes we're going through all of them:

  • -a β€” dump all traceroute pairs, regardless of whether they have changed. Like, even the ones that are being boring and staying the same. πŸ™ˆ
  • -m method β€” specifies the method used to match pairs of traceroutes together. The vibes:
    • if dst is specified, traceroutes are matched if the destination IP address of both traces are the same.
    • if userid is specified, traceroutes are matched if the userid field of both traces are the same.
    • if dstuserid is specified, traceroutes are matched if the destination IP address and userid fields are the same.
    • By default, the destination IP address is used. (so like, dst is the default, periodt ✨)
  • -n β€” names should be reported instead of IP addresses, where possible. cute and readable, we love that for you πŸ’œ

sc_tracediff can be useful in network monitoring to identify when a forward IP path has changed. In this scenario, it is recommended that Paris traceroute is used with the same UDP source and destination ports for each execution of scamper so that only paths that have changed are identified β€” not merely alternate paths visible due to per-flow load-balancing. 🧚

By default scamper uses a source port based on the process ID, which will change with each execution of scamper. so like... yeah, that's why you gotta pin it yourself, bestie 😭

πŸ”₯ EXAMPLES πŸ”₯

The command:

scamper -O warts -o file1.warts -c 'trace -P udp-paris -s 31337' -f list.txt

collects the forward IP paths towards a set of IP addresses found in list.txt using 31337 as the UDP source port value. πŸ‘‘

If the above command is adjusted to subsequently collect file2.warts, then we can identify paths that have subsequently changed with the command:

sc_tracediff file1.warts file2.warts

and boom, there it is πŸ’…

If Paris traceroute with ICMP probes is preferred, then the following invocation of scamper is appropriate:

scamper -O warts -o file1.warts -c 'trace -P icmp-paris -d 31337' -f list.txt

In this case, scamper uses 31337 as the ICMP checksum value in each probe. iconic, honestly 🌈


πŸ‘‘ SEE ALSO πŸ‘‘

scamper(1), 🌟

B. Augustin, X. Cuvellier, B. Orgogozo, F. Viger, T. Friedman, M. Latapy, C. Magnien, and R. Teixeira, Avoiding traceroute anomalies with Paris traceroute, Proc. ACM/SIGCOMM Internet Measurement Conference 2006.


πŸ’œ AUTHOR πŸ’œ

sc_tracediff was written by Matthew Luckie <mjl@luckie.org.nz>. 🫢


okay that's the whole page bestie, go forth and diff those paths ⭐ this Debian build is dated April 21, 2011 β€” yes it's giving vintage but she still ate πŸ’…πŸŽ€ bye!!