Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。 1 [/ _# Z9 X4 I
( G1 D/ d/ q4 b# J
Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。 ' e3 i. ^% x0 u7 o8 c
/ }0 }5 r# a' w6 |
例:
. ~+ }' }: c' ?( T0 @数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机 172.16.0.99。 j+ |0 \3 a! r0 k0 {
主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地址是 192.168.0.1。
- f( X0 X! ^8 l3 ]/ D( o7 l s" b! A' G/ P6 k& ^# i& V. x
C:\>tracert 172.16.0.99 -d
, {& m" x& l) y) [2 j$ [) a" o4 P+ a$ D. i s) c
Tracing route to 172.16.0.99 over a maximum of 30 hops & v6 l6 h- p/ |3 c0 \8 N6 ^
4 Q; |, {$ L. Z) M9 e. d# Y 1 2s 3s 2s 10,0.0,1 : P; p" P% t H4 @/ x
: ~8 Y! T( P: D3 i5 T/ Q9 b7 C: N: l
2 75 ms 83 ms 88 ms 192.168.0.1
* K8 k& x, R7 m" h* Y/ G t l2 ?. O# s' X6 G
3 73 ms 79 ms 93 ms 172.16.0.99 - r4 K0 u2 ^' m5 R7 @ I
# G w; k- ]5 k- X6 m- o7 V Trace complete. + ^. S' p$ h# K8 I( W M5 Z
) Z) |9 ~& {) }" t2 H
用 tracert 解决问题
; |1 Z9 m/ G: g0 ^7 t- n
& y- M+ h, D8 l ~& V 可以使用 tracert 命令确定数据包在网络上的停止位置。
! V! A# }; f6 a2 ^5 ? z 例:
6 u a- ^0 N- S7 j& M$ |默认网关确定 192.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是 192.168.10.0 网络不存在(错误的 IP 地址)。
; L1 a& p2 h* Q5 S6 \) }2 B/ d, i! x, ]8 K! c; s4 B$ t
C:\>tracert 192.168.10.99 4 M% |" `) l$ ^. d+ f
" c* c2 H2 x% l) d3 h { Tracing route to 192.168.10.99 over a maximum of 30 hops + o* S1 l( H }, q" x4 u X+ s
* A" T0 H( S, j7 z0 Z& o" r
1 10.0.0.1 reports:Destination net unreachable.
9 ]* p N6 ~8 L0 Q" e# A" p- ^
' J* c& h6 W; @# t# b: d' u' U Trace complete.
' w. g+ k" W8 k6 g6 I
6 _% P3 S* R: D) f: Z, uTracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个点。
$ r3 L1 a0 C) [! r! J
! x& b6 w+ X6 N Tracert 命令行选项 % p* D Q! j2 ?
4 B, q' b5 b1 Y% G5 h3 ?! ~! A. I Tracert 命令支持多种选项,如下表所示。
8 a6 x8 b4 a B5 S; B# H4 h tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
6 B3 q ]# @& ^' }0 f! u/ @4 k$ D-d ( C! h0 B3 _3 t+ @, _) ~4 K
指定不将 IP 地址解析到主机名称。 " ?1 K9 o3 p; G8 K1 l
-h maximum_hops
' k9 m$ r K7 k7 ? { 指定跃点数以跟踪到称为 target_name 的主机的路由。
' v" t4 L: Y4 a-j host-list
( U4 n5 A# G1 L& C1 W 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。 , V8 J- Q+ |& H- k6 a0 ?( F% R
-w timeout
0 d, C) S* X1 M. ], S5 ^% d 等待 timeout 为每次回复所指定的毫秒数。 / I; p$ x" o4 F6 n
target_name 4 ~: p0 x2 m' G4 H+ P% `7 x) v
目标主机的名称或 IP 地址。 |