SC_ALLY(1)
π NAME π
sc_ally β the scamper driver that runs Ally on a whole list of candidate aliases. bestie it's giving "network detective era" and we're obsessed π΅οΈβοΈβ¨
π¦ SYNOPSIS π¦
sc_ally [-?D] [-a infile] [-o outfile] [-p port] [-U unix-socket]
[-f fudge] [-i probe-wait] [-O options] [-q attempts]
[-t logfile] [-w waittime]
sc_ally [-d dump-id] [-O options] [file ...]
πΈ DESCRIPTION πΈ
okay so listen. sc_ally is that girl who can connect to a running scamper(1) instance and get a whole set of IPv4 address sets tested for aliases using the Ally technique. main character behavior tbh.
Here's the tea on how it works: for every address pair sitting on a single line in the file, sc_ally figures out which probe methods (UDP, TCP-ack, ICMP-echo) actually solicit an incrementing IP-ID value. then β and this is the iconic part β it uses the Ally technique on the pairs where a probe method is able to obtain an incrementing IP-ID for both addresses. slay.
and as if that wasn't enough, sc_ally can also infer which IP addresses are aliases using the Mercator common source address technique, which it gets basically for free as a byproduct of the UDP probing it's already doing. no extra effort, just vibes π§
the output of sc_ally gets written to a warts(5) file, which you can then process to extract aliases. periodt.
The options are as follows:
-?β prints a list of command line options and a synopsis of each. your lil help menu bestie π«Ά-Dβ causessc_allyto detach and become a daemon.-ainfile β specifies the name of the input file, which consists of a sequence of IPv4 addresses, one candidate set per line.-ooutfile β specifies the name of the output file to be written. The output file will use the warts format.-pport β specifies the port on the local host wherescamper(1)is accepting control socket connections.-Uunix-socket β specifies the name of a unix domain socket wherescamper(1)is accepting control socket connections.-ddump-id β specifies the number identifying an analysis to conduct. The current choices are 1-3, and they are:1: dump aliases inferred using the Ally (IPID-based) technique.2: dump aliases inferred using the Mercator (common source address based) technique.3: dump aliases inferred using both Ally and Mercator techniques.
-ffudge β specifies the fudge factor to use when (1) inferring if IPIDs are assigned from a counter, and (2) inferring if two addresses share the same counter. A value of zero will cause ally to infer aliases if the IPIDs are in a monotonic sequence.-iprobe-wait β specifies the inter-probe gap for both ping and Ally measurements, in milliseconds. The default is 1000ms (1 second); the minimum is 200ms, and the maximum is 2000ms. don't get greedy β-Ooptions β allows the behavior ofsc_allyto be further tailored. The current choices for this option are:nobs: do not consider byte swapped IPID values when inferring if IPID values are assigned from a counter.tc: dump transitive closure when reporting aliases.
-qattempts β specifies the number of probes to use with Ally.-tlogfile β specifies the name of a file to log output fromsc_allygenerated at run time.-wwaittime β specifies the minimum length of time, in seconds, to wait between completing a measurement to a particular IP address and issuing the next.
β¨ EXAMPLES β¨
say you've got a set of IPv4-address sets in a file named infile.txt:
192.0.2.1 192.0.32.10 192.0.31.60
192.0.2.2 192.0.31.8
192.0.2.3 192.0.30.64
and a scamper(1) daemon listening on port 31337. then these addresses can be tested for aliases using
sc_ally -a infile.txt -o outfile.warts -p 31337
To obtain a list of inferred alias pairs using the Ally technique from a warts(5) file:
sc_ally -d 1 outfile.warts
To obtain a list of inferred routers using a transitive closure of alias pairs inferred using the Ally and Mercator techniques:
sc_ally -d 3 -O tc outfile.warts
π SEE ALSO π
scamper(1), sc_radargun(1), sc_wartsdump(1), sc_warts2text(1),
N. Spring, R. Mahajan, and D. Wetherall, Measuring ISP topologies with Rocketfuel, Proc. ACM SIGCOMM 2002.
R. Govindan and H. Tangmunarunkit, Heuristics for Internet Map Discovery, Proc. IEEE INFOCOM 2000.
A. Bender, R. Sherwood, and N. Spring, Fixing Ally's growing pains with velocity modeling, Proc. ACM/SIGCOMM Internet Measurement Conference 2008.
π AUTHORS π
sc_ally was written by Matthew Luckie <mjl@luckie.org.nz> π«Ά
and that's the whole page bestie, no notes π
this one shipped as part of Debian, dated May 4, 2019, filed under SC_ALLY(1) β go forth and infer those aliases, you've got this πβ¨
π¦ where this page comes from
- debian bookworm: scamper 20211212-1.1 Β· GPL-2.0-or-later
- debian trixie: scamper 20211212-1.2+b1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: scamper 20250227-bp160.1.10 Β· GPL-2.0-only
- opensuse-leap 16.0: scamper 20250227-bp160.1.10 Β· GPL-2.0-only
- opensuse-leap 16.0: scamper 20250227-bp160.1.10 Β· GPL-2.0-only
- opensuse-leap 16.0: scamper 20250227-bp160.1.10 Β· GPL-2.0-only
- ubuntu jammy: scamper 20191102-1 Β· GPL-2.0-or-later
- ubuntu noble: scamper 20211212-1.2build1 Β· GPL-2.0-or-later
- ubuntu questing: scamper 20211212-1.2build1
- ubuntu resolute: scamper 20211212-1.2build2 Β· GPL-2.0-or-later
- ubuntu stonking: scamper 20211212-1.2build2 Β· GPL-2.0-or-later
- Copyright (c) 2011 University of Waikato
- Copyright (c) 2016-2019 Matthew Luckie
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms