T R A C E
R O U T E
f o
r L i n u x
Project Page
Download
Mail
List
This is a new modern implementation of traceroute(8) utility for Linux
systems.
It has replaced the old one in the majority of distributions
now, including Fedora,
RHEL, Debian,
Mandriva, Gentoo,
Ubuntu.
Traceroute tracks the route packets taken from an IP network on their
way to a given host. It utilizes the IP protocol's time to live (TTL)
field and attempts to elicit an ICMP TIME_EXCEEDED response from each
gateway along the path to the host. See traceroute(8) in the manual of
your system for more info.
It is well-known application, appeared long time ago. Since
2000, its initial implementation is not
developed, and does not follow the modern
network needs. There was already some attempts to continue or re-write
it, or to create similar application with additional features, but
mostly such works either provides things partially or have considerably
different interface.
This code was written from the scratch, using some ideas of Olaf
Kirch's traceroute, the original implementation of Van Jacobson and
some current BSD's ones. It is fully compatible with the original
traceroute from Van Jacobson, wide used before for years.
Note, that this implementation
is intended for Linux only. It
utilizes some currently Linux-specific features (including MSG_ERRQUEUE
for recvmsg(2)), which allow such things like the use by unprivileged
users (without setuid bit) for some type of tracerouting. The Linux
kernel 2.6 or higher required.
Main features:
- Command line and output compatible with the original traceroute
- Full support for both IPv4 and IPv6 protocols
- Ability to send several probe packets at a time (most cases much
faster results)
- Several tracerouting methods, including
* UDP datagrams
(including udplite and udp to particlular port)
* ICMP ECHO packets
* TCP SYN requests (in
general, any TCP request with various flags and options)
* Generic IP datagrams
- UDP methods do not require root privileges
- Performing AS path lookups for returned addresses
- Showing of ICMP extensions, including MPLS
- Wrappers for tcptraceroute and others
- and much more, see traceroute(8)
You can try to contact the author at <Dmitry at Butskoy dot name>
.