Linux 中怎么使用 Mtr 综合诊断网络连通性

梦涛大大_8512

梦涛大大_8512

2026-10-20

887人浏览

原创

mtr可同时追踪路径与检测连通性,比ping或traceroute更高效;支持实时交互模式、报告模式(-r -c 20 -n)、多协议探测(-t/-u)及ipv4/6切换,并需结合ping、双向mtr和分段分析定位问题。

linux 中怎么使用 mtr 综合诊断网络连通性

直接用 mtr 就能边追踪路径、边测连通性,比单独 ping 或 traceroute 更准更省事。

快速启动交互式诊断

在终端输入:

mtr example.com 或 mtr 119.29.29.29

它会实时刷新每一跳的响应状态,每秒更新一次。重点关注三列:

  • Loss%:某跳丢包率明显高于 0(比如 ≥5%),说明该节点或其出向链路可能异常
  • Avg:平均延迟突然升高(如从 10ms 跳到 200ms),提示该跳存在拥塞或处理瓶颈
  • StDev:标准差大(比如 >50ms),代表延迟抖动严重,网络不稳定

如果某跳丢包高,但下一跳恢复,通常是该节点限速或 ICMP 优先级低;如果丢包从某跳开始持续往后恶化,问题大概率出在该跳或其后链路。

生成一次性报告用于分析或存档

避免手动截图或长时间等待,用报告模式输出结构化结果:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载

mtr -r -c 20 -n example.com

  • -r:启用报告模式,运行完即退出
  • -c 20:共发送 20 个探测包,比默认 10 更可靠
  • -n:跳过 DNS 反查,显示纯 IP,加快输出且避免解析干扰

适合写入脚本定时检测,或发给运维同事协同排查。

绕过防火墙或协议限制

有些网络节点屏蔽 ICMP,导致 mtr 在某跳后全显示 ??? 或无响应。可切换协议重试:

  • 用 TCP SYN 探测(类似 telnet 连接):mtr -T -P 443 example.com
  • 用 UDP 探测(兼容 traceroute 行为):mtr -u -P 53 example.com
  • 强制 IPv4 或 IPv6:mtr -4 example.com 或 mtr -6 example.com

端口选常用服务(如 80、443、53),提高穿透成功率。

辅助定位与验证技巧

mtr 是强工具,但不是万能解。配合以下操作更能确认问题根源:

  • 先用 ping -c 5 example.com 确认基础可达性,排除目标完全失联情况
  • 对比双向路径:本地跑一次 mtr 到服务器,服务器也跑一次 mtr 回本地,网络常不对称
  • 前三跳异常 → 查本地网络、路由器、ISP;中间跳异常 → 联系运营商;最后几跳异常 → 检查目标服务器防火墙、负载、网卡错误
  • 加 --csv 输出为 CSV 格式,方便用 Excel 或 Python 做批量统计分析

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

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

相关专题

更多
OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

60

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

40

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

40

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

20

15

Revel框架MVC路由与控制器
Revel框架MVC路由与控制器

本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。

2026.10.16

20

15

Revel框架入门与安装配置
Revel框架入门与安装配置

本专题从Revel框架环境搭建讲起,系统介绍命令行工具安装、项目创建、目录结构、配置文件及热代码重载,帮助开发者快速完成首个Go Web应用。

2026.10.16

20

15

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

2026.10.15

40

20

MySQL 忘记密码怎么办
MySQL 忘记密码怎么办

MySQL忘记密码专题汇集不同版本与系统下的root密码重置方法,覆盖MySQL 5.7、8.0、Mac、Linux及本地集成环境,并提示恢复权限与重新登录的检查步骤。

2026.10.15

40

18

Vue.js 中 ref 和 reactive 的区别
Vue.js 中 ref 和 reactive 的区别

Vue.js中ref和reactive的区别专题汇集两种响应式API的定义、访问方式、对象解构、侦听与性能取舍等文章,帮助结合实际状态类型选择合适写法。

2026.10.15

20

20

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习