is used to determine the route a packet takes through the Internet to reach its destination; i.e. the sequence of gateways or "hops" it passes through. Since its inception,
has been widely used for network diagnostics as well as for research in the widest sense.
The basic idea is to send out "probe" packets with artificially small TTL (time-to-live) values, eliciting ICMP "time exceeded" messages from routers in the network, and reconstructing the path from these messages. This is described in more detail under the VanJacobsonTraceroute
topic. This original traceroute implementation was followed by many attempts at improving on the idea in various directions: More useful output (often graphically enhanced, sometimes trying to map the route geographically), more detailed measurements along the path, faster operation for many targets ("topology discovery"), and more robustness in the face of packet filters, using different types of suitable probe packets.
Variants with more filter-friendly probe packets
GUI (Graphical User Interface) traceroute variants
- 3d Traceroute plots per-hop RTTs over time in 3D. Works on Windows, free demo available
- LoriotPro graphical traceroute plugin. Several graphical representations.
- Path Analyzer Pro, graphical traceroute tool for Windows and MacOS X. Include "synopsis" feature.
- PingPlotter combines traceroute, ping and whois to collect data for Windows platform.
- VisualRoute performs traceroutes and provides various graphical representations and analysis. Runs on Windows, Web demo available.
More detailed measurements along the path
- Multicast Traceroute (
mtrace) uses IGMP protocol extensions to allow "traceroute" functionality for multicast
- Paris Traceroute claims to produce better results in the presence of "multipath" routing.
- Scamper performs bulk measurements to large numbers of destinations, under configurable traffic limits.
- tracefilter tries to detect where along a path packets are filtered.
- Tracebox tries to detect middleboxes along the path
- traceiface tries to find "both ends" of each link traversed using expanding-ring search.
- Net::Traceroute::PurePerl is an implementation of traceroute in Perl that lends itself to experimentation.
- traceflow is a proposed protocol to trace the path for traffic of a specific 3/5-tuple and collect diagnostic information
, with a focus on (geo)graphical display capabilities, can be found on the JRA1 Wiki.
There are many TracerouteServers
on the Internet that allow running traceroute from other parts of the network.
Traceroute Data Collection and Representation
Researchers from the network measurement community have created large collections of traceroute results to help understand the Internet's topology, i.e. the structure of its connectivity. Some of these collections are available for other researchers. Scamper
is an example of a tool that can be used to efficiently obtain traceroute results towards a large number of destinations.
The IETF IPPM WG
is standardizing an XML-based format to store traceroute results.
- 06 Jun 2005
- 2005-05-06 - 2015-09-11