linux跟踪路由命令(追踪路由的网络命令)
路由跟踪命令traceroute / tracert
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。
当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,
但基本上来说大部分时候所走的路由是相同的。
linux系统中,我们称之为traceroute,在MS Windows中为tracert。
traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。
一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址。
说明:
记录按序列号从1开始,每个纪录就是一跳,每跳表示一个网关,我们看到每行有三个时间,单位是ms,其实就是-q的默认参数。
探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute-q 4 www.58.com,表示向每个网关发送4个数据包。
有时我们traceroute一台主机时,会看到有一些行是以星号表示的。
出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。
当然如果某台DNS出现问题时,不能解析主机名、域名时,也会有延时长的现象;
您可以加-n参数来避免DNS解析,以IP格式输出数据。
如果在局域网中的不同网段之间,我们可以通过traceroute来排查问题所在,是主机的问题还是网关的问题。
如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;
但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。
说明:
Traceroute的工作原理:
Traceroute最简单的基本用法是:traceroute hostname
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`或`tracert`。
解释:
路由器是网络中连接不同网络的关键设备,它负责将数据包从一个网络转发到另一个网络。在网络诊断和故障排除的过程中,我们需要了解数据包经过的路由路径,这时候就需要使用跟踪路由器的命令。该命令在不同的操作系统中有不同的表现形式。
在大多数Unix和Linux系统中,我们使用`traceroute`命令来跟踪路由。这个命令可以显示数据包从源主机到目标主机所经过的所有路由器的路径。每一跳的延迟时间也会被显示出来,帮助我们了解网络连接的实时状况。
而在Windows系统中,我们使用`tracert`命令,其功能与Unix/Linux中的`traceroute`相似,用于跟踪数据包从发送计算机到目标计算机所经过的路由路径。通过`tracert`命令,我们可以查看数据包在每一跳上的延迟时间,以及到达目标计算机所经过的路由器数量。
这两个命令都能够帮助网络管理员诊断网络故障,了解网络连接的路径和性能。当网络出现故障或者速度慢的时候,通过跟踪路由器的命令,管理员可以快速定位问题所在,进行针对性的解决。
需要注意的是,具体的命令使用方法和参数可能会因操作系统版本或特定的网络环境而有所不同,建议在使用时参考系统的帮助文档或在线资源获取更准确的信息。
linux tracert命令
linux系统下tracert命令是什么呢?下面是具体介绍:
tracert命令不是linux系统的命令。
用来检测发出数据包的主机到目标主机之间所经过的网关数量时,Windows系统下网络工程技术人员或者系统管理员会使用tracert命令,而linux系统下与tracert相同的是traceroute命令。
拓展资料:
traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute的原理是试图以最小的TTL(存活时间)发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38个字节。
1、原理:程序利用增加存活时间(TTL)来实现其功能。每当数据包(3个数据包包括源地址,目的地址和包发出的时间标签)经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便取消数据包,并传送一个ICMP(Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。) TTL数据包给原数据包的发出者。
2、命令格式:
traceroute [参数] [主机]
3、命令功能:
traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。
具体参数格式:traceroute [-dFlnrvx][-f存活数值][-g网关…][-i网络界面][-m存活数值][-p通信端口][-s来源地址][-t服务类型][-w超时秒数][主机名称或IP地址][数据包大小]
4、命令参数:
-d使用Socket层级的排错功能。
-f设置第一个检测数据包的存活数值TTL的大小。
-F设置勿离断位。
-g设置来源路由网关,最多可设置8个。
-i使用指定的网络界面送出数据包。
-I使用ICMP回应取代UDP资料信息。
-m设置检测数据包的最大存活数值TTL的大小。
-n直接使用IP地址而非主机名称。
-p设置UDP传输协议的通信端口。
-r忽略普通的Routing Table,直接将数据包送到远端主机上。
-s设置本地主机送出数据包的IP地址。
-t设置检测数据包的TOS数值。
-v详细显示指令的执行过程。
-w设置等待远端主机回报的时间。
-x开启或关闭数据包的正确性检验。