Linux下用mtr诊断网络问题
本文深入解析了Linux中网络诊断利器mtr的安装、使用与结果解读,针对“mtr: command not found”这一高频问题,详细梳理了Debian/Ubuntu、CentOS/RHEL 8+及Alpine等主流发行版的安装方法,并强调其非默认工具的特性;更关键的是,文章揭示了mtr远超traceroute+ping组合的核心优势——通过持续发包实现每跳的实时丢包率与延迟分布统计,精准定位链路抖动、QoS限速或中间设备策略性丢包等隐蔽问题;同时破除“100%丢包=设备宕机”的常见误解,指出多数情况下是路由器禁ICMP或云厂商节点不响应所致,并给出结合-T TCP探测、-n跳过DNS、-r报告模式等实用技巧,以及IPv4/IPv6路径差异分析的进阶提示,助你真正读懂mtr输出、高效锁定真实故障点。

mtr 命令没装,连 mtr 都报 command not found 怎么办
Linux 发行版默认不自带 mtr,得手动装。它不是 ping 或 traceroute 那种基础工具,属于网络诊断增强套件。
常见错误现象:mtr: command not found,但 ping 和 traceroute 能用——说明只是缺包,不是环境问题。
- Debian/Ubuntu:运行
sudo apt install mtr-tiny(轻量)或sudo apt install mtr(带图形界面支持) - CentOS/RHEL 8+:先启用 EPEL(
sudo dnf install epel-release),再装sudo dnf install mtr - Alpine:用
apk add mtr
注意:mtr-tiny 不支持 --report 批量模式,做自动化分析时得选完整版。
为什么 mtr 比 traceroute + ping 合起来还准
mtr 不是“把两个命令拼一起”,而是用 ICMP(或 UDP)持续发包,对每一跳同时统计丢包率和延迟分布,相当于给整条路径装了实时监控探针。
使用场景:怀疑中间某台路由设备不稳定、QoS 限速、或运营商链路抖动——这时候单次 traceroute 看不出问题,而 mtr 的滚动统计能暴露周期性丢包。
- 默认每秒发 1 个包,持续刷新;加
-c 10可限定发 10 次后停,适合脚本调用 - 加
-r进入报告模式(只输出一次汇总),配合-c才有意义;单独用-r会卡住 - 加
-n跳过 DNS 解析,避免因 DNS 延迟干扰判断,尤其在 DNS 不稳时必须加
性能影响很小,但别在生产网关上长期跑 mtr -c 1000——虽然只是探测,但高频 ICMP 可能触发对方防火墙限流策略。
mtr 显示某跳丢包率 100%,但下一跳又通了,是这台设备挂了?
不一定。这是最常被误读的一点:100% 丢包 ≠ 设备宕机,更可能是该节点主动不响应 ICMP。
常见原因:
- 路由器禁用了 ICMP echo reply(安全策略常见,华为/H3C 默认关,Cisco 可配
no ip icmp echo) - 云厂商的中间节点(如阿里云 SLB、AWS Transit Gateway)根本不会回 ICMP,只透传流量
- 运营商骨干网设备为减负,直接丢弃 traceroute 类探测包
判断依据看下一行:如果下一行的延迟正常、丢包率低,且最终目标可达,那这一跳大概率只是“隐身”,不是故障点。 此时重点看它之后的跳数变化——比如从第 5 跳开始延迟陡增或丢包上升,问题才真正出现在那之后。
用 mtr --report 输出结果,但字段含义看不懂,怎么快速抓重点
mtr --report 的输出是文本表格,关键列就三个:Host(IP 或域名)、%Loss(丢包率)、Avrg(平均延迟)。其它像 Snt(发包数)、Best/Wrst 是辅助参考。
实操建议:
- 第一行是本地出口(通常是你的网关),
%Loss> 0 就说明你本机到局域网网关之间就有问题(网线松了、Wi-Fi 干扰、交换机端口异常) - 最后三行里,倒数第二行是目标服务器的入口 IP,
%Loss高 +Avrg大 → 问题在对方机房或最后一公里 - 如果只有中间某跳
%Loss高,但前后都正常,99% 是那一跳“不回包”,不用管;真要确认,换mtr -T -P 443 example.com改用 TCP 探测(需 root 权限)
容易忽略的是:不同 ISP 路径差异大。mtr 默认走 IPv4,如果目标双栈,加 -6 测 IPv6 路径可能完全不一样——有些丢包只发生在某一个协议栈上。
理论要掌握,实操不能落!以上关于《Linux下用mtr诊断网络问题》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
小红书字体设置方法及系统适配指南
- 上一篇
- 小红书字体设置方法及系统适配指南
- 下一篇
- PPT结尾感谢页怎么设计 简洁有设计感的谢谢页教程
-
- 文章 · linux | 24分钟前 |
- SELinux配置详解:开启关闭安全模式指南
- 132浏览 收藏
-
- 文章 · linux | 1小时前 |
- Linux静态ARP绑定设置教程
- 229浏览 收藏
-
- 文章 · linux | 2小时前 |
- Linux开启Swap防内存崩溃教程
- 242浏览 收藏
-
- 文章 · linux | 2小时前 |
- Linux密码过期设置:chage命令使用教程
- 297浏览 收藏
-
- 文章 · linux | 2小时前 |
- Linux开启IP转发设置教程
- 222浏览 收藏
-
- 文章 · linux | 3小时前 |
- Linux添加yum源步骤详解
- 370浏览 收藏
-
- 文章 · linux | 5小时前 |
- Linux查看IO调度算法及设置方法
- 341浏览 收藏
-
- 文章 · linux | 5小时前 |
- Linux文件系统检查与fsck修复教程
- 295浏览 收藏
-
- 文章 · linux | 5小时前 |
- Linux文件查找技巧:find与locate命令详解
- 180浏览 收藏
-
- 文章 · linux | 6小时前 |
- Linux数组操作技巧分享
- 288浏览 收藏
-
- 文章 · linux | 6小时前 |
- Linux下QEMU虚拟机配置教程
- 160浏览 收藏
-
- 文章 · linux | 6小时前 |
- LinuxDocker常用命令大全
- 367浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- ChatExcel酷表
- ChatExcel酷表是由北京大学团队打造的Excel聊天机器人,用自然语言操控表格,简化数据处理,告别繁琐操作,提升工作效率!适用于学生、上班族及政府人员。
- 4281次使用
-
- Any绘本
- 探索Any绘本(anypicturebook.com/zh),一款开源免费的AI绘本创作工具,基于Google Gemini与Flux AI模型,让您轻松创作个性化绘本。适用于家庭、教育、创作等多种场景,零门槛,高自由度,技术透明,本地可控。
- 4639次使用
-
- 可赞AI
- 可赞AI,AI驱动的办公可视化智能工具,助您轻松实现文本与可视化元素高效转化。无论是智能文档生成、多格式文本解析,还是一键生成专业图表、脑图、知识卡片,可赞AI都能让信息处理更清晰高效。覆盖数据汇报、会议纪要、内容营销等全场景,大幅提升办公效率,降低专业门槛,是您提升工作效率的得力助手。
- 4518次使用
-
- 星月写作
- 星月写作是国内首款聚焦中文网络小说创作的AI辅助工具,解决网文作者从构思到变现的全流程痛点。AI扫榜、专属模板、全链路适配,助力新人快速上手,资深作者效率倍增。
- 6240次使用
-
- MagicLight
- MagicLight.ai是全球首款叙事驱动型AI动画视频创作平台,专注于解决从故事想法到完整动画的全流程痛点。它通过自研AI模型,保障角色、风格、场景高度一致性,让零动画经验者也能高效产出专业级叙事内容。广泛适用于独立创作者、动画工作室、教育机构及企业营销,助您轻松实现创意落地与商业化。
- 4898次使用
-
- 命令行工具:应对Linux服务器安全挑战的利器
- 2023-10-04 501浏览
-
- 如何使用Docker进行容器的水平伸缩和负载均衡
- 2023-11-07 501浏览
-
- linux .profile的作用是什么
- 2024-04-07 501浏览
-
- 如何解决s权限位引发postfix及crontab异常
- 2024-11-21 501浏览
-
- 如何通过脚本自动化Linux上的K8S安装
- 2025-02-17 501浏览

