Provided by: scamper_20181219-1_amd64
sc_speedtrap — scamper driver to resolve aliases for a set of IPv6 interfaces.
sc_speedtrap [-I] [-a addressfile] [-A aliasfile] [-l logfile] [-o outfile] [-p port] [-s stop] [-S skipfile] [-U unix-socket] sc_speedtrap [-d dump] [file ...]
The sc_speedtrap utility provides the ability to connect to a running scamper(1) instance and use it to collect data for alias resolution of a set of IPv6 addresses using the "speedtrap" technique. sc_speedtrap induces each address to send fragmented ICMP echo replies, with the goal of obtaining an incrementing Identifier (ID) field in the fragmentation header. If two addresses are aliases, they will return ICMP echo replies with a monotonically increasing value in the ID field because the ID field is implemented as a counter shared amongst all interfaces. sc_speedtrap implements a scalable algorithm to quickly determine which addresses are aliases. Further information about the algorithm is found in the "see also" section. The supported options to sc_speedtrap are as follows: -a addressfile specifies the name of the input file which consists of a sequence of IPv6 addresses to resolve for aliases, one address per line. -A aliasfile specifies the name of an output file which will receive pairs of aliases, one address-pair per line. -d dump specifies the number identifying an analysis task to conduct. Valid dump numbers are 1-3. See the examples section. -I specifies that the addressfile contains only interfaces known to send fragmentation headers containing incrementing values. -l logfile specifies the name of a file to log output from sc_speedtrap generated at run time. -o outfile specifies the name of the output file to be written. The output file will use the warts format. -p port specifies the port on the local host where scamper(1) is accepting control socket connections. -s stop specifies the step at which sc_speedtrap should halt. The available steps are "classify", "descend", "overlap", "descend2", "candidates", and "ally". -S skipfile specifies the name of an input file which contains known aliases that do not need to be resolved, one address-pair per line. -U unix-socket specifies the name of a unix domain socket where scamper(1) is accepting control socket connections.
Given a set of IPv6 addresses contained in a file named addressfile.txt and a scamper process listening on port 31337 configured to probe at 30 packets per second started as follows: scamper -P 31337 -p 30 the following command will resolve the addresses for aliases, store the raw measurements in outfile1.warts, and record the interface-pairs that are aliases in aliases.txt: sc_speedtrap -p 31337 -a addressfile.txt -o outfile1.warts -A aliases.txt The next example is useful when inferring aliases from multiple vantage points. Given the output of aliases.txt from a previous measurement, the following will resolve the addressfile for aliases, skipping those in aliases.txt, and appending the new aliases to aliases.txt: sc_speedtrap -p 31337 -a addressfile.txt -o outfile2.warts -A aliases.txt -S aliases.txt To obtain a transitive closure of routers from an input warts file: sc_speedtrap -d 1 outfile1.warts To obtain a list of the interfaces probed and their IPID behaviour: sc_speedtrap -d 2 outfile1.warts To obtain statistics of how many probes are sent in each stage, and how long the stage takes: sc_speedtrap -d 3 outfile1.warts
M. Luckie, R. Beverly, W. Brinkmeyer, and k. claffy, Speedtrap: Internet-scale IPv6 Alias Resolution, Proc. ACM/SIGCOMM Internet Measurement Conference 2013. scamper(1), sc_ally(1), sc_ipiddump(1), sc_wartsdump(1), sc_warts2text(1), sc_warts2json(1),
sc_speedtrap was written by Matthew Luckie <email@example.com>.