日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

这款网络排查工具,堪称神器!

發布時間:2024/9/15 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 这款网络排查工具,堪称神器! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:蘇欣

鏈接:https://cloud.tencent.com/developer/article/1491610

常用的 ping,tracert,nslookup 一般用來判斷主機的網絡連通性,其實 Linux 下有一個更好用的網絡聯通性判斷工具,它可以結合ping nslookup tracert 來判斷網絡的相關特性,這個命令就是 mtr。mtr 全稱 my traceroute,是一個把 ping 和 traceroute 合并到一個程序的網絡診斷工具。

traceroute默認使用UDP數據包探測,而mtr默認使用ICMP報文探測,ICMP在某些路由節點的優先級要比其他數據包低,所以測試得到的數據可能低于實際情況。

安裝方法

1.Windows系統可以直接在https://cdn.ipip.net/17mon/besttrace.exe下載BestTrace工具并安裝。也可以在https://github.com/oott123/WinMTR/releases GitHub上下載MTR專用工具,該工具為免安裝,下載后可以直接使用。

2.Linux可以直接運行命令進行安裝。

#?Debian/Ubuntu?系統 apt?install?mtr#?RedHat/CentOS?系統 yum?install?mtr

3.Apple客戶端可以在App store搜索Best NetTools下載安裝

4.Android客戶端:可以在Google Play上下載TracePing,但是由于國內Google Play無法訪問,筆者自行下載下來,可以直接訪問 https://dwz.cn/KCdNPH4c 下載TracePing。

使用

MTR使用非常簡單,查看本機到 qq.com 的路由以及連接情況直接運行如下命令:

mtr?qq.com

具體輸出的參數含義為:

  • 第一列是IP地址

  • 丟包率:Loss

  • 已發送的包數:Snt

  • 最后一個包的延時:Last

  • 平均延時:Avg

  • 最低延時:Best

  • 最差延時:Wrst

  • 方差(穩定性):StDev

參數說明

  • -r or --report

使用 mtr -r qq.com 來打印報告,如果不使用 -r or --report 參數 mtr 會不斷動態運行。使用 report 選項, mtr 會向 qq.com 主機發送 10 個 ICMP 包,然后直接輸出結果。通常情況下 mtr 需要幾秒鐘時間來輸出報告。mtr 報告由一系列跳數組成,每一跳意味著數據包通過節點或者路由器來達到目的主機。
一般情況下 mtr 前幾跳都是本地 ISP,后幾跳屬于服務商比如 騰訊數據中心,中間跳數則是中間節點,如果發現前幾跳異常,需要聯系本地 ISP 服務提供上,相反如果后幾跳出現問題,則需要聯系服務提供商,中間幾跳出現問題,則需要聯系運營商進行處理

默認使用 -r 參數來生成報告,只會發送10個數據包,如果想要自定義數據包數量,可以使用 -c 參數

  • -s or --packetsize

使用 -s 來指定ping數據包的大小

mtr?-s?100?qq.com

100 bytes 數據包會用來發送,測試,如果設置為負數,則每一次發送的數據包的大小都會是一個隨機數。

  • -c

指定發送數量

mtr?-c?100?qq.com
  • -n

不進行主機解釋

使用 -n 選項來讓 mtr 只輸出 IP,而不對主機 host name 進行解釋

mtr?-n?qq.com

MTR結果分析

當我們分析 MTR 報告時候,最好找出每一跳的任何問題。除了可以查看兩個服務器之間的路徑之外,MTR 在它的七列數據中提供了很多有價值的數據統計報告。

Loss% 列展示了數據包在每一跳的丟失率。Snt 列記錄的多少個數據包被送出。

使用 –report 參數默認會送出10個數據包。如果使用 –report-cycles=[number-of-packets] 選項,MTR 就會按照 [number-of-packets] 指定的數量發出 ICMP 數據包。

Last, Avg, Best 和 Wrst 列都標識數據包往返的時間,使用的是毫秒( ms )單位表示。Last 表示最后一個數據包所用的時間, Avg 表示評價時間, Best 和 Wrst 表示最小和最大時間。在大多數情況下,平均時間( Avg)列需要我們特別注意。

最后一列 StDev 提供了數據包在每個主機的標準偏差。如果標準偏差越高,說明數據包在這個節點的延時越不相同。標準偏差會讓您了解到平均延時是否是真的延時時間的中心點,或者測量數據受到某些問題的干擾。

