2024年11月Linux下traceroute命令的使用方法

发布时间:

  ⑴在Linux系统中,traceroute命令可用于显示数据包经过的路由器的ip地址,了解行走路径,在Linux系统和windows系统中的名称有些不同,不熟悉Linux系统的朋友可能一时没认出来,下面小编就给大家详细介绍下traceroute命令吧。

  ⑵通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source到达某一同样的目的地(destination走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的

  ⑶linux系统中,我们称之为traceroute,在MS Windows中为tracert。 traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测次。输出结果中包括每次测试的时间(ms和设备的名称(如有的话及其IP地址。

  ⑷在大多数情况下,我们会在linux主机系统下,直接执行命令行:traceroute hostname

  ⑸而在Windows系统下是执行tracert的命令: tracert hostname

  ⑹traceroute[参数][主机]

  ⑺traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是Bytes,用户可另行设置。

  ⑻具体参数格式:traceroute [-dFlnrvx][-f《存活数值》][-g《网关》。。.][-i《网络界面》][-m《存活数值》][-p《通信端口》][-s《来源地址》][-t《服务类型》][-w《超时秒数》][主机名称或IP地址][数据包大小]

  ⑼-d 使用Socket层级的排错功能。

  ⑽-f 设置第一个检测数据包的存活数值TTL的大小。

  ⑾-F 设置勿离断位。

  ⑿-g 设置来源路由网关,最多可设置个。

  ⒀-i 使用指定的网络界面送出数据包。

  ⒁-I 使用ICMP回应取代UDP资料信息。

  ⒂-m 设置检测数据包的最大存活数值TTL的大小。

  ⒃-n 直接使用IP地址而非主机名称。

  ⒄-p 设置UDP传输协议的通信端口。

  ⒅-r 忽略普通的Routing Table,直接将数据包送到远端主机上。

  ⒆-s 设置本地主机送出数据包的IP地址。

  ⒇-t 设置检测数据包的TOS数值。

  ⒈-v 详细显示指令的执行过程。

  ⒉-w 设置等待远端主机回报的时间。

  ⒊-x 开启或关闭数据包的正确性检验。

  ⒋实例:traceroute 用法简单、最常用的用法

  ⒌命令:traceroute

  ⒍[rootlocalhost ~]# traceroute

  ⒎traceroute to (..., hops max, byte packets

  ⒏ ... (... . ms . ms . ms

  ⒐ ... (... . ms . ms . ms

  ⒑ ... (... . ms . ms . ms

  ⒒ ... (... . ms . ms . ms

  ⒓ ... (... . ms . ms . ms

  ⒔ ... (... . ms * bt--.bta.. (... . ms

  ⒕ ... (... . ms . ms . ms

  ⒖ ... (... . ms ... (... . ms . ms

  ⒗[rootlocalhost ~]#

  ⒘记录按序列号从开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q ,表示向每个网关发送个数据包。

  ⒙有时我们traceroute 一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

  ⒚有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;您可以加-n 参数来避免DNS解析,以IP格式输出数据。

  ⒛如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。

  ①命令:traceroute -m

  ②[rootlocalhost ~]# traceroute -m

  ③traceroute to (..., hops max, byte packets

  ④ ... (... . ms . ms . ms

  ⑤ ... (... . ms . ms . ms

  ⑥ ... (... . ms . ms . ms

  ⑦ ... (... . ms . ms . ms

  ⑧ ... (... . ms . ms . ms

  ⑨ bt--.bta.. (... . ms bt--.bta.. (... . ms ... (... . ms

  ⑩ ... (... . ms ... (... . ms ... (... . ms

  Ⅰ ... (... . ms ... (... . ms ... (... . ms

  Ⅱ[rootlocalhost ~]#