# tracert6(8) - man - phpMan

[TRACEROUTE6(8)](https://www.chedong.com/phpMan.php/man/TRACEROUTE6/8/markdown)                         System Manager's Manual                        [TRACEROUTE6(8)](https://www.chedong.com/phpMan.php/man/TRACEROUTE6/8/markdown)



## NAME
       rltraceroute6 - IPv6 traceroute tool

       tcptraceroute6 - TCP/IPv6 traceroute tool


## SYNOPSIS
       **traceroute6**  [**-AdEILlnrSU**]  [**-f**  **min**___**hop**] [**-g** **hop**] [ **-i** **iface**] [**-m** **max**___**hop**] [**-p** **port**] [**-q** **at**‐‐
       **tempts**] [ **-s** **source**] [**-t** **tclass**] [**-w** **wait**] [**-z** **delay**___**ms**] < **hostname/address**> [**packet** **length**]

       **tcptraceroute6** [**-AdEnrS**] [**-f** **min**___**hop**] [**-g** **hop**] [ **-i** **iface**] [**-l** **packet**___**size**] [**-m** **max**___**hop**]  [**-p**
       **port**]  [  **-q**  **attempts**]  [**-s** **source**] [**-t** **tclass**] [**-w** **wait**] [ **-z** **delay**___**ms**] < **hostname/address**>
       [**port**]


## DESCRIPTON
       **rltraceroute6** is an IPv6 traceroute implementation.

       It displays the list of hops along the network route between the local system  and  specified
       destination,  by sending packets while incrementing their hop limit, until the final destina‐
       tion is reached.

       By default, **rltraceroute6** sends UDP probe packets toward the destination (that's the histori‐
       cal default).  However, it can also send TCP packets, much like Michael C. Toren's **tcptracer**‐‐
       **oute** does on IPv4 networks; **tcptraceroute6** sends TCP packets  by  default  (and  mimics  tcp‐
       traceroute command line syntax).  Finally, it can also send ICMPv6 Echo Request packets, like
       some other traceroute implementations (such as the one in Microsoft Windows);  **tracert6**  does
       this by default.

       You must specify the name or address of the host toward which the network route should be de‐
       termined. An optional additional parameter specifies either the probe packets length (for UDP
       and ICMP packets), or the destination port number/service name (for TCP packets).

       Note  that  TCP destination port zero really is TCP port numbered 0 (which cannot be used via
       the standard higer-level TCP/IP programming interface).


## OPTIONS
### -A
              the official Linux kernel versions up to and including 2.4.31 and 2.6.14), and utterly
              helpless against stateful ones. Note that TCP/ACK probing cannot determine whether the
              destination TCP port is open or not.


### -d
              is probably not going to have any actual effect.


### -E
              TCP/SYN probe packets. This has no effect unless command line optin -S is specified as
              well.


### -F
              en route.


### -f


### -g
              routing.  Currently, only "Type 0" routing header is supported.


### -h


### -I  (rltraceroute6 only)
              Send ICMPv6 Echo requests (like ping6) as probe packets.  That's the default for trac‐
              ert6.


### -i


### -I  (rltraceroute6 only)
              Send  UDP-Lite  (protocol  136) packets (with full checksum coverage) as probe packets
              instead of normal UDP (protocol 17).


### -l
              Print the hop limit of received packets.  This is mostly  used  to  detect  asymmetric
              routing.


### -l
              Specify the size (bytes) of sent packets.


### -m
              should be sufficient on the IPv6 Internet for some time.


### -N
              tion is meant for backward compatibility with [tcptraceroute(8)](https://www.chedong.com/phpMan.php/man/tcptraceroute/8/markdown).


### -n
              traceroute significantly.


### -p
              traceroute6 assumes that packets toward this port up to this port plus the maximum hop
              limit are not in use by any program on the final destination and  that  they  are  not
              blocked  by  some firewall. The fact that this very assumption was not always correct,
              eventually lead to the development of  the  original  IPv4  tcptraceroute  by  Michael
              Toren.

              For  tcptraceroute6, specify the source port number (default: auto).  Note that source
              port number zero really means number zero, rather than some port number that would  be
              automatically assigned, as is the case with usual softwares.


### -q


### -r
              fied by the routing table.  See also BUGS.


### -S


### -s


### -S


### -t


### -U  (rltraceroute6 only)
              Send UDP probe packets. That's the default.


### -V


### -w
              sent (default: 5 seconds).


### -x
              has no checksum field.


### -z
              This can be useful to work-around ICMPv6 rate limitation on some hosts.


## DIAGNOSTICS
       If a response is received, the round-trip time is printed.  In addition, specific symbols de‐
       note certain errors:


       *****   No response
              No valid response received before the timeout delay (see -w option).


       **!N**  No route to destination
              There is no entry for the destination network in the routing table.


       **!A**  Communication with destination administratively prohibited
              A firewall explicitly rejected the traffic.


       **!S**  Beyond scope of source address
              The address scope of the source address is too small to reach the destination address.
              At the time of writing, this can only happen when using a link-local source address to
              reach a global scope destination.  (Note: some IPv4 traceroute implementations use  !S
              for source route error which is completely different)


       **!H**  Address unreachable
              The  host  address  is not reachable for some other reasons, particularly a link-layer
              failure (e.g. Neighbor discovery failure).


       **!P**  Unrecognized Next Header type encountered
              The destination does not implement the layer-4 protocol used.  You should  retry  with
              ICMPv6  Echo  Requests  (-I  command  line option) which MUST be supported by any IPv6
              node.


## SECURITY
       rltraceroute6 should be _setuid_ _root_ to allow use by non privileged users. It  will  drop  its
       root  privileges before any attempt is made to send or receive data from the network so as to
       reduce the possible impact of a security vulnerability.


## BUGS
       However useful they might be, -i and -r options are ignored by the official Linux  kernel  at
       the time of writing this manpage, and hence do not work as documented.

       Support for option -t was broken until Linux kernel version 2.6.18.

       Usage  of  Routing  Header,  with  option -g, triggers an OOPS on Linux kernel versions below
       2.6.17.12.

       Receiving TCP/SYN-ACK packets does not work on FreeBSD at all.  This severely limits the use‐
       fulness of tcptraceroute6 on FreeBSD.

       Packet  length  takes  the  IPv6 header and, if present, extension headers into account.  rl‐
       traceroute6 versions before 0.7.4 used it as IPv6 payload length instead, i.e.  did  not  in‐
       clude  the  layer-3  headers in the computation.  Linux iputils traceroute6 does not even in‐
       clude the UDP header.  On the whole, the packet length semantic is  very  inconsistent  among
       IPv6 traceroute implementations.


## SEE ALSO
       [ipv6(7)](https://www.chedong.com/phpMan.php/man/ipv6/7/markdown), [traceroute(8)](https://www.chedong.com/phpMan.php/man/traceroute/8/markdown), [tcptraceroute(8)](https://www.chedong.com/phpMan.php/man/tcptraceroute/8/markdown), [traceroute6(8)](https://www.chedong.com/phpMan.php/man/traceroute6/8/markdown)


## AUTHOR
       Rémi Denis-Courmont <remi at remlab dot net>

       <http://www.remlab.net/ndisc6/>



traceroute6                                    $Date$                                 [TRACEROUTE6(8)](https://www.chedong.com/phpMan.php/man/TRACEROUTE6/8/markdown)
