Linux网络路径追踪利器(手把手教你使用traceroute命令)

V5主机测评

在日常使用Linux系统进行网络管理或故障排查时,我们经常会遇到“为什么我的网络连接这么慢?”、“数据包到底经过了哪些节点?”这类问题。这时,traceroute命令就派上用场了!本文将从零开始,带你全面了解并掌握这个强大的Linux网络诊断工具。

什么是 traceroute?

traceroute 是一个用于显示数据包从你的计算机到目标主机所经过的路由路径的命令行工具。它通过发送带有递增 TTL(Time To Live)值的探测包,记录每一跳(hop)的响应时间与IP地址,从而构建出完整的网络路径图。

Linux网络路径追踪利器(手把手教你使用traceroute命令)

安装 traceroute

大多数 Linux 发行版默认未安装 traceroute,但安装非常简单:

  • Ubuntu/Debian 系统:
sudo apt updatesudo apt install traceroute
  • CentOS/RHEL/Fedora 系统:
sudo yum install traceroute      # CentOS 7 及更早版本# 或sudo dnf install traceroute      # Fedora / CentOS 8+

基本用法

最简单的使用方式就是直接跟上目标域名或IP地址:

traceroute www.baidu.com

执行后你会看到类似如下的输出:

1  192.168.1.1 (192.168.1.1)  2.123 ms  1.987 ms  2.012 ms2  10.10.0.1 (10.10.0.1)      8.432 ms  8.321 ms  8.501 ms3  221.183.96.1 (221.183.96.1) 15.234 ms  15.112 ms  15.301 ms...10  * * *11  110.242.68.4 (110.242.68.4) 45.123 ms  44.987 ms  45.012 ms

每一行代表一跳(hop),包含以下信息:

  • 跳数(Hop Number):从1开始,表示第几跳。
  • 主机名和IP地址:该跳设备的名称(如果有反向解析)和IP。
  • 响应时间(ms):三次探测的往返时间,单位毫秒。

如果看到 *,通常表示该节点没有返回 ICMP 响应(可能是防火墙阻止了),但这不代表网络不通。

常用选项

traceroute 提供了多种参数来满足不同需求:

  • -n:不进行 DNS 反向解析,只显示 IP 地址(加快速度)。
  • -I:使用 ICMP 协议(而不是默认的 UDP),某些网络对 ICMP 更友好。
  • -m N:设置最大跳数(默认30),例如 -m 20
  • -q N:设置每跳发送的探测包数量(默认3)。

示例:使用 ICMP 并禁用 DNS 解析:

traceroute -n -I www.google.com

实际应用场景

当你遇到以下情况时,可以使用 traceroute 进行网络故障排查

  • 访问某个网站特别慢,想看看卡在哪一跳;
  • 确认本地到服务器之间是否存在路由环路或中断;
  • 对比不同运营商(电信/联通/移动)的路由路径差异。

例如,如果你发现第5跳之后全是 *,而目标网站又无法访问,那很可能是第5跳之后的某个节点出现了问题。

注意事项

  • 部分网络设备会丢弃 TTL 超时的包,导致显示 *,这属于正常现象;
  • traceroute 本身会产生少量网络流量,请勿频繁对同一目标大量执行;
  • 在企业网络中使用前,请确认是否符合安全策略。

总结

traceroute 是每一位 Linux 用户都应掌握的基础网络诊断工具。通过它,你可以清晰地看到数据包在网络中的“旅行路线”,快速定位延迟或中断的位置。无论是日常运维还是学习网络原理,traceroute 都是不可或缺的好帮手!

现在就打开终端,试试 traceroute www.qq.com 吧!

文章版权声明:除非注明,否则均为V5主机测评网_性价比VPS_性价比云服务器_免费独立服务器原创文章,转载或复制请以超链接形式并注明出处。