Traceroute 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,
traceroute 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.
- "Van Jacobson" traceroute, also called "Unix" or "LBL" traceroute - the original.
traceroute6is basically just traceroute for IPv6.
- Solaris traceroute integrates IPv4 and IPv6 traceroute functionality.
- "Modern traceroute for Linux" by Dmitry Butskoy, shipped e.g. with RHEL, Fedora and Ubuntu, includes integrated IPv4/IPv6, ICMP/TCP/UDP, AS-number lookups, and everything else you could ever want.
- NANOG Traceroute is derived from the original Traceroute, but adds a few extensions such as AS number lookups, TOS change detection etc.
- Windows "tracert"
Variants with more filter-friendly probe packets
- TCP Traceroute and lft (Layer Four Traceroute) use TCP probe packets to traverse filters.
- traceproto and ETrace support various protocols (ICMP, UDP, TCP) for its probe packets.
- intrace piggy-backs ("in-band") on an existing TCP connection
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.
- Visual Route performs traceroutes and provides various graphical representations and analysis. Runs on Windows, Web demo available.
More detailed measurements along the path
mtr(Matt's TraceRoute) combines the functionality of the
pingprograms in a single network diagnostic tool.
- SmokeTrace is a browser/server-based tool similar to
mtr(see above). It is included in recent SmokePing distributions.
- pathping, included in Microsoft Windows
- Traceroute Mesh Server draws a map from traceroutes from multiple servers to a single address.
- tracepath and tracepath6 show Path MTU Discovery information along a 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.
- Stockholm traceroute/traceflow is a multipath-aware traceroute in pure Python, with browser visualization based on vis.js.
- fbtracert is a multithreaded traceroute variant written in Go. Its main purpose is to locate loss in multipath environments.
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.
– François Xavier Andreu
– Simon Muyal - 06 Jun 2005
– Simon Leinen - 2005-05-06 - 2020-06-21