在 Ubuntu 中进行路由跟踪,主要有 traceroutetracepathmtr 这几种工具,下面为你详细介绍它们的相关信息及使用方法。

1. 使用 traceroute 工具

traceroute 是一个非常经典且常用的路由跟踪工具,它的工作原理是通过发送具有不同生存时间(TTL)的 UDP 或 ICMP 数据包,逐步确定从源主机到目标主机所经过的路由器。

安装

若系统中未安装 traceroute,可以使用以下命令进行安装:

bash

sudo apt update
sudo apt install traceroute

使用

安装完成后,使用以下命令来跟踪到目标主机的路由,以 www.baidu.com 为例:

bash

traceroute www.baidu.com

执行上述命令后,会显示出数据包从你的主机到目标主机所经过的每个路由器的 IP 地址、主机名(如果可解析)以及响应时间。

常见参数

  • -n:以数字形式显示 IP 地址,不进行反向 DNS 解析,这样可以加快输出速度。

bash

traceroute -n www.baidu.com
  • -I:使用 ICMP 数据包进行跟踪,适用于某些对 UDP 数据包有限制的网络环境。

bash

traceroute -I www.baidu.com

2. 使用 tracepath 工具

tracepath 是另一个用于路由跟踪的工具,它不需要 root 权限,并且可以自动发现最大传输单元(MTU)。

使用

直接在终端输入以下命令即可开始跟踪,同样以 www.baidu.com 为例:

bash

tracepath www.baidu.com

tracepath 会输出数据包经过的路径信息,同时还会显示每个跳点的估计往返时间和 MTU 信息。

特点

traceroute 不同,tracepath 只需要一个命令就能完成跟踪,无需指定目标端口或协议。

3. 使用 mtr 工具

mtr 结合了 tracerouteping 的功能,不仅可以跟踪路由,还能实时监测网络连接的稳定性,持续显示每个跳点的丢包率、平均延迟等信息。

安装

若未安装 mtr,可使用以下命令进行安装:

bash

sudo apt update
sudo apt install mtr

使用

www.baidu.com 为例,使用以下命令开始监测:

bash

mtr www.baidu.com

运行该命令后,会显示一个实时更新的表格,包含经过的每个路由器的 IP 地址、丢包率、平均响应时间等信息。按 q 键可以退出监测。

常见参数

  • --report:以报告模式运行,只输出一次结果,而不是持续更新。

bash

mtr --report www.baidu.com