学习啦>学习电脑>操作系统>Linux教程>

linux的tracert命令的详细解释

佳洲分享

  Linux中的使用tracert命令可以跟踪路由路径,下面由学习啦小编为大家整理了Linux的tracert命令的详细解释,希望对大家有帮助!

  linux的tracert命令的详细解释

  Tracert命令详解

  该诊断实用程序将包含不同生存时间 (TTL) 值的 Internet 控制消息协议 (ICMP) 回显数据包发送到目标,以决定到达目标采用的路由。要在转发数据包上的 TTL 之前至少递减 1,必需路径上的每个路由器,所以 TTL 是有效的跃点计数。数据包上的 TTL 到达 0 时,路由器应该将“ICMP 已超时”的消息发送回源系统。Tracert 先发送 TTL 为 1 的回显数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期 TTL 值的数据包,而 tracert 看不到。

  tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name

  使用 tracert 跟踪网络连接

  Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

  Tracert 工作原理

  通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。

  Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。

  Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。

  在下例中,数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机 172.16.0.99。主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地址是 192.168.0.1。

  C:\Users\bob>tracert 210.14.136.66

  通过最多 30 个跃点跟踪到 210.14.136.66 的路由

  1 1 ms 1 ms <1 毫秒 10.176.64.3

  2 1 ms <1 毫秒 1 ms 10.176.255.44

  3 3 ms 1 ms 5 ms 10.176.255.52

  4 1 ms 1 ms 1 ms 10.190.6.100

  5 2 ms 2 ms 2 ms 114.141.190.121

  6 3 ms 2 ms 2 ms 114.141.128.25

  7 2 ms 4 ms 2 ms 114.141.128.10

  8 6 ms 3 ms 3 ms 222.73.128.137

  9 8 ms 7 ms 7 ms 101.95.40.69

  10 28 ms 31 ms 31 ms 202.101.63.194

  11 170 ms * * 220.181.177.78

  12 * * * 请求超时。

  13 * 33 ms 27 ms 220.181.182.218

  14 * * * 请求超时。

  15 * * * 请求超时。

  16 * * * 请求超时。

  17 37 ms 26 ms 26 ms 210.14.136.66

  跟踪完成。

  C:\Users\bob>

  Trace complete.

  用 tracert 解决问题

  可以使用 tracert 命令确定数据包在网络上的停止位置。下例中,默认网关确定 192.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是 192.168.10.0 网络不存在(错误的 IP 地址)。

  C:\>tracert 192.168.10.99

  Tracing route to 192.168.10.99 over a maximum of 30 hops

  1 10.0.0.1 reports:Destination net unreachable.

  Trace complete.

  Tracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个点。

  Tracert 命令行选项

  Tracert 命令支持多种选项,如下表所示。

  tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

  -d 指定不将 IP 地址解析到主机名称。

  -h maximum_hops 指定跃点数以跟踪到称为 target_name 的主机的路由。

  -j host-list 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。

  -w timeout 等待 timeout 为每次回复所指定的毫秒数。

  target_name 目标主机的名称或 IP 地址。

  linux的tracert命令实例:使用 tracert 命令跟踪路径

  打开 命令提示符,然后键入:

  tracert host_name

  或者键入 tracert ip_address

  其中 host_name 或 ip_address 分别是远程计算机的主机名或 IP 地址。

  例如,要跟踪从该计算机到 [url]www.microsoft.com[/url] 的连接路由,请在命令提示行键入:

  tracert [url]www.microsoft.com[/url]

  注意

  要打开“命令提示符”,请单击“开始”,指向“程序”、“附件”,然后单击“命令提示符”。

  tracert 命令跟踪 TCP/IP 数据包从该计算机到其他远程计算机所采用的路径。tracert 命令使用 ICMP 响应请求并答复消息(和 ping 命令类似),产生关于经过的每个路由器及每个跃点的往返时间 (RTT) 的命令行报告输出。

  如果 tracert 失败,可以使用命令输出来帮助确定哪个中介路由器转发失败或耗时太多。

  参数

  /d

  指定不将地址解析为计算机名。

  -h maximum_hops

  指定搜索目标的最大跃点数。

  -j computer-list

  指定沿 computer-list 的稀疏源路由。

  -w timeout

  每次应答等待 timeout 指定的微秒数。

  target_name

  目标计算机的名称

    3634763