sc_prefixscan — scamper driver to test if a set of IPv4 links are point-to-point.
Contents
Description
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:
-D causes sc_prefixscan to detach and become a daemon.
-iinfile
specifies a file containing a list of IPv4 address pairs adjacent in traceroute paths to test if
they are point-to-point links.
-ooutfile
specifies the name of the output file to be written during the data collection phase. The output
file will use the warts(5) format.
-pport
specifies the port on the local host where scamper(1) is accepting control socket connections.
-llogfile
specifies the name of a file to log progress output from sc_prefixscan generated at run time.
-rdata-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.
-Uunix-socket
specifies the name of a unix domain socket where a local scamper(1) instance is accepting control
socket connections.
-wwait
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.
-xprefixlen
specifies the maximum size of prefix to consider. By default, sc_prefixscan considers up to an
IPv4 /30 prefix.
Examples
Given a traceroute with the following path:
tracerouteto192.0.30.641192.0.2.12192.0.32.103192.0.31.84192.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.1192.0.32.10192.0.32.10192.0.31.8192.0.31.8192.0.30.64
and use a scamper(1) daemon listening on port 31337 using:
sc_prefixscan-iinfile.txt-ooutfile.warts-p31337
To obtain the inferred point-to-point links from outfile.warts:
sc_prefixscan-routfile.wartsName
sc_prefixscan — scamper driver to test if a set of IPv4 links are point-to-point.
See Also
scamper(1), sc_ally(1), sc_ipiddump(1), sc_wartsdump(1), sc_warts2text(1), sc_warts2json(1), M. Luckie and k. claffy, ASecondLookatDetectingThird-partyAddressesinTracerouteTraceswiththeIPTimestampOption, Proc. Passive and Active Measurement Conference 2014. R. Govindan and H. Tangmunarunkit, HeuristicsforInternetMapDiscovery, Proc. IEEE INFOCOM 2000. N. Spring, R. Mahajan, and D. Wetherall, MeasuringISPtopologieswithRocketfuel, Proc. ACM SIGCOMM 2002.
Synopsis
sc_prefixscan [-D] [-iinfile] [-ooutfile] [-pport] [-llogfile] [-Uunix-socket] [-wwait]
[-xprefixlen]
sc_prefixscan [-rdata-file] [-xprefixlen]
