新手如何使用MTR工具:Linux网络诊断工具教程

softyun3年前主机评测142

新手如何使用mtr工具?

MTR(My traceroute)是几乎所有Linux发行版本预装的网络测试工具,此工具也有对应的Windows版本,名称为WinMTR。 MTR工具将ping和traceroute命令的功能并入了同一个工具中,实现更强大的功能。 Linux版本的mtr命令默认发送ICMP数据包进行链路探测。可以通过“-u”参数来指定使用UDP数据包用于探测。 相对于traceroute命令只会做一次链路跟踪测试,mtr命令会对链路上的相关节点做持续探测并给出相应的统计信息。所以,mtr命令能避免节点波动对测试结果的影响,所以其测试结果更正确,建议优先使用。

MTR 是经典网络诊断工具,常用于网络故障排除。简单来说,它工作原理是通过访问指定 IP 或域名,列出其完整访问链路,并向链路节点发送 ICMP 数据包,根据响应情况确定连接质量。MTR 可以视为结合 traceroute 和 ping 特性的网络检测工具。

举个使用场景,如果本地连接到远程服务器出现不稳定、网络抖动的情况。这时就可以通过 MTR 查询问题出在哪,进而提供有用信息给有关方解決。

MTR 安装

Linux

主流 Linux 发行版可通过系统自带软件源安装 MTR。

# Debian Ubuntu

apt -y install mtr-tiny

# RHEL CentOS

yum -y install mtr

如果软件仓库没有,可以下载 MTR 源码编译安装。详细请查看官方说明。

github/traviscross/mtr

Windows

Windows 下软件名为 WinMTR,其官网 http://winmtr.net/ 早已关闭,但可以在第三方载点下载。

sourceforge.net/projects/winmtr/files/

另外还有个分支版本,增加了 IPv6 支持和一些错误修复。

github/White-Tiger/WinMTR

MTR使用方法

如果测试连接去程应在本地电脑上运行 MTR 测试服务器 IP。如果测试回程则在服务器上操作,测试本地网络公网 IP。

对于大多数服务,如网站或代理用途,应更关注回程质量。因为主要是服务器返回数据到本地,而本地发送到服务器的数据量很少。

下面只说 Linux MTR 用法,Windows 图形操作界面很容易就不做介绍了,

例如测试到 8.8.8.8 的连接情况。命令中的 r 参数表示向目标主机发送 10 个 ICMP 数据包,然后输出报告。如果不带参数,则会不间断运行,取消按 q 键退出。

mtr -r 8.8.8.8

示例输出结果:

Start: Tue Feb 4 01:51:49 2020

HOST: localhost.localdomain Loss% Snt Last Avg Best Wrst StDev

1.|– 64.52.23.1 0.0% 10 0.1 0.1 0.1 0.2 0.0

2.|– 96.44.162.122.static.quad 0.0% 10 0.4 0.8 0.4 1.1 0.0

3.|– colo-lax13.as8100.net 0.0% 10 0.9 3.5 0.2 32.3 10.1

4.|– 204.152.204.18 0.0% 10 1.2 0.8 0.3 1.6 0.0

5.|– 108.170.247.129 0.0% 10 1.4 1.4 1.3 1.6 0.0

6.|– 108.170.234.215 0.0% 10 0.3 0.4 0.3 0.5 0.0

7.|– dns.google 0.0% 10 0.3 0.3 0.2 0.3 0.0

报告里数字编号每一行表示一个跃点,数据包经过每个跃点后到达目标主机。前几个跃点通常是本地 ISP 节点,后几个是目标主机 ISP 节点,中间为网络路由节点。

报告里的各列数据说明如下:

Loss%:数据包丢失率(百分比);

Snt:已发送数据包数量;

Last:最近一个数据包的延迟(毫秒);

Avg:已发数据包的平均延迟(毫秒);

Best:已发数据包中的最小延迟(毫秒);

Wrst:已发数据包中的最大延迟(毫秒);

StDev:已发数据包的延迟偏差,越大表示延迟波动越大越不稳定;

介绍几个 MTR 常用参数。

如果不希望有的跃点以域名显示,添加 n 参数禁用反向 DNS 查找,这样就会始终显示 IP。

mtr -rn 8.8.8.8

如果需要指定发送数据包数量,通过 c 参数设置。例如发送 20 个数据包(发送数据包后会自动退出,因此可不必添加 r 参数)。

mtr -c 20 8.8.8.8

发送数据包间隔默认为 1 秒。如果希望加快发包速度,用 i 参数设置。例如每 0.2 秒发送(小于 1 秒需要 sudo 提权运行)。

sudo mtr -ri 0.2 8.8.8.8

如果需要指定数据包大小,用 s 参数。例如设置数据包大小为 128 字节(如设置负数,则每次发送数据包大小是随机的)。

mtr -rs 128 8.8.8.8

发送 UDP 数据包探测而非默认 ICMP ECHO 数据包。

mtr -ru 8.8.8.8

MTR结果分析

MTR 检测结果主要看丢包率、平均延迟和延迟偏差这几项。优先看目标主机的情况,也就是最后一跳。如果没有丢包,延迟和波动值在正常区间。即使往前跃点有丢包或超时,也不一定表示有故障。因为可能受到节点 ICMP 速率限制或丢弃 ICMP 包影响,特别是当只有个别跃点这样显示时可能性尤其大。

如果多个跃点出现丢包,并且不是短暂高峰时段网络拥堵才出现,影响了到目标主机的质量。那么就需根据丢包节点联系相关方解決,通常要么是本地 ISP 或是服务器商家。

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

RAKsmart:日本/香港/美国/新加坡vps,爆款云服务器低至一折$12.15/年起,常规云服务器7折

RAKsmart怎么样?RAKsmart这是一家华人运营的机房,网站有中英文界面,工单支持中文服务,提供的产品包括独立服务器租用、裸机云服务器、VPS等,数据中心可选美国洛杉矶、圣何塞、中国香港、日本...

极光KVM:春节特别活动,美西vps仅21元/月;洛杉矶Cera vps仅18元/月;香港vps仅60元/季

极光KVM春节特别活动开始了!虎年到,极光KVM大开虎口,推出春节特别活动,爆款升级。极光KVM是成立3年+ 的老牌商家,主营美国、香港vps,提供三网CN2、9929、CUVIP大带宽、高防等高性价...

半月湾双12活动:京日/沪日/广日IPLC,三线版京港/沪港/广港IPLC立减100美元,京新/沪新/广新IPLC八折优惠

半月湾推出双12活动周,旗下京日/沪日/广日iplc,不限流量@100Mbps流量转发,个人款立减100美元;三线版京港/沪港/广港iplc不限流量@100Mbps流量转发,个人款立减100美元;新/...

腾讯云音视频价格

腾讯云音视频价格在当前的市场中腾讯云音视频的价格相较于其他竞争对手来说还是比较具有竞争优势的。不仅如此腾讯云音视频的服务也非常出色拥有着先进的技术和完善的售后服务。腾讯云音视频价格相对较低与市面上的其...

星外虚拟主机管理系统下MSSQL2005服务器因重装改名后出错的解决办法

出错信息为: "sys.servers 中找不到服务器 'BBB'。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserver...

香港空间和美国空间哪个更快

香港空间和美国空间哪个更快?由于地理位置的不同,香港空间和美国空间速度上会存在一些差异。那么很多站长都有这样的疑问:香港空间和美国空间哪个更快?对于这类问题,服务器之家小编为大家做出了答案,那就是要根...