racert原理(tracert基于什么协议)
tracert原理
tracert是一个命令行工具,可以在Windows的命令提示符(CMD)或Unix/Linux的终端中使用。
使用tracert时,可以通过命令行参数来定制查询,例如设置最大跳数、使用特定的数据包大小等。这些参数可以帮助网络管理员或用户更有效地诊断网络问题。
提示:Tracert命令用IP生存时间(TTL)字段和ICMP错误消息来确定从一个主机到网络上其他主机的路由。
Tracert命令有一个固定的时间等待响应(ICMPTTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMPTTL到期消息的响应。然后,Tracert给TTL计数器加1,继续进行。(注意:默认是最多30跳就结束)
有一个固定的时间等待响应(ICMPTTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP
tracert基于什么协议
记录按序列号从1开始,每个记录就是一跳,每跳表示一个*,我们看到每行有三个时间,单位是ms,其实就是-q的默认参数。探测数据包向每个*发送三个数据包后,*响应后返回的时间;如果您用traceroute-q4,表示向每个*发送4个数据包
诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的TTL递减1。数据包上的TTL减为0
目的IP到了以后,拆包分析UDP内容,发现端口不可达,返回ICMP类型3,代码3(目标端口不可达)实现。
traceroute每次将送出的datagram的TTL加1来发现另一个路由器,这个重复的动作一直持续到某个datagram
有时我们在某一*处延时比较长,有可能是某台*比较阻塞,也可能是物理设备本身的原因,当然如果某台DNS出现问题时,不能解析主机名、域名时,也会有延时长的现象;您可以加-n参数来避免DNS解析,以IP格式输出数据。
tracert每一跳都代表什么
默认情况下,tracert是向目的地址发出ICMP请求回显数据包,而traceroute是向目的地址的某个端口(大于30000)发送UDP数据报。两者用于探测的数据类型不同。但他们也有一个共同点:都是通过设置发送包的TTL的值从1开始、逐次增1的方法来探测。
Linux系统中traceroute命令可以*到网络数据包的路由途径。下面由我为大家整理了linux系统中traceroute命令使用详解,希望对大家有帮助!
traceroute通过计算ICMPTTL到期消息设备的IP地址并做域名解析。每次,traceroute都打印出一系列数据,包括所经过的路由设备的域名及IP地址,三个包每次来回所花时间。
默认情况下,tracert是向目的地址发出ICMP请求回显数据包,而traceroute是向目的地址的某个端口(大于30000)发送UDP数据报。
tracert是Windows下常用的命令行工具,UNIX下的是traceroute。都是基于UDP协议的路由探测。