--help
Print help info and exit.
-4
, -6
Explicitly force IPv4 or IPv6 tracerouting. By default,
the program will try to resolve the name given, and choose
the appropriate protocol automatically. If resolving a
host name returns both IPv4 and IPv6 addresses, traceroute
will use IPv4.
-I, --icmp
Use ICMP ECHO for probes
-T, --tcp
Use TCP SYN for probes
-d, --debug
Enable socket level debugging (when the Linux kernel
supports it)
-F, --dont-fragment
Do not fragment probe packets. (For IPv4 it also sets DF
bit, which tells intermediate routers not to fragment
remotely as well).
Varying the size of the probing packet by the packet_len
command line parameter, you can manually obtain
information about the MTU of individual network hops. The
--mtu
option (see below) tries to do this automatically.
Note, that non-fragmented features (like -F
or --mtu
) work
properly since the Linux kernel 2.6.22 only. Before that
version, IPv6 was always fragmented, IPv4 could use the
once the discovered final mtu only (from the route cache),
which can be less than the actual mtu of a device.
-f
first_ttl, --first=
first_ttl
Specifies with what TTL to start. Defaults to 1.
-g
gateway, --gateway=
gateway
Tells traceroute to add an IP source routing option to the
outgoing packet that tells the network to route the packet
through the specified gateway (most routers have disabled
source routing for security reasons). In general, several
gateway's is allowed (comma separated). For IPv6, the form
of num,
addr,
addr... is allowed, where num is a route
header type (default is type 2). Note the type 0 route
header is now deprecated (rfc5095).
-i
interface, --interface=
interface
Specifies the interface through which traceroute should
send packets. By default, the interface is selected
according to the routing table.
-m
max_ttl, --max-hops=
max_ttl
Specifies the maximum number of hops (max time-to-live
value) traceroute will probe. The default is 30.
-N
squeries, --sim-queries=
squeries
Specifies the number of probe packets sent out
simultaneously. Sending several probes concurrently can
speed up traceroute considerably. The default value is 16.
Note that some routers and hosts can use ICMP rate
throttling. In such a situation specifying too large
number can lead to loss of some responses.
-n
Do not try to map IP addresses to host names when
displaying them.
-p
port, --port=
port
For UDP tracing, specifies the destination port base
traceroute will use (the destination port number will be
incremented by each probe).
For ICMP tracing, specifies the initial ICMP sequence
value (incremented by each probe too).
For TCP and others specifies just the (constant)
destination port to connect.
-t
tos, --tos=
tos
For IPv4, set the Type of Service (TOS) and Precedence
value. Useful values are 16 (low delay) and 8 (high
throughput). Note that in order to use some TOS precedence
values, you have to be super user.
For IPv6, set the Traffic Control value.
-l
flow_label, --flowlabel=
flow_label
Use specified flow_label for IPv6 packets.
-w
max[,
here,
near], --wait=
max[,
here,
near]
Determines how long to wait for a response to a probe.
There are three (in general) float values separated by a
comma (or a slash). Max specifies the maximum time (in
seconds, default 5.0) to wait, in any case.
Traditional traceroute implementation always waited whole
max seconds for any probe. But if we already have some
replies from the same
hop, or even from some next
hop, we
can use the round trip time of such a reply as a hint to
determine the actual reasonable amount of time to wait.
The optional here (default 3.0) specifies a factor to
multiply the round trip time of an already received
response from the same
hop. The resulting value is used as
a timeout for the probe, instead of (but no more than)
max. The optional near (default 10.0) specifies a similar
factor for a response from some next
hop. (The time of
the first found result is used in both cases).
First, we look for the same
hop (of the probe which will
be printed first from now). If nothing found, then look
for some next
hop. If nothing found, use max. If here
and/or near have zero values, the corresponding
computation is skipped.
Here and near are always set to zero if only max is
specified (for compatibility with previous versions).
-q
nqueries, --queries=
nqueries
Sets the number of probe packets per hop. 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 ping a local host through an
interface that has no route through it.
-s
source_addr, --source=
source_addr
Chooses an alternative source address. Note that you must
select the address of one of the interfaces. By default,
the address of the outgoing interface is used.
-z
sendwait, --sendwait=
sendwait
Minimal time interval between probes (default 0). If the
value is more than 10, then it specifies a number in
milliseconds, else it is a number of seconds (float point
values allowed too). Useful when some routers use rate-
limit for ICMP messages.
-e, --extensions
Show ICMP extensions (rfc4884). The general form is
CLASS/
TYPE:
followed by a hexadecimal dump. The MPLS
(rfc4950) is shown parsed, in a form:
MPLS:L=
label,E=
exp_use,S=
stack_bottom,T=
TTL (more objects
separated by /
).
-A, --as-path-lookups
Perform AS path lookups in routing registries and print
results directly after the corresponding addresses.
-V, --version
Print the version and exit.
There are additional options intended for advanced usage (such as
alternate trace methods etc.):
--sport
=port
Chooses the source port to use. Implies -N 1
-w 5 .
Normally source ports (if applicable) are chosen by the
system.
--fwmark
=mark
Set the firewall mark for outgoing packets (since the
Linux kernel 2.6.25).
-M
method, --module=
name
Use specified method for traceroute operations. Default
traditional udp method has name default, icmp (-I
) and tcp
(-T
) have names icmp and tcp respectively.
Method-specific options can be passed by -O
. Most
methods have their simple shortcuts, (-I
means -M icmp
,
etc).
-O
option, --options=
options
Specifies some method-specific option. Several options are
separated by comma (or use several -O
on cmdline). Each
method may have its own specific options, or many not have
them at all. To print information about available
options, use -O help
.
-U, --udp
Use UDP to particular destination port for tracerouting
(instead of increasing the port per each probe). Default
port is 53 (dns).
-UL
Use UDPLITE for tracerouting (default port is 53).
-D, --dccp
Use DCCP Requests for probes.
-P
protocol, --protocol=
protocol
Use raw packet of specified protocol for tracerouting.
Default protocol is 253 (rfc3692).
--mtu
Discover MTU along the path being traced. Implies -F -N 1
.
New mtu is printed once in a form of F=
NUM at the first
probe of a hop which requires such mtu to be reached.
(Actually, the correspond "frag needed" icmp message
normally is sent by the previous hop).
Note, that some routers might cache once the seen
information on a fragmentation. Thus you can receive the
final mtu from a closer hop. Try to specify an unusual
tos by -t
, this can help for one attempt (then it can be
cached there as well).
See -F
option for more info.
--back
Print the number of backward hops when it seems different
with the forward direction. This number is guessed in
assumption that remote hops send reply packets with
initial ttl set to either 64, or 128 or 255 (which seems a
common practice). It is printed as a negate value in a
form of '-NUM' .