一款好用的网络检测工具——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

相关推荐

  • TCP的几个状态 (SYN, FIN, ACK, PSH, RST, URG)

    在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG。 其中,对于我们日常的分析有用的就是前面的五个字段。 它们的含义是: SYN表示建立连接, FIN表示关闭连接, ACK表示响应, PSH表示有 DATA数据传输, RST表示连接重置。 其中,ACK是可能与SYN,FIN等同时使用的,比如SYN…

    2022年11月19日
    58000
  • Stream流式编程

    如何创建 Stream 对象 从集合创建:我们可以通过调用集合的 stream() 方法来创建一个 Stream 对象。例如: 从数组创建:Java 8 引入了 Arrays 类的 stream() 方法,我们可以使用它来创建一个 Stream 对象。例如: 通过 Stream.of() 创建:我们可以使用 Stream.of() 方法直接将一组元素转换为 …

    2023年9月4日
    15600
  • Iperf3测速教程

    Iperf3介绍 iperf3 是一个 TCP、UDP 和 SCTP 网络带宽测量工具。是用于主动测量 IP 网络上可达到的最大带宽的工具。它支持调整与时序,协议和缓冲区有关的各种参数。对于每个测试,它都会报告测得的吞吐量 / 比特率,损耗和其他参数。 Iperf3下载地址:https://iperf.fr/ Iperf3常用参数 1. 通用参数:…

    2022年7月26日
    54800
  • 内网穿透—nps

    nps nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端 做微信公众号开发、小程序开发等—-> 域…

    2022年6月7日
    89200
  • 爱快路由安装

    一.准备工具 材料:电脑X1(用来制作安装工具),工控机(两个以上网口的电脑即可)X1,显示器X1,U盘(安装过程会清空U盘内全部数据)X1,键盘(USB接口)X1 二.制作路由安装工具 (1)将下方连接中的文件下载到本地并解压到桌面,打开写盘工具中的写盘程序(Win32DiskImager.exe) http://down.cnaaa.net/list_1…

    2023年2月13日
    26000

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信