logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

sc_ally — scamper driver to run Ally on a list of candidate aliases.

Authors

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

Debian                                             May 4, 2019                                        SC_ALLY(1)

Description

       The  sc_ally  utility  provides the ability to connect to a running scamper(1) instance and have a set of
       IPv4 address sets tested for aliases using the Ally technique.  For each address pair on a single line in
       the file, sc_ally establishes which probe methods (UDP, TCP-ack, ICMP-echo) solicit an incrementing IP-ID
       value, and then uses the Ally technique on pairs where a probe method is able to obtain  an  incrementing
       IP-ID  for  both  addresses.   sc_ally  can  also infer which IP addresses are aliases using the Mercator
       common source address technique as a byproduct of the UDP probing  that  sc_ally  does.   The  output  of
       sc_ally  is  written to a warts(5) file, which can then be processed to extract aliases.  The options are
       as follows:

       -?      prints a list of command line options and a synopsis of each.

       -D      causes sc_ally to 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 where scamper(1) is accepting control socket connections.

       -Uunix-socket
               specifies  the  name  of  a  unix  domain  socket  where  scamper(1)  is accepting control socket
               connections.

       -ddump-id
               specifies the number identifying an analysis to conduct.  The current choices for  are  1-3,  and
               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.

       -Ooptions
               allows the behavior of sc_ally to 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 from sc_ally generated 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

       Given 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

Name

       sc_ally — scamper driver to run Ally on a list of candidate aliases.

See Also

scamper(1), sc_radargun(1), sc_wartsdump(1), sc_warts2text(1),

       N.  Spring,  R.  Mahajan,  and  D. Wetherall, MeasuringISPtopologieswithRocketfuel, Proc. ACM SIGCOMM
       2002.

       R. Govindan and H. Tangmunarunkit, HeuristicsforInternetMapDiscovery, Proc. IEEE INFOCOM 2000.

       A. Bender, R. Sherwood, and N.  Spring,  FixingAlly'sgrowingpainswithvelocitymodeling,  Proc.
       ACM/SIGCOMM Internet Measurement Conference 2008.

Synopsis

sc_ally [-?D] [-ainfile] [-ooutfile] [-pport] [-Uunix-socket] [-ffudge] [-iprobe-wait] [-Ooptions]
               [-qattempts] [-tlogfile] [-wwaittime]

       sc_ally [-ddump-id] [-Ooptions] [file...]

See Also