linux为了确定网络层经过的路由器数目应用什么命令
发布网友
发布时间:2022-04-22 13:00
我来回答
共5个回答
热心网友
时间:2022-05-14 03:50
展开1全部Tracert为路由跟踪程序,用于确定本地主机到目标主机经过哪些路由结点。在Linux操作系统中,对应的命令为Traceroute,tracert为windows系统下的命令。Tracert是利用ICMP和TTL进行工作的。首先tracert会发出TTL值为1的ICMP数据报(包含40个字节,包括源地址、目标地址和发出的时间标签,一般会连续发3个包)。当到达路径上的第一个路由器时,路由器会将TTL值减1,此时TTL值变成0,该路由器会将此数据报丢弃,并返回一个超时回应数据报(包括数据报的源地址、内容和路由器的IP地址)。当
tracert收到该数据报时,它便获得了这个路径上的第一个路由器的地址。接着,tracert再发送另一个TTL为2的数据报,第一个路由器会将此数据报转发给第二个路由器,而第二个路由器收到数据报时,TTL为0。第二个路由器便会返回一个超时回应数据报,从而tracert便获得了第二个路由器的地址。Tracert每次发出数据报时便会将TTL加1(一般每次都是发3个数据报),来发现下一个路由器。这个动作一直重复,直到到达目的地或者确定目标主机不可到达为止。当数据报到达目的地后,目标主机并不返回超时回应数据报。Tracert在发送数据报时,会选择一个一般应用程序不会使用的号码(30000以上)来作为接收端口号,所以当到达目的地后,目标主机会返回一个ICMP port unreachable(端口不可达)的消息。当tracert收到这个消息后,就知道目的地已经到达了。
Tracert会提取ICMP的超时回应数据报中的IP地址并作主机名解析(用-d参数表示不解析主机名,解析主机名会耽误一些时间),然后将所经过的路由器的主机名及IP地址、数据报每次往返花费的时间显示出来。Tracert有一个固定的等待响应时间,如果这个时间过了,tracert就会输出“*”来表示某个设备没有在规定的时间内作出响应,然后tracert会将TTL值加1,继续进行检测。
通过tracert命令,我们便知道源地址到目的地址所经过的路径。虽然数据报传输时,经过的路径并不是每次都一样,但是大部分时间是一样的。在目标主机响应时,tracert会显示完整的经过的理由以及到每个路由所花费的时间。如果目标主机没有响应,tracert仍会尝试寻找所经过的路径。
B.Tracert结果的实际意义
网络不稳定时,可以看出具体哪些结点不稳定,以及不稳定的结点的上一个结点和下一个结点分别是在什么位置,由此即可大致判断出不稳定的网络结点在什么位
置。我们可以通过查询IP地址的网站如http://www.iplocation.net/(查国外IP比较准)或者ip138.com(查国内IP比
较准)查询下相应结点的位置。
tracert命令参数说明
重点掌握-d参数即可,它表示不解析IP对应的主机名。
-d 指定不将IP解析到主机名,运行更快
-h maximum_hop 指定最大跃点数
热心网友
时间:2022-05-14 05:08
tracert
tracert是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
热心网友
时间:2022-05-14 06:43
用traceroute IP地址 这个命令才对。tracert是windows上用的。
热心网友
时间:2022-05-14 08:34
traceroute www.baidu.com
不明白的可以man traceroute
热心网友
时间:2022-05-14 10:42
traceroute
比如
traceroute www.sina.com.cn