然而,Ping的一些參數進行組合之后,可以得到非常有意思的應用哦。比如Ping的TTL,每當數據包經過一個路由器時它就會減1,然后轉發給下個網絡節點;當TTL變為0時,數據包停止繼續轉發并返回“ICMP Time Exceeded”的消息。
利用上述原理,通過控制不同的TLL的數值,就可以獲取目標主機與當前主機之間的網絡節點數量和數據包轉發的路徑了(簡稱路由跟蹤)。這樣的工具叫做TraceRoute,Windows和Linux都有對應的命令行。
最近看到這個工具的描述原理之后,就想著自己也通過Ping的組合,來實現這個工具。當然,這個是圖形用戶界面的,用于滿足更多的交互應用。
◇應用場景不得不說,TraceRoute的應用其實還是廣闊的。
●如果你是技術人員,當你的系統在通信過程中發生故障時,可以通過這個工具,尋找到網絡數據包停止的位置,或者協助找出網絡響應速度過慢的節點,然后做進一步的驗證和處理。
●如果你擁有Web服務器,隨著訪問量的增加,你肯定很想知道,用戶們是否都能順利連接,以及連接效率如何。這些數據,對你的服務擴展、ISP選擇等等,都能提供有價值的參考。
●如果你做著類似安防的工作,對數據安全比較敏感,那么這個工具也可以幫忙了。比方原本設計的網絡,只有A到D四個網絡節點,忽然某一天C和D多了一個節點或者C變了(比如該節點偵聽記錄數據然后繼續轉發數據包),那么可以進行簡單有效地跟蹤此類ARP攻擊。
●如果你是網管,那么對于設置靜態路由、多網段問題跟蹤等,都能協助到你的工作。
TraceRoute的應用場景還有很多很多,主要看不同的人用在什么具體的場景中。總的來說,工具提供的就是,獲取當前機器與目標主機之間,通過的網絡節點路徑,以及連接速度的數據。
◇說明“目標”文本框里,可以輸入IP、域名、機器名的數據。輸入的歷史數據,會存儲在下拉列表里,當你下次輸入內容時,軟件也提供“自動完成”喲。
“詳細參數”面板,提供更加詳細的數據。比如,獲取的最大路由數量,超過這個數量則停止繼續獲?。怀瑫r時間,當超過這個數值仍然沒返回數據時,則認為網絡超時;是否獲取網絡名稱,如果你不關注網絡名稱,則可以取消這個勾進而加快整體的速度。
您的評論需要經過審核才能顯示
有用
有用
有用