MTR 是一個簡單的跨平台命令行網絡診斷工具,將常用的 traceroute 和 ping 程式的功能結合為一個工具。與 traceroute 類似,mtr 會列印有關封包從運行 mtr 的主機到用戶指定目的地主機的路徑信息。
閱讀更多: 如何在 Linux 中審核網絡性能、安全性和進行故障排除
然而,mtr 顯示的信息比 traceroute 更豐富:它確定到遠程機器的路徑,同時列印出所有網絡跳躍的響應百分比以及響應時間,這些跳躍位於本地系統和遠程機器之間的互聯網路由之間。
MTR 如何工作?
一旦運行 mtr,它會探測您指定的本地系統和遠程主機之間的網絡連接。它首先確定主機之間每個網絡跳躍(橋接器、路由器和網關等)的地址,然後 ping(向每個機器發送一系列 ICMP ECHO 請求)以確定到每台機器的連接質量。
在此操作過程中,mtr 會實時輸出有關每台機器的一些有用統計信息,默認情況下更新。
這個工具預先安裝在大多數Linux發行版中,一旦您通過以下解釋的10個mtr命令示例進行Linux網絡診斷,就會變得相當容易使用。
如果mtr未安裝,您可以按照所示使用您的默認套件管理器在您的相應Linux發行版上安裝它。
$ sudo apt install mtr $ sudo yum install mtr $ sudo dnf install mtr
10個MTR網絡診斷工具使用示例
1. 使用mtr的最簡單示例是將遠程機器的域名或IP地址作為參數提供,例如google.com或216.58.223.78。此命令將向您顯示實時更新的路由跟踪報告,直到您退出程序(通過按下q
或Ctrl + C
)。
$ mtr google.com OR $ mtr 216.58.223.78 Start: Thu Jun 28 12:10:13 2018 HOST: TecMint Loss% Snt Last Avg Best Wrst StDev 1.|-- 192.168.0.1 0.0% 5 0.3 0.3 0.3 0.4 0.0 2.|-- 5.5.5.211 0.0% 5 0.7 0.9 0.7 1.3 0.0 3.|-- 209.snat-111-91-120.hns.n 80.0% 5 7.1 7.1 7.1 7.1 0.0 4.|-- 72.14.194.226 0.0% 5 1.9 2.9 1.9 4.4 1.1 5.|-- 108.170.248.161 0.0% 5 2.9 3.5 2.0 4.3 0.7 6.|-- 216.239.62.237 0.0% 5 3.0 6.2 2.9 18.3 6.7 7.|-- bom05s12-in-f14.1e100.net 0.0% 5 2.1 2.4 2.0 3.8 0.5
2. 您可以強制mtr顯示數字IP地址而不是主機名(通常FQDNs – 完全限定域名),使用所示的-n
標誌。
$ mtr -n google.com Start: Thu Jun 28 12:12:58 2018 HOST: TecMint Loss% Snt Last Avg Best Wrst StDev 1.|-- 192.168.0.1 0.0% 5 0.3 0.3 0.3 0.4 0.0 2.|-- 5.5.5.211 0.0% 5 0.9 0.9 0.8 1.1 0.0 3.|-- ??? 100.0 5 0.0 0.0 0.0 0.0 0.0 4.|-- 72.14.194.226 0.0% 5 2.0 2.0 1.9 2.0 0.0 5.|-- 108.170.248.161 0.0% 5 2.3 2.3 2.2 2.4 0.0 6.|-- 216.239.62.237 0.0% 5 3.0 3.2 3.0 3.3 0.0 7.|-- 172.217.160.174 0.0% 5 3.7 3.6 2.0 5.3 1.4
3. 如果您希望mtr顯示主機名以及數字IP號碼,請使用所示的-b
標誌。
$ mtr -b google.com Start: Thu Jun 28 12:14:36 2018 HOST: TecMint Loss% Snt Last Avg Best Wrst StDev 1.|-- 192.168.0.1 0.0% 5 0.3 0.3 0.3 0.4 0.0 2.|-- 5.5.5.211 0.0% 5 0.7 0.8 0.6 1.0 0.0 3.|-- 209.snat-111-91-120.hns.n 0.0% 5 1.4 1.6 1.3 2.1 0.0 4.|-- 72.14.194.226 0.0% 5 1.8 2.1 1.8 2.6 0.0 5.|-- 108.170.248.209 0.0% 5 2.0 1.9 1.8 2.0 0.0 6.|-- 216.239.56.115 0.0% 5 2.4 2.7 2.4 2.9 0.0 7.|-- bom07s15-in-f14.1e100.net 0.0% 5 3.7 2.2 1.7 3.7 0.9
4. 要限制ping的次數到特定值並在這些ping之後退出mtr,請使用-c
標誌。如果您從Snt列觀察,一旦達到指定的ping次數,即時更新停止並退出程序。
$ mtr -c5 google.com
5. 使用-r
標誌可以將其設置為報告模式,這是一個有用的選項,用於生成有關網絡質量的統計信息。您可以將此選項與-c
選項一起使用,以指定ping的次數。由於統計信息被打印到標準輸出,您可以將其重定向到文件以供以後分析。
$ mtr -r -c 5 google.com >mtr-report
-w
標誌啟用寬報告模式,以獲得更清晰的輸出。
$ mtr -rw -c 5 google.com >mtr-report
6. 您還可以按照您希望的方式重新排列輸出字段,這是通過-o
標誌實現的(請參見mtr手冊頁面以瞭解字段標籤的含義)。
$ mtr -o "LSDR NBAW JMXI" 216.58.223.78

7. ICMP ECHO請求之間的默認間隔是一秒,您可以通過使用-i
標誌來更改值來指定ICMP ECHO請求之間的間隔。
$ mtr -i 2 google.com
8. 您可以使用TCP SYN包或UDP數據報文來替代默認的ICMP ECHO請求,如下所示。
$ mtr --tcp test.com OR $ mtr --udp test.com
9. 要指定在本地系統和遠程機器之間探查的最大跳數(默認值為30),請使用-m
標誌。
$ mtr -m 35 216.58.223.78
10. 在探查網絡質量時,您可以使用-s
標誌來設置以字節為單位的包大小。
$ mtr -r -s PACKETSIZE -c 5 google.com >mtr-report
有了這些示例,您應該可以使用mtr,請參閱手冊頁面以獲取更多使用選項。
$ man mtr
同時,請查看這些有關Linux網絡配置和故障排除的有用指南:
目前就這樣了!MTR 是一個簡單、易於使用且跨平台的網絡診斷工具。在本指南中,我們已經解釋了 Linux 中的 10 mtr 命令 實例。如果您有任何問題或想與我們分享想法,請使用下面的評論表單。
Source:
https://www.tecmint.com/mtr-a-network-diagnostic-tool-for-linux/