MTR安装及使用教程

MTR 安装

MTR 是一款网络测试工具,它将 ping 和 traceroute 的功能合并,功能比较强大。

MacOS安装

在 MacOS 下,MTR 没有现成的程序,我们需要通过 Homebrew 来安装。

1、安装 Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2、安装 MTR:

brew install mtr

brew list mtr
/usr/local/Cellar/mtr/0.95/sbin/mtr
/usr/local/Cellar/mtr/0.95/sbin/mtr-packet
/usr/local/Cellar/mtr/0.95/share/bash-completion/completions/mtr
/usr/local/Cellar/mtr/0.95/share/man/ (2 files)

3、MTR 安装完成之后,没有把程序文件复制到 /usr/local/bin 目录下,我们手动复制一下:

cd /usr/local/Cellar/mtr/0.95/sbin
cp mtr /usr/local/bin/
cp mtr-packet /usr/local/bin/

or

ln -s /usr/local/Cellar/mtr/0.95/sbin/mtr /usr/local/bin/mtr
ln -s /usr/local/Cellar/mtr/0.95/sbin/mtr-packet /usr/local/bin/mtr-packet

alias mtr='/usr/local/bin/mtr'

4、运行 MTR,由于运行 MTR 需要管理员权限,所以在运行的时候会提示输入密码

sudo mtr chegva.com

Linux安装

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

# Debian & Ubuntu
apt -y install mtr-tiny

# RHEL & CentOS
yum -y install mtr

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

https://github.com/traviscross/mtr

Windows安装

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

https://sourceforge.net/projects/winmtr/files/

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

https://github.com/White-Tiger/WinMTR


MTR 使用

sudo mtr chegva.com --report
Start: 2222-11-11T11:55:42+0800
HOST: anzhihe-mac.local           Loss%   Snt   Last   Avg  Best  Wrst StDev
 1.|-- 10.231.69.254             80.0%    10   33.1  21.0   8.9  33.1  17.1
 2.|-- 10.234.235.69             50.0%    10   39.7  26.1  13.7  39.7  10.2
 3.|-- 10.221.0.1                 0.0%    10   48.4  28.1  12.5  48.4  12.1
 4.|-- 114.247.175.193            0.0%    10   11.8  15.1  10.5  26.7   4.7
 5.|-- 123.126.6.249              0.0%    10   20.0  18.3   8.3  28.5   5.7
 6.|-- 125.33.185.122             0.0%    10   13.5  24.3   7.1  47.4  15.8
 7.|-- 61.49.143.94               0.0%    10   35.5  27.9  10.4  63.3  16.2
 8.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0

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

第二列:Loss%,这个结点的丢包率。

第三列:Snt,发送包的数量。

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

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

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

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

第八列:StDev,标准偏差,越大表示延迟波动越大越不稳定。

sudo mtr -o "LRSDJMXINBAW" chegva.com

输入完命令后,MTR 会实时显示网络情况,可使用 ctrl+c 或者 q 退出:

MTR安装及使用教程在交互页面按 H 键,可以显示帮助:

Command:
?|h     help
p       pause (SPACE to resume)
d       switching display mode
e       toggle MPLS information on/off
n       toggle DNS on/off
r       reset all counters
o str   set the columns to display, default str='LRS N BAWV'
j       toggle latency(LS NABWV)/jitter(DR AGJMXI) stats
c <n>   report cycle n, default n=infinite
i <n>   set the ping interval to n seconds, default n=1
f <n>   set the initial time-to-live(ttl), default n=1
m <n>   set the max time-to-live, default n= # of hops
s <n>   set the packet size to n or random(n<0)
b <c>   set ping bit pattern to c(0..255) or random(c<0)
Q <t>   set ping packet's TOS to t
u       switch between ICMP ECHO and UDP datagrams
y       switching IP info
z       toggle ASN info on/off
 
press any key to go back...

几个常用的按键:

  • 按 p 键可以暂停,空格键恢复工作

  • 按 d 键可以切换显示方式

  • n 开启/关闭 DNS 解析

  • r 清空所有统计信息,重新统计

  • c 接数字,表示循环的次数,默认无限循环

  • i 接数字,设置 ping 的间隔,默认 1s

  • f 接数字,设置初始的 TTL 值,若设置为 3,则从第三行开始显示

  • m 接数字,设置最大的 TTL 值

  • s 接数字,设置包的大小,如果数字小于零,则为随机大小

按 o 键,可以选择可显示的列的种类, 根据提示设置即可:

Fields: LS NABWV
 
<sp>: Space between fields
L: Loss Ratio
D: Dropped Packets
R: Received Packets
S: Sent Packets
N: Newest RTT(ms)
B: Min/Best RTT(ms)
A: Average RTT(ms)
W: Max/Worst RTT(ms)
V: Standard Deviation
G: Geometric Mean
J: Current Jitter
M: Jitter Mean/Avg.
X: Worst Jitter
I: Interarrival Jitter

例如,选择 丢包率/发包/收包/丢包 最新/最小/最大/平均延时,则需要输入 LSRD NBWA

MTR 参数详解

用法:mtr [参数] hostname

 -F, --filename FILE        read hostname(s) from a file
 -4                         use IPv4 only
 -6                         use IPv6 only
 -u, --udp                  use UDP instead of ICMP echo
 -T, --tcp                  use TCP instead of ICMP echo
 -a, --address ADDRESS      bind the outgoing socket to ADDRESS
 -f, --first-ttl NUMBER     set what TTL to start
 -m, --max-ttl NUMBER       maximum number of hops
 -U, --max-unknown NUMBER   maximum unknown host
 -P, --port PORT            target port number for TCP, SCTP, or UDP
 -L, --localport LOCALPORT  source port number for UDP
 -s, --psize PACKETSIZE     set the packet size used for probing
 -B, --bitpattern NUMBER    set bit pattern to use in payload
 -i, --interval SECONDS     ICMP echo request interval
 -G, --gracetime SECONDS    number of seconds to wait for responses
 -Q, --tos NUMBER           type of service field in IP header
 -e, --mpls                 display information from ICMP extensions
 -Z, --timeout SECONDS      seconds to keep probe sockets open
 -r, --report               output using report mode
 -w, --report-wide          output wide report
 -c, --report-cycles COUNT  set the number of pings sent
 -j, --json                 output json
 -x, --xml                  output xml
 -C, --csv                  output comma separated values
 -l, --raw                  output raw format
 -p, --split                split output
 -t, --curses               use curses terminal interface
     --displaymode MODE     select initial display mode
 -n, --no-dns               do not resove host names
 -b, --show-ips             show IP numbers and host names
 -o, --order FIELDS         select output fields
 -y, --ipinfo NUMBER        select IP information in output
 -z, --aslookup             display AS number
 -h, --help                 display this help and exit
 -v, --version              output version information and exit


参考:

anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/5067.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

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