SC_PREFIXSCAN(1)

πŸ’– SC_PREFIXSCAN(1) πŸ’–

okay so bestie, this is a page from the General Commands Manual β€” yes, the big fancy system manual, and today's main character is sc_prefixscan. pull up a chair, grab a boba, we're doing this πŸ§‹βœ¨


✨ NAME ✨

sc_prefixscan β€” a scamper driver that tests whether a set of IPv4 links are point-to-point. fr fr that's the whole vibe check.


πŸ¦‹ SYNOPSIS πŸ¦‹

sc_prefixscan [-D] [-i infile] [-o outfile] [-p port] [-l logfile]
              [-U unix-socket] [-w wait] [-x prefixlen]

sc_prefixscan [-r data-file] [-x prefixlen]

two whole modes, she's versatile πŸ’…


🌸 DESCRIPTION 🌸

so sc_prefixscan is that girl. she lets you connect to a running scamper(1) instance and use it to collect data so you can figure out if an IPv4 link is likely a point-to-point link, using something called the prefixscan method.

here's the tea β˜• on how it thinks:

an address B is the in-bound interface of a router in a traceroute path if we find an alias A' of the address A returned for the previous hop, and A' is a /31 or /30 mate of B β€” like, the link between A and B is a point-to-point link, periodt.

and the prefixscan method decides A and A' are aliases if either of these iconic situations happens:

  1. the IPIDs in responses to five alternating probes sent one second apart monotonically increase and differ by no more than 1,000 β€” ngl that's the pairwise comparison, similar to Ally
  2. probes to A and A' elicit responses with a common source address β€” that's the Mercator technique

the supported options to sc_prefixscan are as follows, and bestie I did not skip a single one:

  • -D β€” causes sc_prefixscan to detach and become a daemon. she's going independent πŸ‘‘
  • -i infile β€” specifies a file containing a list of IPv4 address pairs adjacent in traceroute paths, to test if they are point-to-point links
  • -o outfile β€” specifies the name of the output file to be written during the data collection phase. heads up, the output file will use the warts(5) format πŸ’Ύ
  • -p port β€” specifies the port on the local host where scamper(1) is accepting control socket connections
  • -l logfile β€” specifies the name of a file to log progress output from sc_prefixscan generated at run time
  • -r data-file β€” specifies the name of the data file to be parsed for point-to-point link inferences that were collected by sc_prefixscan in a previous data collection
  • -U unix-socket β€” specifies the name of a unix domain socket where a local scamper(1) instance is accepting control socket connections
  • -w wait β€” specifies the length of time in seconds to wait between probing the same IPv4 address with different methods. by default, sc_prefixscan waits five seconds between methods ⏳
  • -x prefixlen β€” specifies the maximum size of prefix to consider. by default, sc_prefixscan considers up to an IPv4 /30 prefix

🌈 EXAMPLES 🌈

okay so imagine you have a traceroute with this path:

traceroute to 192.0.30.64
1 192.0.2.1
2 192.0.32.10
3 192.0.31.8
4 192.0.30.64

then to collect data to infer if the implied IPv4 links are point-to-point, put the links in a file named infile.txt formatted like this:

192.0.2.1 192.0.32.10
192.0.32.10 192.0.31.8
192.0.31.8 192.0.30.64

and use a scamper(1) daemon listening on port 31337 using:

sc_prefixscan -i infile.txt -o outfile.warts -p 31337

and to obtain the inferred point-to-point links from outfile.warts:

sc_prefixscan -r outfile.warts

ate. no crumbs. πŸ”₯


πŸ’œ SEE ALSO πŸ’œ

  • scamper(1), sc_ally(1), sc_ipiddump(1), sc_wartsdump(1), sc_warts2text(1), sc_warts2json(1),
  • M. Luckie and k. claffy, A Second Look at Detecting Third-party Addresses in Traceroute Traces with the IP Timestamp Option, Proc. Passive and Active Measurement Conference 2014.
  • R. Govindan and H. Tangmunarunkit, Heuristics for Internet Map Discovery, Proc. IEEE INFOCOM 2000.
  • N. Spring, R. Mahajan, and D. Wetherall, Measuring ISP topologies with Rocketfuel, Proc. ACM SIGCOMM 2002.

πŸŽ€ AUTHORS πŸŽ€

sc_prefixscan was written by Matthew Luckie <mjl@luckie.org.nz>. king behaviour honestly πŸ‘‘


and that's the whole page bestie, you're officially a sc_prefixscan girly now 🫢

this lil manual page is brought to you by the Debian edition, dated December 2, 2016 β€” vintage, iconic, still slaying πŸ’…βœ¨πŸ¦‹