1. 程式人生 > >MTR 網絡診斷工具

MTR 網絡診斷工具

模式 請求 ipv4 任務 丟包 clas csv con 常用

MTR 網絡診斷工具

為什麽會了解到MTR這個工具

今天線上業務出現了大量語音合成問題,本以為是服務出問題,但是經過排查發現服務一切正常就是合成的特別慢,在TTS語音合成服務那邊也沒有大量的任務堆積,這邊也一直再發送需要合成的數據過去,這種情況只能說明在傳輸需要合成的語句的時候出現了問題,這時候第一個排查的就是網絡問題,可能是網絡大量丟包造成的數據傳輸問題,於是開始使用ping命令查看,發現確實有丟包,但是通過ping又沒有辦法發現是哪個地方丟包,這個時候聰明的你肯定想到我們用traceroute命令來檢測數據包傳輸到哪個地方不傳了,但是我發現這個並不能說明什麽,因為丟包不是完全丟,而是丟一部分,這個時候想有沒有一個命令是ping

traceroute的合體,於是google了一下,發現mtr剛好滿足我的需求,於是使用記錄並分享.

MTR是什麽

剛才我也說了MTRpingtraceroute的合體.
運行Mtr指定一個IP地址,Mtr會查看運行Mtr的主機和指定目標主機之間的網絡節點。在確定目標主機和本地主機間每個網絡節點的IP地址後,它向每個網絡節點發送一個ICMP ECHO請求,以確定到每個節點的鏈路的質量。就像這樣它會打印到每個節點的運行統計信息。他也可以測試UDP和TCP

安裝MTR

1) CentOS/RedHat安裝

yum -y install mtr

2) Ubuntu安裝

apt-get install mtr

3) windows 安裝

自行去下載:http://winmtr.net/download-winmtr/

Linux下使用

# mtr  --help
usage: mtr [-BfhvrwctglxspQomniuT46] [--help] [--version] [--report]
        [--report-wide] [--report-cycles=COUNT] [--curses] [--gtk]
        [--csv|-C] [--raw] [--xml] [--split] [--mpls] [--no-dns] [--show-ips]
        [--address interface] [--filename=FILE|-F]
        [--ipinfo=item_no|-y item_no]
        [--aslookup|-z]
        [--psize=bytes/-s bytes] [--order fields]
        [--report-wide|-w] [--inet] [--inet6] [--max-ttl=NUM] [--first-ttl=NUM]
        [--bitpattern=NUM] [--tos=NUM] [--udp] [--tcp] [--port=PORT] [--timeout=SECONDS]
        [--interval=SECONDS] HOSTNAME

常用參數解釋:

  • -s 用來指定ping數據包的大小
  • -n no-dns不對IP地址做域名反解析
  • -a 來設置發送數據包的IP地址,這個用於主機有多個IP時。
  • -i 使用這個參數來設置ICMP返回之間的要求默認是1秒
  • -c 指定發送多少個數據包
  • -4 IPv4
  • -6 IPv6
    在MTR運行過程中,可以輸入快捷字母切換模式例如:
  • ?或 h:顯示幫助菜單。
  • d:切換顯示模式。
  • n:切換啟用或禁用 DNS 域名解析。
  • u:切換使用 ICMP或 UDP 數據包進行探測。

測試使用

#mtr www.baidu.com
                                                 My traceroute  [v0.85]
TEST-000001 (0.0.0.0)                                  Tue Jan 22 08:57:30 2019
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. ???
 2. 11.220.128.65                     0.0%     6    2.6   3.2   2.4   6.2   1.3
 3. 11.220.128.53                     0.0%     6   52.9  46.4  13.5  55.0  16.2
 4. 11.182.220.10                     0.0%     6    0.9   1.5   0.9   3.6   0.8
 5. 140.205.27.202                    0.0%     6    1.8   1.5   1.4   1.8   0.0
 6. 116.251.105.237                   0.0%     6    2.0   4.2   1.8  11.4   3.9
 7. 122.224.214.73                    0.0%     6    1.7   2.0   1.7   2.4   0.0
 8. ???
 9. 115.239.209.38                    0.0%     6    2.6   2.7   2.6   2.9   0.0
10. ???
11. ???
12. 115.239.210.27                    0.0%     6    2.5   2.5   2.4   2.5   0.0
  • Host: 顯示經過每一跳的地址
  • LOOS%:到此此節點數據包丟包率,顯示每個節點的丟包率
  • Snt: 發送包的數量
  • Last: 顯示的最近一次的返回延時
  • Avg: 發送ping包的平均延遲
  • Best: 最低延遲時間
  • Wrst: 最大延遲時間
  • StDev:標準偏差

MTR 網絡診斷工具