SC_EROSPROBER(1)

NAME
sc_erosprober - scamper driver to periodically probe addresses and rotate output files.

SYNOPSIS
sc_erosprober [-a addrfile] [-c command] [-I interval] [-l logfile] [-o outfile] [-O option] [-p port] [-R rotation] [-U unix-scamper] [-x unix-control]

DESCRIPTION
The sc_erosprober utility provides the ability to connect to a running scamper(1) instance and use it to periodically probe a set of addresses at a defined interval, and periodically rotate the output file at a defined interval. The supported options to sc_erosprober are as follows:

-a addrfile
    specifies the name of the input file which consists of a sequence of IP addresses to probe, one address per line.

-c command
    specifies the command to use with each address. sc_erosprober supports the trace and ping commands, and their options, in scamper. scamper(1) documents the options available in trace and ping.

-I interval
    specifies the probe interval, in seconds, between probing each address. sc_erosprober will spread the probing of the addresses across the interval. If there are 10 addresses to probe at an interval of 20 seconds, then sc_erosprober will issue a command every two seconds.

-l logfile
    specifies the name of a file to log progress output from sc_erosprober generated at run time.

-o outfile
    specifies the prefix of the name of the output file to be written. The output file will use the warts(5) format. sc_erosprober will create a sequence of files named using the prefix and a timestamp.

-O options
    allows the behavior of sc_erosprober to be further tailored. The current choices for this option are:
    -   noshuffle: do not shuffle the order of addresses before probing starts.
    -   nooutfile: do not write to warts files, just do the probing.
    -   gz: gzip compress the warts output.
    -   warts.gz: gzip compress the warts output.
    -   bz2: bzip2 compress the warts output.
    -   warts.bz2: bzip2 compress the warts output.
    -   xz: xz compress the warts output.
    -   warts.xz: xz compress the warts output.

-p port
    specifies the port on the local host where scamper(1) is accepting control socket connections.

-R rotation
    specifies the rotation interval, in seconds, between rotating output files.

-U unix-scamper
    specifies the name of a unix domain socket where scamper(1) is accepting control socket connections. This socket is used by sc_erosprober to send probing commands to scamper(1)

-x unix-control
    specifies the name of a unix domain socket where sc_erosprober is accepting control socket connections. This socket can be used by a local process to adjust the probing list at run time.

EXAMPLES
Given a set of IPv4 and IPv6 addresses contained in a file named addrs and a scamper process listening at sock configured to probe at 100 packets per second started as follows:

    scamper -U scamper-sock -p 100

the following command will ping the addresses every two minutes using one packet, and create an output file every thirty seconds prefixed with foo:

    sc_erosprober -U scamper-sock -a addrs -o foo -I 120 -R 30 -c 'ping -c 1'

The following command will traceroute towards the addresses every 15 minutes, creating an output file every minute, with an sc_erosprober control socket:

    sc_erosprober -U scamper-sock -x erosprober-sock -a addrs -o foo -I 900 -R 60 -c 'trace'

To add an address to the probeset at runtime, using netcat, use:
    nc -U erosprober-sock
    +192.0.2.1

To remove an address from the probeset at runtime, using netcat, use:
    nc -U erosprober-sock
    -192.0.31.60

SEE ALSO
scamper(1), sc_wartsdump(1), sc_warts2text(1), sc_warts2json(1), warts(5)

AUTHORS
sc_erosprober was written by Matthew Luckie.