Linux怎么使用traceroute_Linux如何追踪网络路由路径【方法】

老丽吖_6144

老丽吖_6144

2026-03-22

686人浏览

原创

traceroute有时无响应或卡住是因默认udp探测被防火墙丢弃,改用icmp(-i)、tcp(-t)或tracepath可绕过;*表示超时或静默丢包,!h/!n为icmp错误码;容器/云环境建议用tracepath或-traceroute -n。

linux怎么使用traceroute_linux如何追踪网络路由路径【方法】

traceroute 命令为什么有时没反应或直接卡住

因为默认用 UDP 探测,目标主机或中间防火墙可能丢弃 UDP 包,导致超时、无响应或显示 *。这不是命令坏了,是网络策略在拦截。

  • 改用 ICMP 模式更可靠:traceroute -I example.com(-I 表示 ICMP)
  • 某些系统(如 CentOS/RHEL 8+)默认不带 traceroute,需先装:yum install traceroute 或 apt install inetutils-traceroute
  • 普通用户无法发 ICMP 包?加 sudo,但注意:部分系统限制非 root 用户用 -I

Linux 下 traceroute 和 tracepath 有什么区别

tracepath 是更轻量的替代方案,无需 root 权限,且自动探测 MTU,但不支持自定义端口或协议;traceroute 功能全、可调参数多,但依赖权限和安装包。

  • tracepath example.com:开箱即用,适合快速看跳数和延迟,尤其在容器或最小化系统里
  • traceroute -T -p 443 example.com:用 TCP 发包(-T),指定端口(-p),绕过 UDP 封锁,适合诊断 HTTPS 服务连通性
  • traceroute 的 -q(每跳探测次数)、-w(超时秒数)会影响输出速度和准确性,内网调试建议设小点,比如 -q 1 -w 2

看到 * * * 或 “!H” “!N” 这些返回码代表什么

不是故障,是中间设备返回的 ICMP 错误类型:!H = 主机不可达(Host unreachable),!N = 网络不可达(Network unreachable),* = 超时或静默丢包(最常见)。

  • 连续几跳都是 *,大概率是某段路径禁用了 ICMP/UDP 回复,不代表断连,只是“看不见”
  • 某跳突然从 * 变成 !X,说明探测包至少抵达了那台设备,它主动拒绝了——这是有用信息
  • 别只盯着星号,关注延迟突增的位置:从 5ms 跳到 200ms,比一串 * 更值得查

traceroute 在容器或云主机里结果不准怎么办

容器共享宿主机网络栈,但常被 iptables/nftables 规则截断探测包;云厂商(如 AWS、阿里云)的虚拟网络设备也普遍不响应 traceroute,导致路径“断在半路”。

  • 容器内优先用 tracepath,它走的是内核路径发现机制,不依赖外部响应
  • 云主机上,traceroute -n(禁用 DNS 解析)能避免因反向解析慢而误判超时
  • 若需真实路径,得在跳数变化点两端分别 traceroute:比如从客户端到 LB 是 5 跳,从 LB 后端 ECS 到目标又是 3 跳——单次 traceroute 永远看不到全貌

事情说清了就结束。真正难的不是跑出那串跳数,而是判断哪一跳的 * 是策略屏蔽、哪一跳的延迟突增是真实瓶颈、以及什么时候该换工具而不是硬等。

路由优化大师
路由优化大师

路由优化大师是一款及简单的路由器设置管理软件,其主要功能是一键设置优化路由、屏广告、防蹭网、路由器全面检测及高级设置等,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

5107

5

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.10

2268

6

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.08.16

5330

6

tcp和udp的区别
tcp和udp的区别

TCP和UDP的区别,在连接性、可靠性、速度和效率、数据报大小以及适用场景等方面。本专题为大家提供tcp和udp的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.25

463

5

udp是什么协议
udp是什么协议

UDP是OSI参考模型中一种无连接的传输层协议。本专题为大家带来udp是什么协议的相关文章,免费提供给大家。

2023.08.08

2551

5

tcp和udp有什么区别
tcp和udp有什么区别

tcp和udp的区别有:1、udp是无连接的,tcp是面向连接的;2、udp是不可靠传输,tcp是可靠传输;3、udp是面向报文传输,tcp是面向字节流传输。想了解更多tcp相关的内容,可阅读本专题下面的相关文章。

2024.11.14

2989

8

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3830

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3293

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2433

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习