Windows系统-cmd中的tracert命令

大部分同学都是用的Linux系统来测试网络命令相关工具,我用Windows10系统来测试tracert。

 

 

       tracert:也被称为Windows路由跟踪实用程序,在命令提示符(cmd)中使用tracert命令可以用于确定IP数据包访问目标时所选择的路径。本文主要探讨了tracert命令的各个功能:

 

工作原理

        通过向目标发送不同IP生存时间 (TTL) 值的“Internet控制消息协议 (ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。 Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将TTL递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。如下图:

 

 

 

 

 

 

cmd中输入tracert可以看到各种操作:

 

1.在命令行中输入“tracert ”并在后面加入一个IP地址,可以查询从本机到该IP地址所在的电脑要经过的路由器及其IP地址。下图中后面的IP地址为同一个路由器下的局域网中的另一个电脑的IP地址:

        

 

 2.从左到右的5条信息分别代表了“生存时间”(每途经一个路由器结点自增1)、“三次发送的ICMP包返回时间”(共计3个,单位为毫秒ms)和“途经路由器的IP地址”(如果有主机名,还会包含主机名):

 

 

 3.也可以输入“tracert ”后面接一个网址,DNS解析会自动将其转换为IP地址并探查出途经的路由器信息。如这回在后面输入了知乎的URL地址,可以发现共查询到10条信息,其中带有星号(*)的信息表示该次ICMP包返回时间超时:

 

 4.如果在“tracert”命令后添加一个不存在的IP地址,tracert程序则会报错。如下图所示:

 

 

 5.在“tracert”命令与IP地址或URL地址中间输入“-d”,可以不将IP地址解析到主机名称。从下图可以看出,添加了“-d”后将不显示出“PC-helei”字样,即不显示主机名称:

 

 

6. 在“tracert”命令与IP地址或URL地址中间输入“-h”,并在之后添加一个数字,可以指定本次tracert程序搜索的最大跳数。如下图中加入“ -h 5 ”后,搜索只在路由器间跳转5次,就无条件结束了:

 

 

 7.   “-4”、“-6”分别代表强制使用Ipv4和Ipv6,我用知乎网站做测试:

 

 从上图可以看出,知乎使用的是Ipv4,不能用Ipv6。

posted @ 2019-11-28 12:34  青杨风2199  阅读(2258)  评论(0编辑  收藏  举报