Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径

Posted qianjinyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径相关的知识,希望对你有一定的参考价值。

Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。

 
Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由.其命令格式如下:

 

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

 

-d 指定不将地址解析为计算机名.

-h maximum_hops 指定搜索目标的最大跃点数.

-j host-list 与主机列表一起的松散源路由(仅适用于IPv4).

-w timeout 等待每个回复的超时时间(以毫秒为单位).

-R 跟踪往返行程路径(仅适用于 IPv6).

-S srcaddr 要使用的源地址(仅适用于 IPv6).

-4 强制使用 IPv4.

-6 强制使用 IPv6.

target_name 目标计算机的名称.

最简单的用法就是"tracert hostname",其中"hostname"是计算机名或想跟踪其路径的计算机的IP地址,tracert将返回他到达目的地的各种IP地址.

 

tracert www.baidu.com

C:>tracert www.baidu.com

 

Tracing route to www.a.shifen.com [61.135.169.105]

over a maximum of 30 hops:

 

  1    43 ms     7 ms     2 ms  10.201.10.2

  2    <1 ms    <1 ms    <1 ms  10.201.8.25

  3    <1 ms    <1 ms    <1 ms  10.201.8.12

  4    <1 ms    <1 ms    <1 ms  10.246.136.61

  5     *        *        *     Request timed out.

  6     1 ms    <1 ms     1 ms  122.193.242.129

  7     1 ms     1 ms     1 ms  58.241.172.97

  8     6 ms     5 ms     7 ms  221.6.193.161

  9    35 ms    35 ms    36 ms  219.158.96.149

10    39 ms    37 ms    35 ms  124.65.194.14

11    44 ms    36 ms    37 ms  bt-228-134.bta.net.cn [202.106.228.134]

12    29 ms    28 ms    28 ms  123.125.248.98

13     *        *        *     Request timed out.

14    33 ms    33 ms    33 ms  61.135.169.105

 

Trace complete.

 

 

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:>tracert 172.16.0.99 -d

 

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

               [-R] [-S srcaddr] [-4] [-6] target_name

 

Options:

    -d                 Do not resolve addresses to hostnames.

    -h maximum_hops    Maximum number of hops to search for target.

    -j host-list       Loose source route along host-list (IPv4-only).

    -w timeout         Wait timeout milliseconds for each reply.

    -R                 Trace round-trip path (IPv6-only).

    -S srcaddr         Source address to use (IPv6-only).

    -4                 Force using IPv4.

    -6                 Force using IPv6.

 

C:>tracert 172.16.0.99 -d

Tracing route to 172.16.0.99 over a maximum of 30 hops

1 2s 3s 2s 10.0.0.1

2 75 ms 83 ms 88 ms 192.168.0.1

3 73 ms 79 ms 93 ms 172.16.0.99

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 地址。

使用 tracert 命令跟踪路径

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

tracert host_name

或者键入 tracert ip_address

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

例如,要跟踪从该计算机到的连接路由,请在命令提示行键入:

tracert [url]

以上是关于Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径的主要内容,如果未能解决你的问题,请参考以下文章

Windows下的路由跟踪tracert

如何使用命令追踪本机到某一个服务器之间的网络路径,该命令是基于啥类型的网络协议?

windows上测试网络数据跳转路径

路由跟踪tracert

Win10系统tracert命令怎么用

路由跟踪工具简介