例如,如果標準偏差很大,說明數據包的延遲是不確定的。一些數據包延遲很小(例如:25ms),另一些數據包延遲很大(例如:350ms)。當10個數據包全部發出后,得到的平均延遲可能是正常的,但是平均延遲是不能很好的反應實際情況的。如果標準偏差很高,使用最好和最壞的延遲來確定平均延遲是一個較好的方案。

在大多數情況下,您可以把 MTR 的輸出分成三大塊。根據配置,第二或第三跳一般都是您的本地 ISP,倒數第二或第三跳一般為您目的主機的ISP。中間的節點是數據包經過的路由器。

當分析 MTR 的輸出時,您需要注意兩點:loss 和 latency。

網絡丟包

如果在任何一跳上看到 loss 的百分比,這就說明這一跳上可能有問題了。當然,很多服務提供商人為限制 ICMP 發送的速率,這也會導致此問題。那么如何才能指定是人為的限制 ICMP 傳輸 還是確定有丟包的現象?此時需要查看下一跳。如果下一跳沒有丟包現象,說明上一條是人為限制的。如下示例:

人為限制MTR丟包

在此例中,第4跳發生了丟包現象,但是接下來幾條都沒任何丟包現象,說明第二跳的丟包是人為限制的。如果在接下來的幾條中都有丟包,那就可能是第二跳有問題了。請記住,ICMP 包的速率限制和丟失可能會同時發生。

MTR丟包截圖

從上面的圖中,您可以看從第13跳和第17跳都有 10% 的丟包率,從接下來的幾跳都有丟包現象,但是最后15,16跳都是100%的丟包率,我們可以猜測到100%的丟包率除了網絡糟糕的原因之前還有人為限制 ICMP。所以,當我們看到不同的丟包率時,通常要以最后幾跳為準。

還有很多時候問題是在數據包返回途中發生的。數據包可以成功的到達目的主機,但是返回過程中遇到“困難”了。所以,當問題發生后,我們通常需要收集反方向的 MTR 報告。

此外,互聯網設施的維護或短暫的網絡擁擠可能會帶來短暫的丟包率,當出現短暫的10%丟包率時候,不必擔心,應用層的程序會彌補這點損失。

網絡延遲

除了可以通過MTR報告查看丟包率,我們也還可以看到本地到目的之間的時延。因為是不通的位置,延遲通常會隨著條數的增加而增加。所以,延遲通常取決于節點之間的物理距離和線路質量。

MTR查看網絡延遲

從上面的MTR報告截圖中,我們可以看到從第11跳到12跳的延遲猛增,直接導致了后面的延遲也很大,一般有可能是11跳到12跳屬于不通地域,物理距離導致時延猛增,也有可能是第12條的路由器配置不當,或者是線路擁塞。需要具體問題進行具體的分析。

然而,高延遲并不一定意味著當前路由器有問題。延遲很大的原因也有可能是在返回過程中引發的。從這份報告的截圖看不到返回的路徑,返回的路徑可能是完全不同的線路,所以一般需要進行雙向MTR測試。

注:ICMP 速率限制也可能會增加延遲,但是一般可以查看最后一條的時間延遲來判斷是否是上述情況。

根據MTR結果解決網絡問題

MTR 報告顯示的路由問題大都是暫時性的。很多問題在24小時內都被解決了。大多數情況下,如果您發現了路由問題,ISP 提供商已經監視到并且正在解決中了。當您經歷網絡問題后,可以選擇提醒您的 ISP 提供商。當聯系您的提供商時,需要發送一下 MTR 報告和相關的數據。沒有有用的數據,提供商是沒有辦法去解決問題的。

然而大多數情況下,路由問題是比較少見的。比較常見的是因為物理距離太長,或者上網高峰,導致網絡變的很慢。尤其是跨越大西洋和太平洋的時候,網絡有時候會變的很慢。這種情況下,建議就近接入客戶的節點。

- End - 由于微信平臺算法改版,公號內容將不再以時間排序展示,如果大家想第一時間看到我們的推送,強烈建議星標我們和給我們多點點【在看】。星標具體步驟為:(1)點擊頁面最上方“小詹學Python”,進入公眾號主頁。 (2)點擊右上角的小點點,在彈出頁面點擊“設為星標”,就可以啦。 感謝支持,比心。

總結

以上是生活随笔為你收集整理的这款网络排查工具,堪称神器!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。