現(xiàn)在網(wǎng)絡(luò)四通八達(dá),網(wǎng)線光纖基站衛(wèi)星,只要運(yùn)營商能收費(fèi)的地方,就有網(wǎng)絡(luò),覆蓋了全世界所有的區(qū)域。徹底改變了以前通訊基本靠吼的情況。那么寬廣的網(wǎng)絡(luò)世界,超過100米就得需要中繼放大信號的網(wǎng)線,即使現(xiàn)在的光纖線纜距離也是有限。全世界那么大,有沒有統(tǒng)計(jì)過,在有限的IPV4里,全球有多少的路由器,沒有答案。
那我們訪問一個網(wǎng)站的時候,從手下的主機(jī)到底經(jīng)過了多少個路由器?才能達(dá)到目的地服務(wù)器。
Windows有個網(wǎng)絡(luò)命令可以實(shí)現(xiàn),它就是Tracert。
Tracert(跟蹤路由)是路由跟蹤實(shí)用程序,用于確定 IP 數(shù)據(jù)包訪問目標(biāo)所采取的路徑。Tracert 命令用 IP 生存時間 (TTL) 字段和 ICMP 錯誤消息來確定從一個主機(jī)到網(wǎng)絡(luò)上其他主機(jī)的路由。
命令參數(shù)如圖
Tracert命令對于了解包括解決大型網(wǎng)絡(luò)非常使用,它能摸索所處大型局域網(wǎng)里網(wǎng)絡(luò)拓?fù)浼軜?gòu),除了一些禁止ping的路由器(一般出口路由器或者防火墻上)。
Tracert命令功能同Ping類似,但它所獲得的信息要比Ping命令詳細(xì)得多,它把數(shù)據(jù)包所走的全部路徑、節(jié)點(diǎn)的IP以及花費(fèi)的時間都顯示出來。該命令比較適用于大型網(wǎng)絡(luò)。
Tracert 先發(fā)送 TTL 為 1 的回應(yīng)數(shù)據(jù)包,當(dāng)數(shù)據(jù)包上的 TTL在路由器收到后TTL自動減1 ,一旦某個服務(wù)器將TTL減1后,等于了0,路由器應(yīng)該將“ICMP Time Exceeded”的消息發(fā)回源計(jì)算機(jī),源計(jì)算機(jī)就根據(jù)收到的信息判斷達(dá)到的路由器和所用時間。下次再次發(fā)送數(shù)據(jù)包時,將TTL遞增 1,繼續(xù)上述測試,直到目標(biāo)響應(yīng)或 TTL 達(dá)到最大值,從而確定路由。通過檢查中間路由器發(fā)回的“ICMP 已超時”的消息確定路由。某些路由器不經(jīng)詢問直接丟棄 TTL過期的數(shù)據(jù)包,這在 Tracert 實(shí)用程序中看不到,我們會顯示請求超時的請求信息。
命令使用案例
使用ping命令測試www.qq.com服務(wù)器設(shè)置的TTL初始值為52,如下圖
下圖所示,我們測試到www.qq.com的路經(jīng)過了16道路由,結(jié)合上圖ping命令結(jié)果,得知小編在ping www.qq.com時候得到TTL=52。又由下圖得知經(jīng)過16道路由后到達(dá)我們客戶機(jī),52+16=68,說明www.qq.com設(shè)置的TTL初始值為68。下圖中請求超時的反饋信息是因?yàn)槁酚善鲗?span lang="EN-US">ping命令做了處理,關(guān)閉了ping的響應(yīng),所以我們收不到發(fā)給他的反饋信息。
總結(jié)
Tracert命令適合大型網(wǎng)絡(luò),能測算出當(dāng)前主機(jī)到目的主機(jī)之間經(jīng)過了多少個路由,并詳細(xì)記錄所經(jīng)過所有路由的地址。