讲师中心 微信公众号
AI工具推荐 视频效率加速

linux怎么检测网络丢包_linux使用mtr诊断线路【速成】

小涛小哥_5433

小涛小哥_5433

发布时间:2026-03-14 19:27:15

|

978人浏览过

|

来源于php中文网

原创

mtr能精准定位丢包发生的网络跳数,是traceroute与ping的组合工具;关键看Loss%和延迟稳定性,需多次测试并区分真实丢包与ICMP限速导致的假性丢包。

linux怎么检测网络丢包_linux使用mtr诊断线路【速成】

用 mtr 实时看丢包在哪一跳发生

单纯看 ping 只能知道终点通不通,但丢包发生在本地、运营商骨干网、还是目标服务器机房,mtr 才能定位。它本质是 traceroute + ping 的组合,每跳持续发包并统计丢包率。

实操建议:

  • 安装:Ubuntu/Debian 用 sudo apt install mtr,CentOS/RHEL 用 sudo yum install mtr(或 dnf)
  • 基础命令:mtr -rwc 50 example.com —— -r 表示报告模式(适合截图/存日志),-w 宽屏显示,-c 50 发 50 个包,避免偶然抖动干扰判断
  • 关键看两列:Loss%(该跳丢包率)和 Best/Avg/StDev(延迟稳定性)。某跳 Loss% 突然从 0% 跳到 30%,后面所有跳都高丢包,基本说明问题就在这一跳设备(比如某个城域网出口路由器过载)
  • 别只跑一次:网络波动常见,建议连续跑 2–3 次,间隔 5 分钟,对比是否同一跳反复异常

mtr 输出里哪些丢包可以忽略

不是所有标红的 Loss% 都代表真实故障。很多中间节点(尤其是运营商核心路由器)会限制 ICMP 响应频率或直接丢弃探测包,造成“假性丢包”。

识别方法:

  • 如果只有某跳 Loss% 高(比如 80%),但它的下一级跳又恢复为 0%,且最终目标 Loss% 是 0%,大概率是该跳主动限速 ICMP,不是链路问题
  • 如果高丢包出现在你自己的局域网设备(如 192.168.1.1)、宽带猫、或者第一跳公网 IP(如城域网 BRAS 地址),才需要优先排查本地环境
  • ??? 显示在某跳,通常表示该设备禁用了 ICMP 回复或防火墙拦截,不算丢包,只是不可见;但如果连续多跳都是 ???,可能路径被策略屏蔽,需换工具验证

替代方案:当 mtr 不可用或被屏蔽时怎么办

有些 VPS 或企业网络会禁用 mtr,或目标网络过滤了 ICMP 和 UDP 探测包,这时得换思路。

可选动作:

  • 用 ping -c 50 example.com 看整体丢包率,再配合 traceroute -n example.com 粗略看路径——虽然没丢包统计,但能发现某跳超时(*)或延迟突增
  • 改用 TCP 模式绕过 ICMP 限制:mtr --tcp -P 443 example.com(走 HTTPS 端口),部分网络对 TCP 探测更宽松
  • 如果连 traceroute 都失败,先确认 DNS 是否正常:nslookup example.com;再试 curl -v https://example.com 看是否卡在 TLS 握手或 HTTP 层,排除应用层干扰
  • 注意权限:普通用户运行 mtr 可能因无权发送原始包而失败,此时加 sudo,但某些容器环境即使加 sudo 也受限,得换主机侧诊断

Linux 下 mtr 常见报错和对应处理

遇到错误别急着重装,多数是权限、配置或内核限制导致。

典型报错与解法:

  • mtr: unable to get raw sockets.:当前用户无权创建原始套接字。解决:加 sudo,或给二进制文件加能力:sudo setcap cap_net_raw+ep /usr/bin/mtr(比始终用 sudo 更安全)
  • mtr: Failure to open IPv6 socket.:系统禁用了 IPv6 或模块未加载。临时关 IPv6:echo 1 | sudo tee /proc/sys/net/ipv6/conf/all/disable_ipv6,或加 --no-ipv6 参数启动
  • 输出全是 HOP 但没数据:可能是防火墙 DROP 了 ICMP 回包,检查本机 iptables 或 nftables 规则,特别是 OUTPUT 链是否限制了 icmp
  • 结果中延迟忽高忽低(StDev 很大):不一定是丢包,可能是路径发生了 ECMP 切换,或中间设备 QoS 策略导致;此时重点看 Loss% 是否稳定为 0

真正难判断的是跨运营商线路(比如电信用户访问联通托管的网站),mtr 会在网间互联点出现规律性丢包或延迟毛刺,这种往往不是你能解决的,但至少能说清责任边界——别花半天调自己服务器,结果问题是对方 BGP 路由策略写的太糙。

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

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

3423

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

755

2023.10.30

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3063

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

814

2023.11.14

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

6226

2024.03.12

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

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

5310

2024.08.16

Go 语言 HTTP 编程与中间件开发教程合集
Go 语言 HTTP 编程与中间件开发教程合集

全面讲解 Go 语言 HTTP 编程的核心知识,涵盖 net/http 标准库的 Server/Handler/HandlerFunc 体系、DefaultServeMux 路由注册与自定义路由器、Request / ResponseWriter 请求响应处理、中间件(Middleware)链式设计模式与常见中间件(日志/CORS/认证/限流)开发、http.Client 的超时配置与连接池管理、Cookie / Session 处理、

421

2026.05.08

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

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

5310

2024.08.16

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

20

2026.09.30

热门下载

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

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn