TRACEROUTE(8)        Maintenance Commands and Procedures       TRACEROUTE(8)
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 elicit an 
ICMP or 
ICMP6 TIME_EXCEEDED response
       from each 
gateway 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 specifically 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, an asterisk (
*) is displayed 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 gateway 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 destination 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, 
packetlen 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, 
traceroute 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 override the default
           behavior. If the argument specified 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 database.
           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 destination. The
           output looks like 
traceroute has been run once for each 
IP           address of the destination. 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.
           When specified from within a shared-IP zone, this option has no
           effect as the "don't fragment" bit is always set in this case.       
-f first_hop           Set the starting 
ttl (
hop limit) value to 
first_hop, to override
           the default value 
1. 
traceroute 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.
           Only users with the 
{PRIV_NET_RAWACCESS} privilege can specify a
           loose source route with this option.       
-I           Use 
ICMP (
ICMP6) 
ECHO instead of 
UDP datagrams.       
-i iface           For IPv4, this option specifies a network interface 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, 
eri0, 
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 symbolically and
           numerically. This saves a nameserver address-to-name lookup for
           each gateway 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 terminate the route tracing. If
           something is listening 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 consecutive 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 daemon. See 
in.routed(8).  You cannot use this
           option if the 
-g option is used.       
-S           Display a summary of how many probes were not answered for each
           hop.       
-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 interface 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. Checksums are
           usually required for the last hop when using 
ICMP ECHO probes.
           This option is valid only on IPv4. See the 
-I option.
           When specified from within a shared-IP zone, this option has no
           effect as the checksum is always calculated by the operating
           system in this case.
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 @ eri0: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 sanfrancisco.
         istanbul% 
traceroute sanfrancisco         traceroute: Warning: Multiple interfaces found; using 172.31.86.247 @eri0
         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.
SEE ALSO
       signal(3C), 
attributes(7), 
privileges(7), 
zones(7), 
netstat(8),       
ping(8)WARNINGS
       This utility is intended for use in network testing, measurement 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(8) during normal operations or from automated scripts.
                                June 13, 2021                  TRACEROUTE(8)