今天小编教大家学习Tracert命令,这个命令在服务器运维过程中经常会用到。
Tracert是路由跟踪程序,用于确定IP数据报访问目标所经过的路径。Tracert命令用IP生存时间(TTL)字段和ICMP错误消息来确定从一个主机到网络上其他主机的路由。在工作环境中有多条链路出口时,可以通过该命令查询数据是经过的哪一条链路出口。
Tracert一般用来检测故障的位置,我们可以使用用tracert IP命令确定数据包在网络上的停止位置,来判断在哪个环节上出了问题,虽然还是没有确定是什么问题,但它已经告诉了我们问题所在的地方,方便检测网络中存在的问题。
常见tracert命令
不带选项...
注:不带参数的Tracert 或 tracert /? 命令显示帮助信息。
-d选项...
注:不将地址解析成主机名,能够更快地显示路由器路径。与上图对比,路径是一样的,只是不将IP地址解析成主机名,速度更快。下图中红色框所示的主机名已消失。
-h选项...
注:指定跟踪的跃点数。以下的命令只显示5跳,可以看到命令只跟踪到5跳就结束了。一般来说,5跳之内可能还是本地省内链路。
-w选项...
注:指定等待每个应答的时间(以毫秒为单位)。默认值为 3000 毫秒(3 秒)。
另外,tracert命令还有如“-j”、“-r”、“-s”、“-4”、“-6”等参数,用得较少,其用法都可以在命令行中输入命令“tracert”直接查到,这里就不再赘述了。
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。