一款好用的网络检测工具——mtr

当客户端访问目标服务器或负载均衡,使用 ping 命令测试出现丢包或不通时,可以通过 MTR 等工具进行链路测试来判断问题来源。

mtr (My traceroute)是结合了 traceroute 命令和 ping 命令功能网络诊断工具。

mtr基本原理

网络诊断工具,例如 ping、traceroute、mtr 都使用的 “ICMP” 包来测试 Internet 两点之间的网络连接状况。当用户使用 ping 命令 ping 网络上的主机后, ICMP 包将会发送到目的主机,然后在目的主机返回响应。这样,就可以得知本机到目的主机 ICMP 包传输所使用的往返时间。

相对于其他命令仅仅收集传输路径或响应时间,MTR 工具会收集更多的信息,比如 连接状态,连接可用性,以及传输路径中主机的响应性。由于这些额外的信息,我们建议您尽可能完整的展现 Internet 两个主机之间的网络连接信息。接下来我们讲述如何安装 MTR 软件,以及如何看懂这款软件的输出结果。

安装 mtr

Mac 安装

前提是已经 安装 homebrew 工具。

$ brew install mtr

Centos7 安装

$ yum install -y mtr

mtr 使用说明

可以通过 man mtr 命令查看mtr的具体使用方法,部分常用参数介绍如下:

  • -r 或 -report:以报告模式显示输出。
  • -p 或 -split:将每次追踪的结果分别列出来,而非如“-report”统计整个结果。
  • -s 或 -psize:指定ping数据包的大小。
  • -n 或 -no-dns:不对IP地址做域名反解析。
  • -a 或 -address:设置发送数据包的IP地址。用于主机有多个IP时。
  • -4:只使用IPv4协议。
  • -6:只使用IPv6协议。
  • 另外,也可以在mtr命令运行过程中,输入相应字母来快速切换模式。
    • ?或 h:显示帮助菜单。
    • d:切换显示模式。
    • n:切换启用或禁用DNS域名解析。
    • u:切换使用ICMP或UDP数据包进行探测。

示例

Mac

在Mac上使用 mtr 命令需要root权限:

$ sudo mtr -r www.baidu.comStart: 2019-06-25T11:41:37+0800HOST: xxxx-MacBook-Pro.local  Loss%   Snt   Last   Avg  Best  Wrst StDev  1.|-- 10.1.0.1                   0.0%    10    8.0   9.7   3.1  42.8  11.9  2.|-- 192.168.50.4               0.0%    10    7.4   4.7   2.9  10.1   2.3  3.|-- 192.168.50.8               0.0%    10    2.2   6.4   1.3  35.1  10.3  4.|-- 192.168.50.252             0.0%    10   48.8  11.9   2.3  48.8  16.0  5.|-- 121.69.131.161             0.0%    10   17.6  16.6   7.0  50.6  13.3  6.|-- 10.255.55.141              0.0%    10    6.1  12.7   3.8  28.1   9.0  7.|-- 10.255.34.97               0.0%    10   33.4  19.2   6.5  69.8  19.7  8.|-- 124.205.98.29              0.0%    10    8.7  14.1   3.5  36.3  11.9  9.|-- 14.197.243.121             0.0%    10    6.0  19.3   4.9  53.4  18.9 10.|-- 14.197.249.126             0.0%    10    7.5  10.5   5.6  36.0   9.1 11.|-- 182.61.252.212             0.0%    10    9.5  17.6   7.1  39.2  11.3 12.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0 13.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0 14.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0 15.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0 16.|-- 182.61.200.7               0.0%    10    5.5  15.4   5.3  41.8  14.2

-r 参数的作用是在检测完成后以报告的形式显示结果,如果不加 -r 参数,直接进入实时窗口。

Linux

$ mtr -r www.baidu.com

结果分析

默认配置下,返回结果中各数据列的说明如下。

  • 第一列(Host):节点IP地址和域名。如前面所示,按n键可以切换显示。
  • 第二列(Loss%):节点丢包率。
  • 第三列(Snt):每秒发送数据包数。默认值是10,可以通过参数“-c”指定。
  • 第四列(Last):最近一次的探测延迟值。
  • 第五、六、七列(Avg、Best、Wrst):分别是探测延迟的平均值、最小值和最大值。
  • 第八列(StDev):标准偏差。越大说明相应节点越不稳定。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9090

(0)
郭靖的头像郭靖
上一篇 2023年6月25日 下午5:28
下一篇 2023年6月28日 下午5:14

相关推荐

  • 开源网站监控利器:Utime Kuma部署指南

    🔍 Uptime Kuma 简介 GitHub 项目地址:https://github.com/louislam/uptime-kuma 一款开源自托管监控工具,支持多种协议检测(HTTP/TCP/Ping/DNS 等)和实时告警(飞书/钉钉/邮件等) 核心优势: 🚀 部署教程 Docker 部署 验证:访问 http://服务器IP:3001​ 完成初始化…

    2025年6月14日
    1.6K00
  • 宝塔面板下,打开phpmyadmin显示空白页的解决方法

    在宝塔面板里装完phpmyadmin但是进不去数据库的这种情况太常见了 1. 没开放888端口 当我们进phpmyadmin的时候,端口默认为888,这时,我们就要检查宝塔面板和阿里云或腾讯云等控制器里的安全组的888端口是否开放。 2. 环境不兼容 如果是纯静态,选择php版本即可。 如果PHP版本较高,则可以切换到低版本的PHP。

    2022年6月11日
    2.8K00
  • 内网穿透—frp

    什么是frp内网穿透 frp 是一个开源项目, 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。 在此基础上,frp 支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。 为什么使用frp…

    2022年6月8日
    2.6K00
  • 交换机密码忘了,肿么办?

    作为网络工程师,还要记住网络设备的密码。举个栗子,交换机有 BOOT 密码、Console 口密码、Telnet 密码、SSH 密码和 Web 登录密码。假如忘记了交换机的某个密码,该肿么办呢? 1、忘记 Web 登录密码 如果忘记了 Web 登录密码,可以通过 Console 口、Telnet 或 SSH 登录交换机,设置新的 Web 登录密码。比如:We…

    2023年12月14日
    1.6K00
  • Cisco防火墙HA实例

    实验环境:2台ASA5508防火墙,组建HA使得一台作为主防火墙Active,另外一台平时作为standby作为备用防火墙。防火墙有3个端口,         gi 1/1 端口为outside出口   gi1/2 端口为inside进口 gi 1/3 端口为两台防火墙互连接口 实验目的:使得两台防火墙互为主备,平时只有一台工作,另一台作为热备在线。等主防火…

    2024年6月19日
    1.4K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信