Linux命令中的mtr命令详解

 更新时间:2025年11月03日 14:32:40   作者:恒悦sunsite  
mtr 是一个功能强大的网络诊断工具,它结合了 ping 和 traceroute 的功能,并提供了实时、持续的连接质量统计数据,这篇文章给大家介绍Linux命令中的mtr命令详解,感兴趣的朋友跟随小编一起看看吧

一、mtr命令简介;

  mtr 是一个功能强大的网络诊断工具,它结合了 ping 和 traceroute 的功能,并提供了实时、持续的连接质量统计数据。它是排查网络问题、定位网络瓶颈的利器。mtr(My Traceroute)在单个界面中同时展示了数据包从源主机到目标主机所经过的每一跳(路由器)的信息,并且会持续地向每一跳发送数据包,动态更新统计结果,如丢包率、延迟等。与 traceroute 的区别:

  • traceroute:只向每一跳发送少量数据包(默认3个),显示一次性的路径和延迟。
  • mtr:持续地向每一跳发送数据包,提供实时的、基于统计的网络质量视图,更容易发现间歇性的网络问题。

二、命令语法及参数说明

1、命令安装(centos7系统安装)

[root@ywtools ~]# yum install epel-release && sudo yum install mtr

2、命令语法

  #mtr [选项] 目标主机
  运行 mtr www.baidu.com,你会看到一个类似这样的实时界面:Host: 经过的路由器IP或主机名。

  • Loss%: 到该节点的丢包率。这是最重要的指标之一。
  • Snt: 已发送的数据包数量。
  • Last: 最近一个数据包的延迟(毫秒)。
  • Avg: 平均延迟。
  • Best: 最低延迟。
  • Wrst: 最高延迟。
  • StDev: 延迟的标准差。值越大,说明网络延迟越不稳定。

  当出现网络问题时,你需要从第一跳开始逐行往下看。

  • 如果第一跳(你的路由器)丢包率就很高,问题可能出在你的本地网络。
  • 如果中间某一行(例如第4跳)开始出现高丢包率,并且后续所有跳都有高丢包,那么问题很可能出在那个节点或其附近的网络。
  • 如果只有某一跳丢包率高,但后续节点正常,这通常是该路由器有意限制ICMP流量导致的,不一定是真问题(称为“假丢包”)。

2、参数说明

参数参数说明
-r,--report报告模式,最常用的模式,生成一次性报告后退出,便于分享和记录。
-c指定数据包数量,默认会发送10个包,可以使用 -c 指定数量。
-n不使用DNS反向解析 ,直接显示IP地址,而不尝试解析主机名,可以加快输出速度。
-4指定使用ipv4协议
-6指定使用ipv6协议
-s指定数据包大小,模拟不同大小的数据包,有助于诊断MTU相关问题。
-m设置最大跳数(Time-To-Live)。
--interface指定源接口或IP (-i)
-i设置发送每个ICMP包之间的时间间隔(秒)。
-T指定TCP协议,有些路由器会过滤ICMP包,使用TCP包可能更有效,结合-P使用
-u指定UDP协议
-P指定端口

三、使用示例

1、交互模式

  在交互模式下,让它一直运行,观察延迟和丢包率的变化,特别适合排查间歇性问题。

2、报告模式

  报告模式,快速检查到目标主机的连通性

#mtr -r -c 10 -i 0.5 google.com

3、诊断到特定网站的延迟和丢包问题

  使用报告模式,不解析DNS,发送50个包。

#mtr -r -n -c 50 114.114.114.114

4、怀疑是MTU问题,使用大包测试

  如果在大包时丢包率剧增,而小包正常,可能是路径上的MTU问题。

#mtr -r -s 1500 www.jd.com

5、目标主机屏蔽了ICMP,使用TCP端口探测

  ping不通,但是网站访问通,可以使用TCP进行探测测试。

#mtr -r -T -P 443 www.jd.com

四、写在最后

  MTR 的最大价值从来不是告诉你“网站能不能访问”,而是告诉你 “从我这到目标,中间的哪一段出现了异常”。所以在阿里云售后技术支持或者运营商线路报障的时候经常会要求使用mtr进行路由跟踪测试,协助他们进行网络定位。

到此这篇关于Linux命令之mtr命令的文章就介绍到这了,更多相关Linux mtr命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • shell脚本快速创建格式化磁盘与详细操作步骤

    shell脚本快速创建格式化磁盘与详细操作步骤

    这篇文章主要介绍了shell脚本快速创建格式化磁盘与详细操作步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • shell脚本编程之循环语句

    shell脚本编程之循环语句

    这篇文章主要介绍了shell脚本编程之循环语句的相关资料,需要的朋友可以参考下
    2016-01-01
  • Shell之function函数的定义及调用示例

    Shell之function函数的定义及调用示例

    本文主要介绍了Shell之function函数的定义及调用示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • linux禁止普通用户切换至root用户的实例讲解

    linux禁止普通用户切换至root用户的实例讲解

    今天小编就为大家分享一篇linux禁止普通用户切换至root用户的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Linux-nohup命令使用方法详解

    Linux-nohup命令使用方法详解

    在Linux环境中,nohup命令用于在用户退出或注销后继续运行命令,当终端关闭时,所有在该终端中运行的进程会收到SIGHUP信号并被终止,但使用nohup可以避免这种情况,本文介绍了nohup的基本用法,感兴趣的朋友一起看看吧
    2024-09-09
  • 浅谈shell的一些循环格式

    浅谈shell的一些循环格式

    这篇文章主要介绍了浅谈shell的一些循环格式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 使用shell脚本判断文件后缀的方法实例

    使用shell脚本判断文件后缀的方法实例

    这篇文章主要给大家介绍了关于如何使用shell脚本判断文件后缀的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • 积累linux常用命令大全

    积累linux常用命令大全

    Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、驱动、键盘、鼠标,还是用户等都是文件,Linux命令是它正常运行的核心,这篇文章主要总结了linux常用命令,需要的朋友可以参考下
    2015-08-08
  • Linux sort 命令快速上手指南

    Linux sort 命令快速上手指南

    作为运维工程师,处理日志、分析数据是家常便饭,sort命令是Linux中高效整理文本的神器,能快速对文件内容排序、去重、统计,本文用最简洁的方式,帮你掌握sort的核心用法,感兴趣的朋友一起看看吧
    2025-03-03
  • nginx多server日志分割脚本分享

    nginx多server日志分割脚本分享

    这篇文章主要介绍了nginx多server日志分割脚本,需要的朋友可以参考下
    2014-04-04

最新评论