不管是做網(wǎng)絡(luò)管理還是做系統(tǒng)運(yùn)維,都會出現(xiàn)一些網(wǎng)絡(luò)鏈路問題,大多數(shù)人都知道PING命令,可以簡單的測試網(wǎng)絡(luò)的連通性,但是卻無法確定是在哪里出現(xiàn)了問 題,有些人就會用tracert命令來查看途經(jīng)路由,或者用nslookup命令來查看DNS是否可用(話說這命令我都沒怎么用過),如果三個命令都用的 話就太浪費(fèi)時間了,也太麻煩了,但是如果只用其中一個命令的話,又不好排查,這時候就要用到mtr命令了,Mtr是 Linux中有一個非常棒的網(wǎng)絡(luò)連通性判斷工具,它結(jié)合了ping, tracert,nslookup 的相關(guān)特性。
首先安裝mtr
# yum -y install mtr
安裝完成后我們來試一下
# mtr www.sohu.com
看起來還挺高大上的?。?br />其中Host列是途經(jīng)的IP或本機(jī)域名
Loss%列就是對應(yīng)IP行的丟包率了,值得一提的是,只有最后的目標(biāo)丟包才算是真正的丟包
Last列則是最后一次返回的延遲,按毫秒計算的
Avg列是所有返回時延的一個平均值
Best列是最快的一次返回時延
Wrst列是最長的一次返回時延
StDev列是標(biāo)準(zhǔn)偏差
接下來就是命令參數(shù)了:
mtr -s 用來指定ping數(shù)據(jù)包的大小
mtr -n no-dns不對IP地址做域名解析
mtr -a 來設(shè)置發(fā)送數(shù)據(jù)包的IP地址 這個對一個主機(jī)由多個IP地址是有用的
mtr -i 使用這個參數(shù)來設(shè)置ICMP返回之間的要求默認(rèn)是1秒
mtr -c 是ping的次數(shù)。使用方法跟ping命令一樣
mtr -4 IPv4
mtr -6 IPv6
所謂的IPv4和IPv6,現(xiàn)在基本上用不到呢還,我們基本上來測試鏈路連通性都是這么打的
mtr -i 0.1 -n -c 100 IP或域名
這么打的意思是每0.1秒返回一次結(jié)果,ping100次,并且不對IP地址做域名解析,是不是很高大上呢?小伙伴們快去試試吧~
其中中間線路丟包嚴(yán)重但是目標(biāo)地址不丟包,可能是因為某些主機(jī)路由對ICMP協(xié)議不做處理或者只分配固定限額的資源處理,所以是正常情況。因為ICMP協(xié)議請求消耗cpu資源,為了節(jié)省開銷,cpu只分配固定資源處理ICMP請求