什么是tracert

tracert就是记录IP数据报从一台主机到另一台主机所经过的路由。

tracert是怎么工作的?

首先,tracert送出一个TTL是1的IP 数据包到目的地,当路径上的第一个路由器收到这个数据包时,它将TTL减1。此时,TTL变为0,所以该路由器会将此数据包丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),tracert 收到这个消息后,便知道这个路由器存在于这个路径上,接着tracert ,再发送另一个TTL是2 的数据包,发现第2 个路由器…… tracert 每次将送出的数据包的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个数据包 抵达目的地。

如何判断是否到期目的地?

tracert使用的UDP报文,端口使用的是30000以上,当数据包到达目标主机时,会返回ICMP port unreachable,这样就知道到达了目的地。在未到达目的主机之前,tracert发送数据报文时会设置一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将显示出一系列的*号,*代表这个设备不能在给定的时间内发出ICMP TTL到期消息的响应,有可能是路由器做了禁止ICMP回复。然后,Tracert给TTL记数器加1,继续进行,直到目的地到达。

tracert的返回结果:

1、序列号:发送数据包的计数。

2、返回的时延:这里每一跳要测试3次,这里会显示每次到达的时延,这里可以判断出中间路由器哪里延时过大。

3、路由器的IP地址:每一跳返回的地址,这里是路由器的接口IP,这里可以判断出故障的区域。

tracert常用参数:

-d:不解析IP为域名,很多路由器有带域名,通过这个参数就不检测域名,这样可以加快测试速度。

-h:设计最大跳数,就中止tracert。

-S:指定源地址,只适用于IPV6.

-4:强制指定IPV4。

-6:强制制定IPV6。