1. 程式人生 > >Linux下使用mtr做路由圖進行網路分析

Linux下使用mtr做路由圖進行網路分析

首先安裝mtr

# yum -y install mtr

 

一般在windows 來判斷網路連通性用ping 和tracert,

ping的話可以來判斷丟包率,tracert可以用來跟蹤路由,

在Linux中有一個更好的網路連通性判斷工具,它可以結合ping nslookup tracert 來判斷網路的相關特性,這個命令就是mtr

[[email protected] ~]# mtr -h

usage: mtr [-hvrctglspni46] [--help] [--version] [--report]
[--report-cycles=COUNT] [--curses] [--gtk]
[--raw] [--split] [--no-dns] [--address interface]
[--psize=bytes/-s bytes]
[--interval=SECONDS] HOSTNAME [PACKETSIZE]

 

mtr -h 提供幫助命令

mtr -v 顯示mtr的版本資訊

mtr -r 已報告模式顯示

[[email protected] ~]# mtr -r 202.108.33.94
​
FOCUS9097 Snt: 10 Loss% Last Avg Best Wrst StDev
​
220.181.61.252 0.0% 6.8 3.3 1.8 7.4 2.2
220.181.17.217 0.0% 0.4 0.5 0.4 0.7 0.1
220.181.16.17 0.0% 0.6 0.5 0.5 0.6 0.0
202.97.53.14 10.0% 0.7 0.7 0.7 0.8 0.0
219.158.35.1 0.0% 0.8 0.8 0.8 0.9 0.0
219.158.5.81 0.0% 1.2 1.3 1.2 1.6 0.1
123.126.0.138 0.0% 1.2 1.1 1.1 1.3 0.1
61.148.153.126 0.0% 1.9 10.5 1.5 89.9 27.9
61.148.143.22 0.0% 1.5 1.6 1.5 1.7 0.0
210.74.178.198 0.0% 1.6 1.6 1.5 1.9 0.1
202.108.33.94 0.0% 1.5 1.5 1.4 1.5 0.0

 

報告說明:
第一列:顯示的是IP地址和本機域名,這點和tracert很像

第二列:snt:10 設定每秒傳送資料包的數量,預設值是10 可以通過引數 -c來指定。

[[email protected] ~]# mtr -r -c 15 202.108.33.94
​
FOCUS9097 Snt: 15 Loss% Last Avg Best Wrst StDev
220.181.61.252 0.0% 1.9 3.4 1.8 12.9 3.1
220.181.17.217 0.0% 0.5 0.5 0.4 0.8 0.1
220.181.16.17 0.0% 0.5 0.6 0.5 2.3 0.5
202.97.53.14 0.0% 0.7 0.7 0.7 0.7 0.0
219.158.35.1 0.0% 0.9 0.8 0.8 0.9 0.0
219.158.5.81 0.0% 1.3 2.8 1.2 22.8 5.5
123.126.0.138 0.0% 1.1 1.1 1.1 1.2 0.0
61.148.153.126 0.0% 13.8 7.4 1.6 60.4 15.5
61.148.143.22 0.0% 1.7 1.6 1.5 1.8 0.1
210.74.178.198 0.0% 1.6 1.6 1.4 1.7 0.1
202.108.33.94 0.0% 1.5 1.5 1.4 1.7 0.1

 

其中-c的說明是:–report-cycles COUNT

​-n  不用主機解釋

-c   傳送多少個數據包

--report  結果顯示,並不動態顯示。


第三列:是顯示的每個對應IP的丟包率
第四列:顯示的最近一次的返回時延
第五列:是平均值 這個應該是傳送ping包的平均時延
第六列:是最好或者說時延最短的
第七列:是最差或者說時延最常的
第八列:是標準偏差
接下來接著說相關引數:


mtr -s 用來指定ping資料包的大小

mtr -n no-dns不對IP地址做域名解析

mtr -a 來設定傳送資料包的IP地址 這個對一個主機由多個IP地址是有用的

mtr -i 使用這個引數來設定ICMP返回之間的要求預設是1秒

mtr -4 IPv4

mtr -6 IPv6

​其中Host列是途經的IP或本機域名
Loss%列就是對應IP行的丟包率了,值得一提的是,只有最後的目標丟包才算是真正的丟包
Last列則是最後一次返回的延遲,按毫秒計算的
Avg列是所有返回時延的一個平均值
Best列是最快的一次返回時延
Wrst列是最長的一次返回時延
StDev列是標準偏差


接下來就是命令引數了:

mtr -s 用來指定ping資料包的大小

mtr -n no-dns不對IP地址做域名解析

mtr -a 來設定傳送資料包的IP地址 這個對一個主機由多個IP地址是有用的

mtr -i 使用這個引數來設定ICMP返回之間的要求預設是1秒

mtr -c 是ping的次數。使用方法跟ping命令一樣

mtr -4 IPv4
mtr -6 IPv6
所謂的IPv4和IPv6,現在基本上用不到呢還,我們基本上來測試鏈路連通性都是這麼打的

mtr -i 0.1 -n -c 100 IP或域名
這麼打的意思是每0.1秒返回一次結果,ping100次,並且不對IP地址做域名解析