traceroute(1M)
NAME
traceroute - print the route packets take to network host
SYNOPSIS
traceroute [-adFIlnSvx] [-A addr_family] [-c traffic_class]
[-f first_hop] [ -g gateway [ -g gateway...] | -r] [-i
iface] [-L flow_label] [-m max_hop] [-P pause_sec] [-p port]
[-Q max_timeout] [-q nqueries] [-s src_addr] [-t tos] [-
w wait_time] host [packetlen]
DESCRIPTION
The Internet is a large and complex aggregation of network
hardware, connected by gateways. Tracking the route a packet
follows can be difficult. The utility traceroute traces the
route that an IP packet follows to another internet host.
The traceroute utility utilizes the both the IPv4 and IPv6
protocols. Use the -A option to override the default
behavior. traceroute uses the IPv4 protocol ttl (time to
live) field or the IPv6 field hop limit. It attempts to eli-
cit an ICMP or ICMP6 TIME_EXCEEDED response from each gate-
way along the path, and a PORT_UNREACHABLE(or ECHO_REPLY if
-I is used) response from the destination host. It starts by
sending probes with a ttl or hop limit of 1 and increases by
1 until it either gets to the host, or it hits the maximum
max_hop. The default maximum max_hop is 30 hops, but this
can be set by the -m option.
Three probes are sent at each ttl (hop limit) setting, and a
line is printed showing the ttl (hop limit), the hostname
and the address of the gateway, and the rtt (round trip
time) of each probe. The number of probes may be specifi-
cally set using the -q option. If the probe answers come
from different gateways, the hostname and the address of
each responding system will be printed. If there is no
response within a 5 second timeout interval, a "*" is
printed for that probe. The -w option may be used to set the
timeout interval. Other possible annotations that may appear
after the time are:
! the ttl (hop limit) value in the received packet
is <= 1.
!H host unreachable.
!X communication administratively prohibited.
<!N> ICMP (ICMP6) unreachable code N.
The following annotations appear only for IPv4:
!F fragmentation needed. This should never occur. If
this is seen, the associated gateway is broken.
!N network unreachable.
!P protocol unreachable.
!S source route failed. It is likely that the gate-
way does not support source routing.
!T unreachable for the specified tos (type-of-
service).
!U source host isolated or precedence problem.
The following annotations appear only for IPv6:
!A host unreachable for a reason other than lack of
an entry in the routing table.
!B packet too big.
!E destination is not a neighbor.
!R unrecognized next header.
If almost all the probes result in some kind of unreachable
code, then traceroute gives up and exits.
The destination host is not supposed to process the UDP
probe packets, so the destination port default is set to an
unlikely value. However, if some application on the destina-
tion is using that value, the value of port can be changed
with the -p option.
The only mandatory parameter is the destination host name or
IP number. The default probe datagram length is 40 bytes (60
bytes for IPv6), but this may be increased by specifying a
packet length (in bytes) after the destination host name.
All integer arguments to traceroute can be specified in
either decimal or hexadecimal notation. For example, pack-
etlen can be specified either as 256 or 0x100.
OPTIONS
-A addr_family
Specify the address family of the target host.
addr_family can be either inet or inet6. Address
family determines which protocol to use. For an
argument of inet, IPv4 is used. For inet6, IPv6
is used.
By default, if the name of a host is provided,
not the literal IP address, and a valid IPv6
address exists in the name service database, tra-
ceroute will use this address. Otherwise, if the
name service database contains an IPv4 address,
it will try the IPv4 address.
Specify the address family inet or inet6 to over-
ride the default behavior. If the argument speci-
fied is inet, traceroute will use the IPv4
address associated with the hostname. If none
exists, traceroute will state that the host is
unknown and exit. It will not try to determine if
an IPv6 address exists in the name service data-
base.
If the specified argument is inet6, traceroute
will use the IPv6 address that is associated with
the hostname. If none exists, traceroute will
state that the host is unknown and exit.
-a Probe all of the addresses of a multi-homed des-
tination. The output looks like traceroute has
been run once for each IP address of the destina-
tion. If this option is used together with -A,
traceroute probes only the addresses that are of
the specified address family. While probing one
of the addresses of the destination, user can
skip to the next address by sending a SIGINT, or
exit traceroute by sending a SIGQUIT signal. See
signal(3C)
-c traffic_class
Specify the traffic class of probe packets. The
value must be an integer in the range from 0 to
255. Gateways along the path may route the probe
packet differently depending upon the value of
traffic_class set in the probe packet. This
option is valid only on IPv6.
-d Set the SO_DEBUG socket option.
-F Set the "don't fragment" bit. This option is
valid only on IPv4.
-f first_hop
Set the starting ttl ( hop limit) value to
first_hop, to override the default value 1. tra-
ceroute skips processing for those intermediate
gateways which are less than first_hop hops away.
-g gateway
Specify a loose source route gateway. The user
can specify more than one gateway by using -g for
each gateway. The maximum number of gateways is 8
for IPv4 and 127 for IPv6. Note that some factors
such as the link MTU can further limit the number
of gateways for IPv6. This option cannot be used
with the -r option.
-I Use ICMP (ICMP6) ECHO instead of UDP datagrams.
-i iface
For IPv4, this option specifies a network inter-
face to obtain the source IP address. This is
normally only useful on a multi-homed host. The
-s option is also another way to do this. For
IPv6, it specifies the network interface on which
probe packets are transmitted. The argument can
be either an interface index, for example, 1, 2,
or an interface name, for example, le0, hme0.
-L flow_label
Specify the flow label of probe packets. The
value must be an integer in the range from 0 to
1048575. This option is valid only on IPv6.
-l Print the value of the ttl (hop limit) field in
each packet received.
-m max_hop
Set the maximum ttl (hop limit) used in outgoing
probe packets. The default is 30 hops, which is
the same default used for TCP connections.
-n Print hop addresses numerically rather than sym-
bolically and numerically. This saves a
nameserver address-to-name lookup for each gate-
way found on the path.
-P pause_sec
Specify a delay, in seconds, to pause between
probe packets. This may be necessary if the final
destination does not accept undeliverable packets
in bursts. By default, traceroute sends the next
probe as soon as it has received a reply. Note
that pause_sec is a real number.
-p port
Set the base UDP port number used in probes.The
default is 33434. traceroute hopes that nothing
is listening on UDP ports (base+(nhops-
1)*nqueries) to (base+(nhops*nqueries)-1)at the
destination host, so that an ICMP (ICMP6)
PORT_UNREACHABLE message will be returned to ter-
minate the route tracing. If something is listen-
ing on a port in the default range, this option
can be used to select an unused port range. nhops
is defined as the number of hops between the
source and the destination.
-Q max_timeout
Stop probing this hop after max_timeout consecu-
tive timeouts are detected. The default value is
5. Useful in combination with the -q option if
you have specified a large nqueries probe count.
-q nqueries
Set the desired number of probe queries. The
default is 3.
-r Bypass the normal routing tables and send
directly to a host on an attached network. If the
host is not on a directly-attached network, an
error is returned. This option can be used to
send probes to a local host through an interface
that has been dropped by the router deamon. See
in.routed(1M). You cannot use this option if the
-g option is used.
-s src_addr
Use the following address, which usually is given
as a literal IP address, not a hostname, as the
source address in outgoing probe packets. On
multi-homed hosts, those with more than one IP
address, this option can be used to force the
source address to be something other than the IP
address traceroute picks by default. If the IP
address is not one of this machine's interface
addresses, an error is returned and nothing is
sent. For IPv4, when used together with the -i
option, the given IP address should be configured
on the specified interface. Otherwise, an error
will be returned. In the case of IPv6, the inter-
face name and the source address do not have to
match.
-t tos
Set the tos(type-of-service) in probe packets to
the specified value. The default is zero. The
value must be an integer in the range from 0 to
255. Gateways along the path may route the probe
packet differently depending upon the tos value
set in the probe packet. This option is valid
only on IPv4.
-v Verbose output. For each hop, the size and the
destination of the response packets is displayed.
Also ICMP (ICMP6) packets received other than
TIME_EXCEEDED and UNREACHABLE are listed as well.
-w waittime
Set the time, in seconds, to wait for a response
to a probe. The default is 5 seconds.
-x Prevent traceroute from calculating checksums.
Note that checksums are usually required for the
last hop when using ICMP ECHO probes. This option
is valid only on IPv4. See the -I option.
OPERANDS
The following operands are supported:
host The network host.
EXAMPLES
Example 1: Sample Output From the traceroute Utility
Some sample output from the traceroute utility might be:
istanbul% traceroute london
traceroute: Warning: london has multiple addresses; \
using 4::114:a00:20ff:ab3d:83ed
traceroute: Warning: Multiple interfaces found; \
using 4::56:a00:20ff:fe93:8dde @ le0:2
traceroute to london (4::114:a00:20ff:ab3d:83ed), 30 hops max, \
60 byte packets
1 frbldg7c-86 (4::56:a00:20ff:fe1f:65a1) 1.786 ms 1.544 ms 1.719 ms
2 frbldg7b-77 (4::255:0:0:c0a8:517) 2.587 ms 3.001 ms 2.988 ms
3 london (4::114:a00:20ff:ab3d:83ed) 3.122 ms 2.744 ms 3.356 ms
The target host, london, has both IPv4 and IPv6 addresses in
the name service database. According to the default
behavior, traceroute uses IPv6 address of the destination
host.
Example 2: Using the traceroute Utility For a Host Which has
Only IPv4 Addresses
In the following examples, traceroute is tracking the route
to host sanfrancisco, which has only IPv4 addresses in the
name service database. Therefore traceroute uses only IPv4
addresses. The following shows the 7-hop path that a packet
would follow from the host istanbul to the host sanfran-
cisco.
istanbul% traceroute sanfrancisco
traceroute: Warning: Multiple interfaces found; using 172.31.86.247 @ le0
traceroute to sanfrancisco (172.29.64.39), 30 hops max, 40 byte packets
1 frbldg7c-86 (172.31.86.1) 1.516 ms 1.283 ms 1.362 ms
2 bldg1a-001 (172.31.1.211) 2.277 ms 1.773 ms 2.186 ms
3 bldg4-bldg1 (172.30.4.42) 1.978 ms 1.986 ms 13.996 ms
4 bldg6-bldg4 (172.30.4.49) 2.655 ms 3.042 ms 2.344 ms
5 ferbldg11a-001 (172.29.1.236) 2.636 ms 3.432 ms 3.830 ms
6 frbldg12b-153 (172.29.153.72) 3.452 ms 3.146 ms 2.962 ms
7 sanfrancisco (172.29.64.39) 3.430 ms 3.312 ms 3.451 ms
Example 3: Using the traceroute Utility With Source Routing
The following example shows the path of a packet that goes
from istanbul to sanfrancisco through the hosts cairo and
paris, as specified by the -g option. The -I option makes
traceroute send ICMP ECHO probes to the host sanfrancisco.
The -i options sets the source address to the IP address
configured on the interface qe0.
istanbul% traceroute -g cairo -g paris -i qe0 -q 1 -I sanfrancisco
traceroute to sanfrancisco (172.29.64.39), 30 hops max, 56 byte packets
1 frbldg7c-86 (172.31.86.1) 2.012 ms
2 flrbldg7u (172.31.17.131) 4.960 ms
3 cairo (192.168.163.175) 4.894 ms
4 flrbldg7u (172.31.17.131) 3.475 ms
5 frbldg7c-017 (172.31.17.83) 4.126 ms
6 paris (172.31.86.31) 4.086 ms
7 frbldg7b-82 (172.31.82.1) 6.454 ms
8 bldg1a-001 (172.31.1.211) 6.541 ms
9 bldg6-bldg4 (172.30.4.49) 6.518 ms
10 ferbldg11a-001 (172.29.1.236) 9.108 ms
11 frbldg12b-153 (172.29.153.72) 9.634 ms
12 sanfrancisco (172.29.64.39) 14.631 ms
EXIT STATUS
The following exit values are returned:
0 Successful operation.
>0 An error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu |
|_____________________________|_____________________________|
SEE ALSO
netstat(1M), signal(3C), ping(1M), attributes(5)
WARNINGS
This utility is intended for use in network testing, meas-
urement and management. It should be used primarily for
manual fault isolation. Because of the load it could impose
on the network, it is unwise to use traceroute(1M) during
normal operations or from automated scripts.
Man(1) output converted with
man2html