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