前面我已经已经写了线路的科普和使用LookingGlass来判读网络状态。但是还是有很多兄弟看到我的教程,想玩高级一点,简单的 ping 命令往往只能告诉你“通不通”,却无法定位丢包、网络波动又或者到底是哪里出问题了。这篇文章就简单的讲一下使用网络工具——MTR。
MTR 结合了 ping(测连通性)和 traceroute(测路径)的优点,能实时显示从您的设备到目标服务器之间经过的每一个节点(路由器)的丢包率和延迟,是排查网络疑难杂症的利器。我也不说的太复杂,尽量简单一些。
第一部分:如何把 MTR 请进你的电脑(安装)
MTR 支持 Linux、Windows 和 macOS。以下是各平台的详细安装步骤:
1. Linux 用户(命令行安装)
MTR 在大多数发行版中都可以直接获取。打开终端(Terminal),根据您的系统版本输入对应的命令:
Debian / Ubuntu / Kali Linux 等发行版: 需使用
apt-get安装:sudo apt-get install mtrCentOS / RHEL / AlmaLinux 等发行版: 需使用
yum安装:sudo yum install mtr(注:较新的 Fedora 系统也可使用
sudo dnf install mtr)Arch Linux:
sudo pacman -S mtr
如何确认安装成功? 安装完成后,在终端输入 mtr --version,如果输出了版本信息(如 mtr 0.95),即表示安装成功。

2. Windows 用户 (下载地址:WinMTR)
关键步骤:解压后,务必右键点击程序,选择“以管理员身份运行”,否则可能无法发送测试包。

3. macOS 用户
如果您的 Mac 安装了 Homebrew,可以使用以下命令一键安装:
brew install mtr(注意:macOS 下运行通常也需要 sudo 权限)
第二部分:参数列表

别看参数那么多就头晕,其实我们只需要关注三个最主要的参数就可以了
Loss% 丢包率
Avg 平均延迟
StDev 标准差
第三部分:实战指令与测试方法
1. 最常见的方法,命令加IP
mtr google.com(IP也可以 通常是IP)2. 但是最常见的是这个命令,最常见的情况就是,发现你的网络质量不太好或者给服务器商家证明网络差,用mtr命令就是最有说服力的证据
# -r: 报告模式 (不实时刷新,跑完自动停)
# -c 100: 发送 100 个数据包 (样本量大,结果权威)
# -w: 宽屏模式 (不截断长域名)
mtr -r -c 100 -w 8.8.8.8运行时间可能有点长,这里需要一点耐心

番外用法
想知道流量走了哪家运营商(是电信 CN2 还是联通 9929)?加上 -z 参数显示 AS 编号。
mtr -z 目标IP
第四部分:上实战
我这里提供了两台服务器的数据,一台是DMIT的美西优化服务器的IP,一台是普通线路RN DC02的IP,我先不说你能从这两张截图分析出哪个是RN的测试报告,哪个是DMIT的测试报告吗?


我想最后一个节点已经暴露了,因为在最后一跳的上面已经暴露了运营商的名称,DMIT的测试报告截图里面已经表面了。
线路对比
DMIT的测试报告:我们可以看到,第 10 和 12 跳的 IP 地址以
59.43开头这里就可以初步判断走的是电信的(优化线路CN2 GIA)的线路RackNerd的测试报告:我们也可以得出,在第 9 和 11 跳的 IP 以
202.97开头。这是中国电信骨干网 (163 普通网络) 的标志
丢包率分析
DMIT的测试报告:虽然第 4 跳和第 9 跳显示 50% 丢包,但请看最后一行(第 15 跳)的 Loss% 是 0.0%,中间的丢包可能是路由器ICMP限速,导致的没有内容,但是终点是 0%,说明全程基本上都是畅通无阻的。
RackNerd的测试报告:中间路段(第 8、9 跳)丢包率高达 72.7%,甚至第 13、14 跳(进入美国后)也有 ~18% 的丢包显示。虽然在最后一行(第 15 跳)也是 0.0%,代表目前是连通的,但中间节点如此高的丢包显示,这也意味着路径上的负载较重,加上分析线路是普通线路(163线路)那也不难理解了。
延迟和抖动分析
DMIT的测试报告:159.3ms。对于跨越太平洋(中国->美国西海岸)的线路,140ms-160ms 是物理光速的极限范围,这个延迟已经可以说是非常优秀了,专线可能会比这个还低一点,但是考虑到价格因素,已经是很不错了。
StDev: 抖动方面也是0.1。侧面说明网络极其稳定,几乎没有波动适合大部分场景,这也就侧面说明优化线路的区别。
RackNerd的测试报告:162.4ms。延迟数值上和DMIT的延迟差别不大因为我选的机器(都在洛杉矶),说明物理距离差不多,所以相差的不是很大,162ms的延迟也算不错。
StDev: 抖动方面是2.0。这对比DMIT的的 0.1 高了 20 倍。虽然 2.0 这个数值依然算稳定,但对比之下可以看出,这条线路的“微小抖动”会更多,也没有优化线路稳定。
以上都是基于我本地的网络环境测试的结果,不代表在你的网络环境下就有相同的结果,测试也不是在晚高峰进行的。
总结
看完这篇文章,我希望你也能熟练掌握了 MTR,从网络小白晋升未“网络老白”,知道自己购买的VPS针对自己本地网络怎么样,是好是坏也不要被MTR的各种参数给吓到,看不懂就不去学。
其中最主要的其实就两个指标,抖动算次要的指标但是也需要关注。
Loss% 是第一指标,切记要看最后一行是否丢包,代表这到达你这里的是不是会出现严重丢包,最好是在晚高峰测试结果更具有参考性。
Avg 决定了您的网速快慢体验,其实和
ping命令的作用也是大同小异的。如果出现中间看不到路由节点,很可能是有心虚的商家把路由
藏起来了,还有一种情况就是IP显示的美国但是你发现中间的路由跳转延迟很低,可能是定位出现了偏差需要看最会一跳。发现最后一跳超越了常理,比如明明是买的美国机器但是延迟却在,最后一挑的延迟50ms以内那大概率是你服务器IP定位还没有刷新,其实机器就在亚太地区。
