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