Using PATHspider¶
Quickstart¶
Dependencies¶
PATHspider is a command line tool. If you have installed PATHspider from a package manager (e.g. apt or pip), you will already have all the dependencies you need installed.
If you are working from the source distribution (e.g. cloned git repository) then you will need to install some dependencies. On Debian GNU/Linux:
# sudo apt install python3-libtrace python3-twisted python3-zope.interface
In order to build the documentation from source, you will also need the following dependencies:
# sudo apt install python3-sphinx python3-repoze.sphinx.autointerface
Usage¶
You can run PATHspider from the command line. In order for the Observer to work, you will need permissions to capture raw packets from the network interface. If you’ve installed from apt then either the executable in /usr/bin will have been setuid or will have filesystem permissions set.
Note
If you’re running from the source distribution, you will need to execute pathspider as:
# sudo /usr/bin/env PYTHONPATH=. python3 pathspider/run.py [...]
# pathspider -h
usage: run.py [-h] [-s] [-l] [-p PLUGIN] [-i INTERFACE] [-w WORKER_COUNT]
INPUTFILE OUTPUTFILE
Pathspider will spider the paths.
positional arguments:
INPUTFILE a file containing a list of remote hosts to test, with
any accompanying metadata expected by the pathspider
test. this file should be formatted as a comma-
seperated values file.
OUTPUTFILE the file to output results data to
optional arguments:
-h, --help show this help message and exit
-s, --standalone run in standalone mode. this is the default mode (and
currently the only supported mode). in the future,
mplane will be supported as a mode of operation.
-l, --list-plugins print the list of installed plugins
-p PLUGIN, --plugin PLUGIN
use named plugin
-i INTERFACE, --interface INTERFACE
the interface to use for the observer
-w WORKER_COUNT, --worker-count WORKER_COUNT
number of workers to use
Example¶
You can run a small study using ECNSpider and the included webinput.csv file to measure path transparency to ECN for a small selection of web servers:
# pathspider -i eth0 -w 10 examples/webinput.csv /tmp/results.txt
Note
The location of the example input file may be different if you’ve installed pathspider from a package manager. On Debian systems it is installed as /usr/share/doc/pathspider/examples/webinput.csv.