inMTR是一個網絡診斷工具,它結合了traceroute和ping的功能,可以幫助用戶檢測網絡連接問題和確定數據包在網絡中的路徑。
WinMTR通過發送ICMP(Internet Control Message Protocol)回顯請求來測量到目標主機的延遲和丟包情況。它會顯示每個跳數(中間路由節點)的IP地址、主機名、平均延遲、丟包率等信息,以及整個路徑的統計數據。
通過使用WinMTR,用戶可以追蹤網絡連接中存在的延遲或丟包問題,并確定是否存在網絡瓶頸或故障點。這對于網絡管理員和普通用戶都非常有用,可以幫助他們診斷和解決網絡連接問題。
WinMTR的優點包括:
用戶使用WinMTR可以快速定位網絡連接問題的根源,例如高延遲、丟包或不穩定的連接。這樣可以幫助用戶與互聯網服務提供商或網絡管理員交流,并采取相應的措施來改善網絡連接質量。
WinMTR的底層原理是基于兩個網絡診斷工具:traceroute和ping。
WinMTR結合了這兩個工具的功能,它首先執行Traceroute操作來確定數據包的路徑,并在每個跳數上執行Ping測試以測量延遲和丟包率。WinMTR持續地發送ICMP分組,并在每個跳數上計算平均延遲和丟包率等統計信息。用戶可以通過查看WinMTR的輸出結果來獲得整個路徑的詳細信息,并評估網絡連接的質量。
WinMTR還提供了一些額外的功能,如定期刷新跟蹤結果、導出數據、設置跳數限制和顯示主機名等。這些功能使得WinMTR成為一個方便而強大的網絡診斷工具,可用于排除網絡連接問題和優化網絡性能。
WinMTR的架構是相對簡單的,它主要由兩部分組成:界面部分和后臺數據處理部分。
WinMTR的架構比較簡單直觀,用戶通過界面部分輸入目標主機地址并啟動跟蹤,后臺數據處理部分負責執行網絡診斷操作并更新界面顯示的結果。這樣的架構使得WinMTR易于使用,并能夠快速地提供網絡連接質量的診斷信息。
WinMTR(Redux)v1.00 最新版 如下:
增加了對 IPv6 的支持
移除了對 Windows 2000 的支持(可以很容易地重新添加)
在停止或正在停止狀態下仍然可以查看跳數信息/屬性
在開始 ping 下一個跳數之前增加了約30毫秒的延遲(應該提高性能) ! 修復了跟蹤/跳數列表凍結的問題(其中之一是使用 _beginthread 而不是 _beginthreadex 并等待其句柄...)
主題支持(現在使用操作系統的默認主題而不是 Win98) ! 其他較小或關鍵的修復(如泄漏),WinMTR(Redux) WinMTR(Redux)是 Appnor 的 WinMTR(sourceforge)的一個擴展分支,支持 IPv6 和其他不同的增強功能和錯誤修復
下載(二進制文件)
查看所有可用的版本
與 WinMTR 0.98 的區別
[x] - 移除了對 Windows 2000 的支持
[x] + 增加了對 IPv6 的支持
[x] + 在停止狀態下可點擊條目(為什么以前不可能呢?)
[x] * 為每個跳數增加了約30毫秒的起始延遲(在第30個跳數查詢之前的870毫秒)
這應該提高性能并減少網絡負載
[x] ! 修復了跟蹤列表凍結的問題(跟蹤單個跳數時列表沒有更新)
[x] * 主題支持(更華麗的外觀:P)
[ ] + 記住窗口大小
[ ] ! host 輸入時 CTRL+A 可以工作
[ ] + 主機歷史記錄:按 del 鍵或右鍵將刪除所選條目
[ ] * 新圖標
要求
Windows XP+(可以根據請求添加對 Windows 2000 的支持,但 IPv6 將無法工作)
Microsoft Visual C++ 2010 可再發行組件(32位 | 64位)或使用靜態構建
關于我/為什么決定創建這個分支
實際上沒有太多可說的,我已經使用 IPv6 幾年了,多虧了 SixXS,WinMTR 不能處理 IPv6 一直讓我很煩惱...最后我的 ISP 進行了某種 IPv6 的測試。這就是我想要比較的內容:原生 IPv6 和 SixXS 之間的長期跟蹤路由,就像 WinMTR 提供的那樣。
由于沒有帶有 IPv6 的 WinMTR 構建,我決定自己動手 :) 結果可以在這里看到 :P
(IPv6 花了一天時間,另外兩天時間用于修復其他問題和打磨)
如果你正在尋找一種替代方案(不適用于長期跟蹤),可以試試 vTrace。這是一個非常有趣的軟件 ;)(不僅僅是跟蹤路由)
學網絡,就在IE-LAB
國內高端網絡工程師培養基地
作為網工,我們每天最常用的工具之一就是簡單又好用的Ping命令了,它能用來檢查網絡的連通性、延遲、是否丟包等常見的網絡問題,有事沒事Ping一下!
“為什么不通了?為什么又通了??以及這都能通???”幾乎是我們網工每天都要面對的靈魂拷問。而關于Ping命令,你真的了解并掌握Ping了嗎?
今天我們就來帶大家了解各種關于Ping的一些其他用法。
Ping的基本操作
在windows下ping命令缺省發送4個ICMP包,其中我們常見的三個值分別是:
bytes(字節):指的是我們用來測試連通性的ICMP包大小
time(時間):這個時間指的是目標主機的響應時間
TTL(Time to Live):TTL在windows下默認設置為128,最大可以設置為255,每經過一跳路由減一,當TTL歸零時數據包將會被丟棄。
在實際使用中,根據需要我們可能會希望改變這些值讓ping用起來更加的得心應手,于是出現了下面這些命令參數:
1) 讓我們來多發幾個包(ping -n ping -t)
ping命令在windows環境下默認只發送4個ICMP包,有時候我們想要測試一下一段時間內會不會出現丟包的情況,總不能一次一次的輸入命令吧,又或者我們想知道主機的平均響應時間,只用4個數據包得出的數據是不是不夠可靠呢?于是我們可以使用-n命令來指定我們要發送的數據包數量
可以看到ping根據我們想要的效果發送了10個數據包,并且會自動幫你統計一些數據,如果我們想觀察的更久一點,可以使用-t參數讓它一直ping,需要停止的話按ctrl+c就可以結束了。
2) 修改數據包大小以及TTL(ping -l ping -i)
每天與網絡接觸的我們什么情況都有可能遇到,有的時候需要大一點的數據包來測試網絡,有的時候發現默認的TTL128不夠用想要大一點,有的時候又為了測試特殊情況想要TTL小一點,這時候就該-l和-i這兩個參數上場了,其中數據包大小最大為65500字節,ttl范圍則是1-255。
3) 根據域名解析ip以及根據ip解析主機名(ping -a)
ping命令是可以直接ping域名的,這可以幫助我們檢查對某一域名是否能成功的進行解析并訪問
但有時我們也可以通過-a參數去檢查ip地址,通常會看到其主機名,有時也能反向解析出域名
4) 利用ping命令追蹤路由(ping -r)
在對ping命令加上-r的參數后可以顯示出追蹤到的路由
相對于tracert好處是帶有響應時間等參數,缺點是最大只支持9跳,在公網使用的話效果并不理想
5) 利用for語句避免重復勞動
想一下假如要測試某個部門幾百幾千個節點的連通性,一個一個ping簡直是枯燥無味又繁重,于是我們可以這樣操作
其中括號內的1,1,255代表從1開始,每次增加1,一直加到255,我們可以根據實際情況更加靈活一點,比如我們想測試偶數ip地址那可以把括號內寫成(2,2,254),是不是非常方便好用。
Ping的常見故障提示
1)request time out這種最為常見,當ping在默認時間內沒有收到回復就會報出time out通常可能是沒有路由或者沒有回包路由造成的,當然諸如一些二層的故障也可能造成這一現象,所以還要根據具體情況進行排查
2)ttl expired in transit這種情況一般是在傳輸過程中ttl耗盡導致的,可以通過-i參數增大ttl值后再次進行測試,并考慮網絡中是否存在路由環路
3)destination unreachable目標不可達,這種情況也比較常見,一般是路徑中某臺設備沒有路由或者做了相關的策略,碰到這種回顯只需要tracert一下目標地址看看追蹤路由在哪里斷了,一般就能定位出故障所在
以上是常見的幾種回顯,當然ping的回顯還有很多,這里整理出來放在下面的表格里供大家參考:
2022,IE-LAB網絡實驗室【網工知識角】技術分享專題板塊,強勢回歸!
IE-LAB有好師資,全面的學習平臺和完善的教學服務,我們培養了一批又一批的CCIE學員,加入我們,成就未來!