侧边栏壁纸
  • 累计撰写 27 篇文章
  • 累计创建 4 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

MTR 全系统使用教程:Linux、Windows、macOS 全面指南

陳小航
2025-10-25 / 0 评论 / 0 点赞 / 2 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

扫码_搜索联合传播样式-标准色版.png
一、概述

MTR(My Traceroute) 是一款强大的网络连通性诊断工具,融合了 pingtraceroutenslookup 的功能。
它能够持续探测目标主机的路由路径,并实时显示每一跳的 延迟丢包率,从而帮助用户快速定位网络问题。

相比单一的 pingtraceroute,MTR 能提供动态且连续的网络表现数据,是网络运维、服务器监控、跨境链路分析的必备工具。


二、安装方法

1️⃣ Linux 系统

Debian / Ubuntu

sudo apt update
sudo apt install mtr -y

CentOS / RHEL / Fedora

sudo yum install mtr -y

sudo dnf install mtr -y

2️⃣ macOS

使用 Homebrew 安装:

brew install mtr

若系统无 Homebrew,请先执行:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

3️⃣ Windows

Windows 用户可使用图形界面版本 WinMTR
🔗 https://github.com/White-Tiger/WinMTR

解压后运行 WinMTR.exe 即可使用,无需安装。


三、基础使用

1. 实时追踪网络路径

mtr 1.1.1.1

实时显示到目标 1.1.1.1 的每一跳网络节点状态,按 Ctrl + C 结束。


2. 指定探测次数并输出报告

mtr -rw -c 10 1.1.1.1

参数解释:

参数

说明

-r

报告模式(report mode),输出结果一次性打印

-w

宽格式输出,表格更整齐

-c 10

对每一跳发送 10 个探测包


四、输出解析

示例输出:

HOST: server01                 Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. 192.168.1.1                0.0%    10    0.3   0.4   0.2   0.8   0.2
  2. 10.0.0.1                   0.0%    10    1.2   1.4   1.1   2.3   0.3
  3. 123.45.67.89               0.0%    10   10.1  10.3  10.0  11.2   0.2
  4. 1.1.1.1                    0.0%    10   12.3  12.1  11.8  12.7   0.3

字段说明

列名

含义

Host

每一跳的主机(路由器)IP或域名

Loss%

丢包率(只有目标节点的丢包才是实际丢包)

Snt

探测包发送数量

Last

最近一次返回延迟(ms)

Avg

平均延迟

Best

最快响应时间

Wrst

最慢响应时间

StDev

延迟标准差(反映波动性)


五、常用参数

参数

功能说明

-r

报告模式输出

-w

宽输出格式

-c <次数>

指定探测包数量

-n

不解析域名,只显示 IP

-b

同时显示 IP 与域名

-4 / -6

使用 IPv4 / IPv6

-a <本地地址>

指定源 IP 或网卡

-p

显示每个探测包详情

-t

使用 TCP 探测(默认 ICMP)


六、进阶使用

1️⃣ 保存报告结果

mtr -rw -c 20 8.8.8.8 > /tmp/mtr_report.txt

2️⃣ IPv6 测试

mtr -6 -rw -c 10 2606:4700:4700::1111

3️⃣ 指定出口网卡

mtr -a 192.168.0.10 -rw -c 10 1.1.1.1

七、WinMTR 图形界面使用

1️⃣ 打开 WinMTR.exe
2️⃣ 在 Host 输入目标 IP(如 1.1.1.1
3️⃣ 点击 Start 开始追踪
4️⃣ 程序实时显示每一跳的延迟与丢包率
5️⃣ 点击 Copy Text to Clipboard 复制结果报告


八、实战案例

假设访问国外网站延迟较高,可执行:

mtr -rw -c 20 8.8.8.8

分析结果:

  • 若中间节点丢包但目标无丢包,多为路由器限制 ICMP,不影响实际通信。

  • 若目标节点也出现高丢包或高延迟,说明链路确实存在问题。


九、总结

系统

安装命令

示例

Ubuntu / Debian

apt install mtr

mtr -rw -c 10 1.1.1.1

CentOS / Fedora

yum install mtr

mtr 8.8.8.8

macOS (brew)

brew install mtr

sudo mtr 1.1.1.1

Windows (WinMTR)

下载运行

图形界面操作

MTR 是网络诊断的多功能利器,可用于本地排查、跨境链路分析、CDN 验证等多种场景。


十、常见问题(FAQ)

❓1. 为什么某些节点显示 100% 丢包?

部分路由器禁止响应 ICMP 包,因此不会回复 MTR 的探测请求。
只要后续节点仍能正常响应,说明该节点未影响实际通信,不是真实丢包。


❓2. 为什么需要 root 权限?

MTR 默认使用 ICMP(需要原始套接字权限)。
普通用户可执行:

sudo mtr 8.8.8.8

或者使用:

mtr --tcp 8.8.8.8

以 TCP 模式运行。


❓3. 如何在无 root 权限的环境使用?

可以使用:

mtr --udp 8.8.8.8

或在容器环境中执行:

docker run --rm -it alpine mtr 8.8.8.8

❓4. 为什么结果每次都不一样?

MTR 动态采样网络状态,网络抖动、负载均衡或路由变化都会导致数据波动。
建议使用:

mtr -rw -c 50 <目标>

增加采样包数量,获取更稳定的统计数据。


❓5. 如何在多网卡环境指定出口?

通过参数 -a 指定源 IP 或网卡:

mtr -a 192.168.100.2 -rw -c 20 8.8.8.8

❓6. MTR 支持 IPv6 吗?

支持,使用 -6 参数即可:

mtr -6 -rw -c 10 2400:cb00::1

❓7. 如何生成 HTML 或 JSON 报告?

部分系统的 MTR 提供扩展参数:

mtr -rwz -c 20 8.8.8.8 --report-json > report.json

mtr -rwz -c 20 8.8.8.8 --report-html > report.html

❓8. 我用 Cloudflare、AWS 等云服务时,MTR 能分析延迟吗?

可以,但需注意:

  • 云厂商的边缘路由节点可能对 ICMP 做限速或伪装;

  • 建议结合 TCP 模式或端口指定测试,例如:

    mtr -T -P 443 1.1.1.1
    

✅ 结语

MTR 是网络诊断的瑞士军刀。
通过结合延迟、丢包、路由跳数等多维数据,你可以快速判断:

  • 是本地网络问题?

  • 还是中转节点异常?

  • 或是国际链路延迟?

掌握 MTR,你就掌握了定位网络问题的关键能力。

0

评论区