Merge branch 'vendor/LESS'
[dragonfly.git] / usr.sbin / traceroute6 / traceroute6.8
1 .\"     $KAME: traceroute6.8,v 1.10 2004/06/06 12:35:15 suz Exp $
2 .\"
3 .\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
4 .\" All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the project nor the names of its contributors
15 .\"    may be used to endorse or promote products derived from this software
16 .\"    without specific prior written permission.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" SUCH DAMAGE.
29 .\"
30 .\" $FreeBSD: src/usr.sbin/traceroute6/traceroute6.8,v 1.17 2008/02/10 21:06:38 dwmalone Exp $
31 .\" $DragonFly: src/usr.sbin/traceroute6/traceroute6.8,v 1.4 2008/05/20 12:14:10 hasso Exp $
32 .\"
33 .Dd May 20, 2008
34 .Dt TRACEROUTE6 8
35 .Os
36 .\"
37 .Sh NAME
38 .Nm traceroute6
39 .Nd "print the route IPv6 packets will take to a network node"
40 .\"
41 .Sh SYNOPSIS
42 .Nm
43 .Bk -words
44 .Op Fl dIlnNrvU
45 .Ek
46 .Bk -words
47 .Op Fl f Ar firsthop
48 .Ek
49 .Bk -words
50 .Op Fl g Ar gateway
51 .Ek
52 .Bk -words
53 .Op Fl m Ar hoplimit
54 .Ek
55 .Bk -words
56 .Op Fl p Ar port
57 .Ek
58 .Bk -words
59 .Op Fl q Ar probes
60 .Ek
61 .Bk -words
62 .Op Fl s Ar src
63 .Ek
64 .Bk -words
65 .Op Fl w Ar waittime
66 .Ek
67 .Bk -words
68 .Ar target
69 .Op Ar datalen
70 .Ek
71 .\"
72 .Sh DESCRIPTION
73 The
74 .Nm
75 utility
76 uses the IPv6 protocol hop limit field to elicit an ICMPv6 TIME_EXCEEDED
77 response from each gateway along the path to some host.
78 .Pp
79 The only mandatory parameter is the destination host name or IPv6 address.
80 The default probe datagram carries 12 bytes of payload,
81 in addition to the IPv6 header.
82 The size of the payload can be specified by giving a length
83 (in bytes)
84 after the destination host name.
85 .Pp
86 Other options are:
87 .Bl -tag -width Ds
88 .It Fl d
89 Debug mode.
90 .It Fl f Ar firsthop
91 Specify how many hops to skip in trace.
92 .It Fl g Ar gateway
93 Specify intermediate gateway
94 .Nm (
95 uses routing header).
96 .It Fl I
97 Use ICMP6 ECHO instead of UDP datagrams.
98 .It Fl l
99 Print both host hostnames and numeric addresses.
100 Normally
101 .Nm
102 prints only hostnames if
103 .Fl n
104 is not specified, and only numeric addresses if
105 .Fl n
106 is specified.
107 .It Fl m Ar hoplimit
108 Specify maximum hoplimit, up to 255.
109 The default is 30 hops.
110 .It Fl n
111 Do not resolve numeric address to hostname.
112 .It Fl N
113 Use a packet with no upper layer header for the probes,
114 instead of UDP datagrams.
115 .It Fl p Ar port
116 Set UDP port number to
117 .Ar port .
118 .It Fl q Ar probes
119 Set the number of probe per hop count to
120 .Ar probes .
121 .It Fl r
122 Bypass the normal routing tables and send directly to a host
123 on an attached network.
124 If the host is not on a directly-connected network,
125 an error is returned.
126 This option corresponds to the
127 .Dv SO_DONTROUTE
128 socket option;
129 it can be used to ping a local host through an interface
130 that has no route through it
131 (e.g., after the interface was dropped by a routing daemon).
132 .It Fl s Ar src
133 .Ar Src
134 specifies the source IPv6 address to be used.
135 .It Fl U
136 Use UDP datagrams for the probes.
137 This is the default.
138 .It Fl v
139 Be verbose.
140 .It Fl w Ar waittime
141 Specify the delay time between probes.
142 .El
143 .Pp
144 This program prints the route to the given destination and the round-trip
145 time to each gateway, in the same manner as traceroute.
146 .Pp
147 Here is a list of possible annotations after the round-trip time for each gateway:
148 .Bl -hang -offset indent
149 .It !N
150 Destination Unreachable - No Route to Host.
151 .It !P
152 Destination Unreachable - Administratively Prohibited.
153 .It !S
154 Destination Unreachable - Not a Neighbour.
155 .It !A
156 Destination Unreachable - Address Unreachable.
157 .It !\&
158 This is printed if the hop limit is <= 1 on a port unreachable message.
159 This means that the packet got to the destination,
160 but that the reply had a hop limit that was just large enough to
161 allow it to get back to the source of the traceroute6.
162 This was more interesting in the IPv4 case,
163 where some IP stack bugs could be identified by this behaviour.
164 .El
165 .\"
166 .Sh RETURN VALUES
167 The
168 .Nm
169 utility will exit with 0 on success, and non-zero on errors.
170 .\"
171 .Sh SEE ALSO
172 .Xr ping 8 ,
173 .Xr ping6 8 ,
174 .Xr traceroute 8
175 .\"
176 .Sh HISTORY
177 The
178 .Nm
179 utility first appeared in WIDE hydrangea IPv6 protocol stack kit.