允许traceroute探(允许Traceroute探 )
一、traceroute和tracert的区别是什么
您好,很高兴为您解答。
一、应用环境不同
tracert是应用在windows下。
traceroute则是应用在linux/BSD/router/UNIX下。
tracert是Windows下常用的命令行工具,UNIX下的是traceroute。都是基于UDP协议的路由探测。
Tracert(跟踪路由)是路由跟踪实用程序,用于确定
IP数据报访问目标所采取的路径。Tracert命令用 IP生存时间(TTL)字段和 ICMP错误消息来确定从一个主机到网络上其他主机的路由。
工作原理和过程:
通过向目标发送不同
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。
Traceroute程序的设计是利用ICMP及IP
header的TTL(Time To Live)栏位(field)。首先,traceroute送出一个TTL是1的IP
datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP
time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute
收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute再送出另一个TTL是2的datagram,发现第2个路由器......
traceroute每次将送出的datagram的TTL加1来发现另一个路由器,这个重复的动作一直持续到某个datagram
抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time
exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?
Traceroute在送出UDP
datagrams到目的地时,它所选择送达的port number是一个一般应用程序都不会用的号码(30000以上),所以当此UDP datagram
到达目的地后该主机会送回一个「ICMP port unreachable」的消息,而当traceroute
收到这个消息时,便知道目的地已经到达了。所以traceroute在Server端也是没有所谓的Daemon程式。
Traceroute提取发
ICMP TTL到期消息设备的IP地址并作域名解析。每次,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及
IP地址,三个包每次来回所花时间。
Traceroute
有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP
TTL到期消息的响应。然后,Traceroute给TTL记数器加1,继续进行。
二、探测方法及探测的数据类型不同
默认情况下,tracert是向目的地址发出ICMP请求回显数据包,而traceroute是向目的地址的某个端口(大于30000)发送UDP数据报。
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
~ O(∩_∩)O~
二、端口可用性探测工具traceroute
本文主要介绍使用ping命令正常但端口不通时如何进行端口可用性探测。
当客户端访问目标服务器时,如果能ping通,但业务端口无法访问,可能是链路中的相关节点拦截了端口所致。您可以参考如下内容,利用端口可用性探测的相关工具进行测试,验证是否有节点拦截了端口。
traceroute用于端口可用性探测的常用命令如下。
注:
-n:直接使用IP地址而非主机名称(禁用DNS反查)。
-T:通过TCP探测。
-p:设置探测的端口号。
[ Host]:需要探测的目标服务器地址,比如“10.10.1.1”。
更多关于traceroute的用法,您可以通过man命令查阅。
示例
traceroute的示例命令和返回结果如下。
参考:
能够ping通服务器的同时端口不通
三、traceroute命令结果通信管理禁止是什么意思
意思是追踪网络数据包的路由途径被禁止了。
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。
traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称及其IP地址。