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 www.baidu.com

从上图中可以看出,从广州电信到百度服务器必须经过11个路由节点,其中第一个和第二个为广州电信的省际出品路由器,其余的都为各省际之间的路由器或各运营商之间的BGP路由器。
例:使用Tracert命令检测经过系统研究博客的路由

用 tracert 解决问题
可以使用 tracert 命令确定数据包在网络上的停止位置。以确定数据停止在哪一链路中,方便检测出网络中存在的问题。
例:路由器无法上网,路由器为本机网关,因此本机所有的数据都通过路由器转发,路由器地址为192.168.1.1,本机地址为192.168.1.251,命令为tracert www.baidu.com,观察数据包停止在哪里..
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 地址。