1TRACEROUTE6(8)              System Manager's Manual             TRACEROUTE6(8)
2
3
4

NAME

6       rltraceroute6 - IPv6 traceroute tool
7
8       tcptraceroute6 - TCP/IPv6 traceroute tool
9
10

SYNOPSIS

12       traceroute6  [-AdEILlnrSU]  [-f  min_hop]  [-g  hop]  [  -i  iface] [-m
13       max_hop] [-p port] [-q attempts] [ -s source] [-t tclass] [-w wait] [-z
14       delay_ms] < hostname/address> [packet length]
15
16       tcptraceroute6  [-AdEnrS]  [-f  min_hop]  [-g  hop]  [  -i  iface]  [-l
17       packet_size] [-m max_hop] [-p port] [  -q  attempts]  [-s  source]  [-t
18       tclass] [-w wait] [ -z delay_ms] < hostname/address> [port]
19
20

DESCRIPTON

22       rltraceroute6 is an IPv6 traceroute implementation.
23
24       It  displays the list of hops along the network route between the local
25       system and specified destination, by sending packets while incrementing
26       their hop limit, until the final destination is reached.
27
28       By  default,  rltraceroute6 sends UDP probe packets toward the destina‐
29       tion (that's the historical default).  However, it can  also  send  TCP
30       packets,  much  like Michael C. Toren's tcptraceroute does on IPv4 net‐
31       works; tcptraceroute6 sends TCP packets by  default  (and  mimics  tcp‐
32       traceroute command line syntax).  Finally, it can also send ICMPv6 Echo
33       Request packets, like some other traceroute  implementations  (such  as
34       the one in Microsoft Windows); tracert6 does this by default.
35
36       You  must specify the name or address of the host toward which the net‐
37       work route should be determined. An optional additional parameter spec‐
38       ifies  either  the  probe packets length (for UDP and ICMP packets), or
39       the destination port number/service name (for TCP packets).
40
41       Note that TCP destination port zero  really  is  TCP  port  numbered  0
42       (which  cannot  be used via the standard higer-level TCP/IP programming
43       interface).
44
45

OPTIONS

47       -A     Send TCP/ACK probe packets. That's very efficient against state‐
48              less  firewalls  (e.g.  the official Linux kernel versions up to
49              and including 2.4.31 and 2.6.14), and utterly  helpless  against
50              stateful  ones.  Note  that  TCP/ACK  probing  cannot  determine
51              whether the destination TCP port is open or not.
52
53
54       -d     Enable socket debugging option (SO_DEBUG). Unless you are debug‐
55              ging  the  kernel, this is probably not going to have any actual
56              effect.
57
58
59       -E     Send ECN-setup TCP/SYN probe packets (as per  RFC  3168)  rather
60              than  non-ECN-setup  TCP/SYN  probe  packets. This has no effect
61              unless command line optin -S is specified as well.
62
63
64       -F     This option is ignored for backward compatibility.  IPv6 packets
65              are never fragmented en route.
66
67
68       -f     Override the initial IPv6 packets hop limit (default: 1).
69
70
71       -g     Add  an  IPv6 route segment within an IPv6 Routing Header.  This
72              enables loose source routing.  Currently, only "Type 0"  routing
73              header is supported.
74
75
76       -h     Display some help and exit.
77
78
79       -I  (rltraceroute6 only)
80              Send ICMPv6 Echo requests (like ping6) as probe packets.  That's
81              the default for tracert6.
82
83
84       -i     Only send packets through the  specified  interface.   See  also
85              BUGS.
86
87
88       -I  (rltraceroute6 only)
89              Send  UDP-Lite (protocol 136) packets (with full checksum cover‐
90              age) as probe packets instead of normal UDP (protocol 17).
91
92
93       -l (rltraceroute6 only)
94              Print the hop limit of received packets.  This is mostly used to
95              detect asymmetric routing.
96
97
98       -l (tcptraceroute6 only)
99              Specify the size (bytes) of sent packets.
100
101
102       -m     Override  the  maximum  hop limit (maximum number of hops).  The
103              default is 30 hops which should be sufficient on the IPv6 Inter‐
104              net for some time.
105
106
107       -N     Try  to  resolve each hop's IPv6 address to a host name. This is
108              the default.  This option is meant  for  backward  compatibility
109              with tcptraceroute(8).
110
111
112       -n     Do  not  try  to resolve each hop's IPv6 address to a host name.
113              That may speed up the traceroute significantly.
114
115
116       -p     For rltraceroute6, specify  the  base  destination  port  number
117              (default:  33434).   rltraceroute6  assumes  that packets toward
118              this port up to this port plus the maximum hop limit are not  in
119              use  by  any  program on the final destination and that they are
120              not blocked by some firewall. The fact that this very assumption
121              was  not  always  correct, eventually lead to the development of
122              the original IPv4 tcptraceroute by Michael Toren.
123
124              For tcptraceroute6, specify the  source  port  number  (default:
125              auto).   Note  that  source port number zero really means number
126              zero, rather than some port number that would  be  automatically
127              assigned, as is the case with usual softwares.
128
129
130       -q     Override the number of probes sent to each hop (default: 3).
131
132
133       -r     Do not route packets, i.e. do not send packets through a gateway
134              that would be specified by the routing table.  See also BUGS.
135
136
137       -S     Use TCP/SYN probe packets. That's  the  default  for  tcptracer‐
138              oute6.
139
140
141       -s     Specify the source address to use for probe packets explicitly.
142
143
144       -S     Use UDP probe packets. That's the default for rltraceroute6.
145
146
147       -t     Specify  the  traffic  class (DSCP) for probe packets.  See also
148              BUGS.
149
150
151       -U  (rltraceroute6 only)
152              Send UDP probe packets. That's the default.
153
154
155       -V     Display program version and license and exit.
156
157
158       -w     Override the delay (in seconds) to  wait  for  response  once  a
159              given probe packet was sent (default: 5 seconds).
160
161
162       -x     This  option is ignored for seamless migration from IPv4 tracer‐
163              oute.  The IPv6 header has no checksum field.
164
165
166       -z     Specify a milliseconds delay to wait  between  each  probe  with
167              identical  hop  limit.  This can be useful to work-around ICMPv6
168              rate limitation on some hosts.
169
170

DIAGNOSTICS

172       If a response is received, the round-trip time is  printed.   In  addi‐
173       tion, specific symbols denote certain errors:
174
175
176       *   No response
177              No  valid  response  received  before  the timeout delay (see -w
178              option).
179
180
181       !N  No route to destination
182              There is no entry for the destination network in the routing ta‐
183              ble.
184
185
186       !A  Communication with destination administratively prohibited
187              A firewall explicitly rejected the traffic.
188
189
190       !S  Beyond scope of source address
191              The  address  scope  of the source address is too small to reach
192              the destination address. At the time of writing, this  can  only
193              happen  when using a link-local source address to reach a global
194              scope destination.  (Note: some IPv4 traceroute  implementations
195              use !S for source route error which is completely different)
196
197
198       !H  Address unreachable
199              The  host  address is not reachable for some other reasons, par‐
200              ticularly a link-layer failure (e.g.  Neighbor  discovery  fail‐
201              ure).
202
203
204       !P  Unrecognized Next Header type encountered
205              The  destination  does  not implement the layer-4 protocol used.
206              You should retry with ICMPv6  Echo  Requests  (-I  command  line
207              option) which MUST be supported by any IPv6 node.
208
209

SECURITY

211       rltraceroute6  should  be  setuid  root  to allow use by non privileged
212       users. It will drop its root privileges before any attempt is  made  to
213       send  or  receive  data  from  the network so as to reduce the possible
214       impact of a security vulnerability.
215
216

BUGS

218       However useful they might be, -i and -r  options  are  ignored  by  the
219       official Linux kernel at the time of writing this manpage, and hence do
220       not work as documented.
221
222       Support for option -t was broken until Linux kernel version 2.6.18.
223
224       Usage of Routing Header, with option -g, triggers an OOPS on Linux ker‐
225       nel versions below 2.6.17.12.
226
227       Receiving  TCP/SYN-ACK  packets  does not work on FreeBSD at all.  This
228       severely limits the usefulness of tcptraceroute6 on FreeBSD.
229
230       Packet length takes the IPv6 header and, if present, extension  headers
231       into account.  rltraceroute6 versions before 0.7.4 used it as IPv6 pay‐
232       load length instead, i.e. did not include the layer-3  headers  in  the
233       computation.   Linux  iputils traceroute6 does not even include the UDP
234       header.  On the whole, the packet length semantic is very  inconsistent
235       among IPv6 traceroute implementations.
236
237

SEE ALSO

239       ipv6(7), traceroute(8), tcptraceroute(8), traceroute6(8)
240
241

AUTHOR

243       Rémi Denis-Courmont <remi at remlab dot net>
244
245       http://www.remlab.net/ndisc6/
246
247
248
249traceroute6                         $Date$                      TRACEROUTE6(8)
Impressum