Scriptroute Network Measurement


Scriptroute is a flexible network measurement and debugging system. Measurements are expressed as scripts that run as an ordinary user, and a privileged daemon schedules and manages the packet exchange. The goal is to allow any user to connect to any server and execute any safe network measurement.

Features for users:

Features for developers:

Features for administrators:

Live Tools

Scriptroute Serverlist
Active servers
A bare-bones, dynamically generated list of currently active servers. Many are part of PlanetLab.
Scriptroute Reverse Path Tree
Reverse Path Tree
Build a tree that represents the set of links used to reach an address from all scriptroute sites. Be gentle! This service executes a modified traceroute to a destination you specify from every scriptroute site, and generates a pdf file with the tree for you to browse. The tool requires supervision, so is not always operating: send mail if you see trouble.



Neil Spring, David Wetherall, and Tom Anderson
Scriptroute: A Public Internet Measurement Facility pdf
USENIX Symposium on Internet Technologies and Systems (USITS), 2003.


Scriptroute Administrator's Guide (work in progress) pdf
Information about building, installing, and configuring Scriptroute at your site.

Scriptroute Scriptwriter's Guide (work in progress) pdf
Information about writing and executing measurement tools using Scriptroute.

Program man pages:

Measurement script man pages:


Neil Spring, David Wetherall, and Tom Anderson
Scriptroute: A facility for distributed Internet measurement flash
USENIX Symposium on Internet Technologies and Systems (USITS '03), March 2003.

Neil Spring, David Wetherall, and Tom Anderson
Scriptroute: A facility for distributed Internet measurement pdf
North American Network Operator's Group (NANOG 26), October 2002.


Please subscribe to the Scriptroute mailing list before downloading and installing scriptroute software. This is important for providing timely distribution of software fixes.


Scriptroute source code is available at:


Scriptroute's subversion repository contains unreleased modifications and planetlab maintenance code that is not included in the distribution. svn co (that url).

Binary Packages


Add to your /etc/apt/sources.list file:
deb stable main
deb-src stable main

Don't forget to edit /etc/scriptroute/scriptrouted.conf.


Redhat packages are available at: I am not a Redhat user: these packages are not as well engineered as their debian counterparts.

Don't forget to edit /etc/scriptroute/scriptrouted.conf.

The package will not start up the daemon automatically on initial installation: this is intentional, to give you a chance to edit the configuration file.

Mac OS X 10.3

10.3 (or perhaps later) is required. Install the most recent disk image from


This is an older way to get scriptroute on a mac, not well supported.
Add to your /sw/etc/apt/sources.list file:
deb ./

Don't forget to edit /sw/etc/scriptrouted.conf.


A script to install redhat packages for use in PlanetLab vserver slices is available at: Read the first line, and follow the instructions. This client software will connect to the local daemon running in my vserver.

If you have a planetlab account, this is the recommended way to use scriptroute. It is reasonably well tested.

Example scripts

Example scripts are dissected in the Scriptroute Scriptwriter's guide. To execute them, you'll want the rest of the Scriptroute distribution, which includes both scripts to execute measurements remotely and the interpreter and daemon that enable Scriptroute for your site.

Mailing List

The scriptroute mailing list exists to facilitate exchanges between users and developers of the Scriptroute system. You can send mail to nspring at if you want to contact me directly.