File: rltraceroute6.8

package info (click to toggle)
ndisc6 0.7.3-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 664 kB
  • ctags: 179
  • sloc: ansic: 2,407; sh: 865; makefile: 115; perl: 37
file content (206 lines) | stat: -rw-r--r-- 6,973 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
.\" ***********************************************************************
.\" *  Copyright © 2005-2006 Rémi Denis-Courmont.                         *
.\" *  This program is free software; you can redistribute and/or modify  *
.\" *  it under the terms of the GNU General Public License as published  *
.\" *  by the Free Software Foundation; version 2 of the license.         *
.\" *                                                                     *
.\" *  This program is distributed in the hope that it will be useful,    *
.\" *  but WITHOUT ANY WARRANTY; without even the implied warranty of     *
.\" *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.               *
.\" *  See the GNU General Public License for more details.               *
.\" *                                                                     *
.\" *  You should have received a copy of the GNU General Public License  *
.\" *  along with this program; if not, you can get it from:              *
.\" *  http://www.gnu.org/copyleft/gpl.html                               *
.\" ***********************************************************************
.TH "TRACEROUTE6" "8" "$Date: 2006-10-07 14:38:51 +0300 (sam, 07 oct 2006) $" "traceroute6" "System Manager's Manual"
.SH NAME
rltraceroute6 \- IPv6 traceroute tool
.SH SYNOPSIS
.BR "traceroute6" " [" "-AdEIlnrSU" "] [" "-f min_hop" "] [" "-g hop" "] ["
.BR "-i iface" "] [" "-m max_hop" "] [" "-p port" "] [" "-q attempts" "] ["
.BR "-s source" "] [" "-t tclass" "] [" "-w wait" "] [" "-z delay_ms" "] <"
.BR "hostname/address" "> [" "port/packet length" "]"

.SH DESCRIPTON
.B 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 destination is reached.

.RB "By default, " "rltraceroute6" " sends UDP probe packets toward the"
destination (that's the historical default).
However, it can also send TCP packets, much like Michael C. Toren's
.B tcptraceroute
does on IPv4 networks; 
.B tcptraceroute6
sends TCP packets by default.
Finally, it can also send ICMPv6 Echo Request packets, like some other
traceroute implementations (such as the one in Microsoft Windows);
.B tracert6
does this by default.

You must specify the name or address of the host toward which the network
route should be determined. 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).

.SH OPTIONS

.TP
.B "\-A"
Send TCP/ACK probe packets. That's very efficient against stateless
firewalls (e.g. 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.

.TP
.B "\-d"
Enable socket debugging option (SO_DEBUG). Unless you are debugging the
kernel, this is probably not going to have any actual effect.

.TP
.B "\-E"
.RI "Send " "ECN-setup" " TCP/SYN probe packets (as per RFC 3168)"
rather than non-ECN-setup TCP/SYN probe packets. This has no effect unless
command line optin -S is specified as well.

.TP
.B "\-F"
This option is ignored for backward compatibility.
IPv6 packets are never fragmented en route.

.TP
.B "\-f"
Override the initial IPv6 packets hop limit (default: 1).

.TP
.B "\-g"
Add an IPv6 route segment within an IPv6 Routing Header.
This enables loose source routing.
Currently, only "Type 0" routing header is supported.

.TP
.B "\-h"
Display some help and exit.

.TP
.B "\-I"
Send ICMPv6 Echo requests (like ping6) as probe packets.
That's the default for tracert6.

.TP
.B "\-i"
Only send packets through the specified interface.
See also BUGS.

.TP
.B "\-l"
Print the hop limit of received packets.
This is mostly used to detect asymmetric routing.

.TP
.B "\-m"
Override the maximum hop limit (maximum number of hops).
The default is 30 hops which should be sufficient on the IPv6 Internet for
some time.

.TP
.B "\-N"
Try to resolve each hop's IPv6 address to a host name. This is the default.
This option is meant for backward compatibility with tcptraceroute(8).

.TP
.B "\-n"
Do not try to resolve each hop's IPv6 address to a host name.
That may speed up the traceroute significantly.

.TP
.B "\-p"
For TCP (SYN or ACK) probes, 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.

For UDP probes, specify the base destination port number (default: 33434).
rltraceroute6 assumes that UDP ports from this port, 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.

.TP
.B "\-q"
Override the number of probes sent to each hop (default: 3).

.TP
.B "\-r"
Do not route packets, i.e. do not send packets through a gateway that would be
specified by the routing table.
See also BUGS.

.TP
.B "\-S"
Use TCP/SYN probe packets. That's the default for tcptraceroute6.

.TP
.B "\-s"
Specify the source address to use for probe packets explicitly.

.TP
.B "\-S"
Use UDP probe packets. That's the default for rltraceroute6.

.TP
.B "\-t"
Specify the traffic class (DSCP) for probe packets.
See also BUGS.

.TP
.B "\-V"
Display program version and license and exit.

.TP
.B "\-w"
Override the delay (in seconds) to wait for response once a given probe packet
was sent (default: 5 seconds).

.TP
.B "\-x"
This option is ignored for seamless migration from IPv4 traceroute.
The IPv6 header has no checksum field.

.TP
.B "\-z"
Specify a milliseconds delay to wait between each probe. This can be useful to
work-around ICMPv6 rate limitation on some hosts.

.SH SECURITY
.RI "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.

.SH 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.

rltraceroute6 implements option -i on Linux only at the moment.
It is not portable.

.SH "SEE ALSO"
ipv6(7), traceroute(8), tcptraceroute(8), traceroute6(8)

.SH AUTHOR
R\[char233]mi Denis-Courmont <rdenis at simphalempin.com>

$Id: rltraceroute6.8 353 2006-10-07 11:38:51Z remi $