DOKK / manpages / debian 12 / scamper / sc_prefixscan.1.en
SC_PREFIXSCAN(1) General Commands Manual SC_PREFIXSCAN(1)

sc_prefixscanscamper driver to test if a set of IPv4 links are point-to-point.

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]

The sc_prefixscan utility provides the ability to connect to a running scamper(1) instance and use it to collect data to infer if an IPv4 link is likely a point-to-point link using the prefixscan method. 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, i.e. the link between A and B is a point-to-point link. The prefixscan method infers A and A' are aliases if the IPIDs in responses to five alternating probes sent one second apart monotonically increase and differ by no more than 1,000, or probes to A and A' elicit responses with a common source address. The first technique is a pairwise comparison similar to Ally, and the second is the Mercator technique. The supported options to sc_prefixscan are as follows:

causes sc_prefixscan to detach and become a daemon.
infile
specifies a file containing a list of IPv4 address pairs adjacent in traceroute paths to test if they are point-to-point links.
outfile
specifies the name of the output file to be written during the data collection phase. The output file will use the warts(5) format.
port
specifies the port on the local host where scamper(1) is accepting control socket connections.
logfile
specifies the name of a file to log progress output from sc_prefixscan generated at run time.
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.
unix-socket
specifies the name of a unix domain socket where a local scamper(1) instance is accepting control socket connections.
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.
prefixlen
specifies the maximum size of prefix to consider. By default, sc_prefixscan considers up to an IPv4 /30 prefix.

Given a traceroute with the following 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 as follows:

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

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

sc_prefixscan -r outfile.warts

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.

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

December 2, 2016 Debian