在 Ubuntu 中进行路由跟踪,主要有 traceroute、tracepath 和 mtr 这几种工具,下面为你详细介绍它们的相关信息及使用方法。
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 结合了 traceroute 和 ping 的功能,不仅可以跟踪路由,还能实时监测网络连接的稳定性,持续显示每个跳点的丢包率、平均延迟等信息。
安装
若未安装 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
traceroute、tracepath 和 mtr
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法