您现在的位置是:首页 >动态 > 2023-10-08 16:00:16 来源:
traceroute命令的作用(traceroute)
大家好,我是小夏,我来为大家解答以上问题。traceroute命令的作用,traceroute很多人还不知道,现在让我们一起来看看吧!
1、您好,很高兴为您解答。
2、一、应用环境不同
3、tracert是应用在windows下。
4、traceroute则是应用在linux/BSD/router/UNIX下。
5、tracert是Windows下常用的命令行工具,UNIX下的是traceroute。都是基于UDP协议的路由探测。
6、Tracert(跟踪路由)是路由跟踪实用程序,用于确定
7、IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
8、工作原理和过程:
9、通过向目标发送不同
10、IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert
11、诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0
12、时,路由器应该将“ICMP 已超时”的消息发回源系统。
13、 Tracert
14、先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL
15、达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert
16、实用程序中看不到。
17、 Tracert
18、命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询
19、DNS。
20、Traceroute程序的设计是利用ICMP及IP
21、header的TTL(Time To Live)栏位(field)。首先,traceroute送出一个TTL是1的IP
22、datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP
23、time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute
24、收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器......
25、traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram
26、抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time
27、exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?
28、Traceroute在送出UDP
29、datagrams到目的地时,它所选择送达的port number 是一个一般应用程序都不会用的号码(30000 以上),所以当此UDP datagram
30、到达目的地后该主机会送回一个「ICMP port unreachable」的消息,而当traceroute
31、收到这个消息时,便知道目的地已经到达了。所以traceroute 在Server端也是没有所谓的Daemon 程式。
32、Traceroute提取发
33、ICMP TTL到期消息设备的IP地址并作域名解析。每次,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及
34、IP地址,三个包每次来回所花时间。
35、Traceroute
36、有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP
37、TTL到期消息的响应。然后,Traceroute给TTL记数器加1,继续进行。
38、二、探测方法及探测的数据类型不同
39、默认情况下,tracert是向目的地址发出ICMP请求回显数据包,而traceroute是向目的地址的某个端口(大于30000)发送UDP数据报。
40、如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
41、希望我的回答对您有所帮助,望采纳!
42、 ~ O(∩_∩)O~
本文到此讲解完毕了,希望对大家有帮助。