最近網站延遲度相較過往高出 300 ms ,要確認是哪一個節點產生的問題,使用Linux 指令 MTR 可以快速列出各節點回應速度。算是結合了traceroute 及 ping 的功能,並用清楚的顯示介面列出目前各節點的狀況,讓管理人員可以快速了解狀況。
安裝 MTR
#使用 apt 安裝
sudo apt install mtr
#使用 yum 安裝
sudo yum install mtr
#使用 dnf 安裝
sudo dnf install mtr
使用 MTR
利用 mtr 指令追蹤路由節點。
mtr www.cjkuo.net
My traceroute [v0.93]
XXXX (XXX.227.XXX.120) 2021-03-06T00:36:21+0800
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
h254.s98.ts.hinet.net 0.0% 20 2.0 1.5 1.2 2.0 0.2
tpe4-3301.hinet.net 0.0% 20 1.3 1.8 1.1 5.0 0.8
220-128-3-206.HINET-IP.hinet.net 0.0% 20 1.7 2.1 1.5 2.9 0.4
tpdt-3011.hinet.net 0.0% 20 5.0 3.6 1.7 5.4 1.1
r4209-s2.hinet.net 0.0% 20 1.6 2.0 1.2 6.4 1.1
210-242-214-113.HINET-IP.hinet.net 0.0% 19 3.5 4.0 1.3 40.4 8.8
h217-192-72-155.seed.net.tw 0.0% 19 2.0 5.8 1.9 27.0 6.4
h150-192-72-155.seed.net.tw 0.0% 19 2.4 2.9 1.8 12.9 2.4
h162-192-72-108.seed.net.tw 0.0% 19 35.3 38.3 34.7 92.3 13.1
45.60.244.58 0.0% 19 32.5 32.6 31.8 33.5 0.5
Loss% 封包傳送出去未回應(遺失)的比率,越高表示那個路由點的常常遺失封包。
Snt 已傳送測試封包次數。
Last 最後一次測試封包回應時間。
Avg 封包平均回應時間。
Best 封包最短回應時間。
Wrst 封包回應最長時間。
StDev 標準差,數字越高代表回應時間越不穩定。
如果在路由表中出現 ??? 沒有顯示IP或是主機名稱的話,代表該節點可能設定不回應封包或是掉包狀況嚴重。
以IP方式顯示節點
若想以IP來顯示各節點,加入參數 -n。
mtr -n www.cjkuo.net
My traceroute [v0.93]
XXXX (XXX.227.XXX.120) 2021-03-06T00:39:52+0800
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
168.95.98.254 0.0% 7 1.7 1.5 1.1 1.9 0.3
168.95.22.122 0.0% 7 2.2 1.5 1.1 2.2 0.4
220.128.3.206 14.3% 7 2.8 2.1 1.5 2.8 0.5
220.128.24.89 0.0% 7 4.6 3.6 1.9 5.2 1.1
220.128.7.125 0.0% 7 2.8 2.5 1.7 5.1 1.2
210.242.214.113 0.0% 7 2.2 1.9 1.3 2.4 0.4
192.72.155.217 0.0% 7 1.9 3.1 1.9 6.7 1.6
192.72.155.150 0.0% 7 2.5 2.1 1.8 2.8 0.4
192.72.108.162 0.0% 7 35.0 40.1 34.9 68.8 12.6
45.60.244.58 0.0% 7 31.8 32.5 31.8 33.5 0.6
各節點同時以IP及網域顯示
如果需要同時顯示網域及IP帶入參數 -b
mtr -b www.cjkuo.net
My traceroute [v0.93]
XXX (XXX.227.XXX.120) 2021-03-06T00:41:26+0800
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
h254.s98.ts.hinet.net (168.95.98.254) 0.0% 6 1.3 1.3 1.0 1.6 0.2
tpe4-3301.hinet.net (168.95.22.122) 0.0% 6 1.6 2.1 1.2 5.3 1.6
220-128-3-206.HINET-IP.hinet.net (220.128.3.206) 0.0% 5 2.3 2.1 1.7 2.5 0.3
tpdt-3011.hinet.net (220.128.24.89) 0.0% 5 2.3 3.2 1.8 4.8 1.2
r4209-s2.hinet.net (220.128.7.125) 0.0% 5 4.9 2.5 1.5 4.9 1.4
210-242-214-113.HINET-IP.hinet.net (210.242.214.113) 0.0% 5 2.1 1.9 1.5 2.2 0.3
h217-192-72-155.seed.net.tw (192.72.155.217) 0.0% 5 11.8 4.1 2.1 11.8 4.3
h150-192-72-155.seed.net.tw (192.72.155.150) 0.0% 5 2.5 2.5 2.2 2.7 0.2
h162-192-72-108.seed.net.tw (192.72.108.162) 0.0% 5 35.1 35.3 35.0 35.7 0.3
45.60.244.58 (45.60.244.58) 0.0% 5 33.0 32.9 31.9 34.4 0.9
指定測試次數
如果沒有特別指定測試次數,MTR指令將會無窮無盡的持續下去,除非你輸入 Ctrl + c 或 q 才會退出畫面。
如果帶入參數 -c XXX 把XXX 替換成次數,測試次數達到後將會自動退出。例如 -c 5 就會測試五次後退出,帶參數通常用在產報表上。
mtr -c 5 www.cjkuo.net
My traceroute [v0.93]
XXXX (XXX.227.XXX.120) 2021-03-06T00:47:35+0800
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
h254.s98.ts.hinet.net 0.0% 5 1.2 1.5 1.1 1.8 0.3
tpe4-3301.hinet.net 0.0% 5 1.0 1.7 1.0 2.5 0.6
220-128-3-206.HINET-IP.hinet.net 0.0% 5 2.1 1.8 1.5 2.1 0.3
tpdt-3011.hinet.net 0.0% 5 4.2 3.7 2.0 4.9 1.2
r4209-s2.hinet.net 0.0% 5 1.7 1.7 1.5 2.0 0.2
210-242-214-113.HINET-IP.hinet.net 0.0% 5 1.9 1.8 1.4 2.5 0.4
h217-192-72-155.seed.net.tw 0.0% 5 2.1 2.1 1.8 2.7 0.4
h150-192-72-155.seed.net.tw 0.0% 5 2.5 5.5 2.3 17.7 6.8
h162-192-72-108.seed.net.tw 0.0% 5 35.1 35.4 35.1 35.9 0.3
45.60.244.58 0.0% 5 41.5 38.9 35.8 41.5 2.2
抵達五次後將會自動暫停。
用報表模式顯示
如果需要給其他人做分析可加入參數 -r 來顯示單一輸出,不是用互動畫面顯示。
mtr -c 5 -r www.cjkuo.net
Start: 2021-03-07T20:23:34+0800
HOST: XXXX Loss% Snt Last Avg Best Wrst StDev
1.|-- h254.s98.ts.hinet.net 0.0% 5 1.5 1.5 1.2 1.9 0.3
2.|-- tpe4-3302.hinet.net 0.0% 5 1.4 5.3 1.1 20.3 8.4
3.|-- 220-128-4-134.HINET-IP.hi 0.0% 5 1.6 1.8 1.6 2.3 0.3
4.|-- tpdt-3012.hinet.net 0.0% 5 1.8 2.9 1.4 5.5 1.7
5.|-- r4209-s2.hinet.net 0.0% 5 1.8 8.7 1.7 34.0 14.2
6.|-- 210-242-214-113.HINET-IP. 0.0% 5 2.1 1.9 1.5 2.1 0.2
7.|-- h54-192-72-107.seed.net.t 0.0% 5 2.1 2.1 1.6 2.5 0.4
8.|-- h221-192-72-155.seed.net. 0.0% 5 1.8 2.7 1.8 4.3 1.0
9.|-- h150-192-72-155.seed.net. 0.0% 5 2.1 2.2 2.0 2.7 0.3
10.|-- h162-192-72-108.seed.net. 0.0% 5 32.2 32.3 32.0 32.6 0.2
11.|-- 45.60.244.58 0.0% 5 32.9 32.7 32.4 33.0 0.2
亦可使用輸出導向將內容存入檔案中。
mtr -c 5 -r www.cjkuo.net > log.txt