网络探测和诊断工具 - mtr

概述

最近研究 traceroute 和 mtr 主要是网络监控的需要,需要通过这些工具探测出整个公司的网络拓扑和端到端之间的网络状况。

一般情况,我们使用ping,traceroute,nslookup测试网络的连通性,今天我们介绍一个Linux下判断网络连通性的工具:mtr,mtr的全称:my traceroute,是一个集ping和traceroute功能的网络诊断工具。traceroute命令可以查看以前的一篇博文:网络探测和诊断工具 - traceroute

MTR基本原理

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

mtr 相对于 traceroute 命令只会做一次链路跟踪测试,mtr 命令会对链路上的相关节点做持续探测并给出相应的统计信息。所以,mtr命令能避免节点波动对测试结果的影响,所以其测试结果更正确,建议优先使用。

安装mtr

# linux
yum -y install mtr


#macOS
brew install mtr

运行mtr

mtr www.baidu.com


# r 参数表示向目标主机发送 10 个 ICMP 数据包,然后输出报告。
# 如果不带参数,则会不间断运行,取消按 q 键退出。
  mtr -r www.baidu.com

结果

网络探测和诊断工具 - mtr_第1张图片

第一列:HOST,显示IP地址或者主机名。

第二列:Loss%,该Host的丢包率。

第三列:Snt,该Host每秒发送数据包数,默认值是10,可以通过参数“-c”指定。

第四列:Last,该Host的最近一次的延时,单位是毫秒ms。

第五列:Avg,该Host的平均延时,单位是毫秒ms。

第六列:Best,该Host的最低延时,单位是毫秒ms。

第七列:Wrst,该Host的最高延时,单位是毫秒ms。

第八列:StDev,该Host的标准偏差,稳定性的体现。

另外,也可以在mtr命令运行过程中,输入相应字母来快速切换模式。
?或 h:显示帮助菜单。
d:切换显示模式。
n:切换启用或禁用DNS域名解析。
u:切换使用ICMP或UDP数据包进行探测。
q:推出探测

mtr参数详解

[[email protected] ~]$ mtr --help
usage: mtr [-BfhvrwctglxspQomniuT46] [--help] [--version] [--report]
        [--report-wide] [--report-cycles=COUNT] [--curses] [--gtk]
        [--csv|-C] [--raw] [--xml] [--split] [--mpls] [--no-dns] [--show-ips]
        [--address interface] [--filename=FILE|-F]
        [--ipinfo=item_no|-y item_no]
        [--aslookup|-z]
        [--psize=bytes/-s bytes] [--order fields]
        [--report-wide|-w] [--inet] [--inet6] [--max-ttl=NUM] [--first-ttl=NUM]
        [--bitpattern=NUM] [--tos=NUM] [--udp] [--tcp] [--port=PORT] [--timeout=SECONDS]
        [--interval=SECONDS] HOSTNAME


常见可选参数说明:
-r 或 -report:以报告模式显示输出,而不是一直运行。
-p 或 -split:将每次追踪的结果分别列出来。
-s 或 -psize:指定ping数据包的大小。
-i:发送数据包的时间间隔,默认为 1 秒,小于 1 秒需要 sudo 提权运行
-n 或 -no-dns:参数禁用反向 DNS 查找,这样就会始终显示 IP。
-c :指定发送数据包的数量,例如发送 20 个数据包(发送数据包后会自动退出,因此可不必添加 r 参数)。
-a 或 -address:设置发送数据包的IP地址。用于主机有多个IP时。
-u:发送 UDP 数据包探测而非默认 ICMP ECHO 数据包。
-4:只使用IPv4协议。
-6:只使用IPv6协议。

期阅读

网络探测和诊断工具 - traceroute

google code review系列6 - 处理code review中的pushback(完结篇)

谈谈裁员滚滚之后几类人的生存现状以及如何避险

技术更新太快,很容易被淘汰,真的是这样吗?

Lombok我们真的不应该使用了嘛?

云原生之可观测性-OpenTracing、OpenSensus、OpenTelemetry

云原生之可观测性 - APM概念及选型

大厂“断子绝孙式”、“养蛊式”招聘有多害人?

Kafka Producer全流程分析和思考

MySQL的Replace用法详解

网络探测和诊断工具 - mtr_第2张图片

快乐程序员、读书狂魔、爱撸代码、开源项目、硬核互联网技术分享

觉得写得不错,请点,谢谢!

你可能感兴趣的:(网络,linux,java,python,大数据)