Tracert 工作原理
通過向目標發送不同 IP 存留時間 (TTL) 值的“網際網路控制訊息通訊協定 (ICMP) (ICMP)”回應資料包,Tracert 診斷程式確定到目標所採取的路由。要求路徑上的每個路由器在轉寄資料包之前至少將資料包上的 TTL 遞減 1。資料包上的 TTL 減為 0 時,路由器應該將“ICMP 已逾時”的訊息發回源系統。 Tracert 先發送 TTL 為 1 的回應資料包,並在隨後的每次發送過程將 TTL 遞增 1,直到目標響應或 TTL 達到最大值,從而確定路由。通過檢查中間路由器發回的“ICMP 已逾時”的訊息確定路由。某些路由器不經詢問直接丟棄 TTL 到期的資料包,這在 Tracert 公用程式中看不到。
[編輯本段]
Tracert 命令
按順序列印出返回“ICMP 已逾時”訊息的路徑中的近端路由器介面列表。如果使用 -d 選項,則 Tracert 公用程式不在每個 IP 位址上查詢 DNS。 在下例中,資料包必須通過兩個路由器(10.0.0.1 和 192.168.0.1)才能到達主機 172.16.0.99。主機的預設閘道是 10.0.0.1,192.168.0.0 網路上的路由器的 IP 位址是 192.168.0.1。 C:/>tracert 172.16.0.99 -d Tracing route to 172.16.0.99 over a maximum of 30 hops 1 2s 3s 2s 10,0.0,1 2 75 ms 83 ms 88 ms 192.168.0.1 3 73 ms 79 ms 93 ms 172.16.0.99 Trace complete.
[編輯本段]
用 tracert 解決問題
可以使用 tracert 命令確定資料包在網路上的停止位置。下例中,預設閘道確定 192.168.10.99 主機沒有有效路徑。這可能是路由器配置的問題,或者是 192.168.10.0 網路不存在(錯誤的 IP 位址)。 C:/>tracert 192.168.10.99 Tracing route to 192.168.10.99 over a maximum of 30 hops 1 10.0.0.1 reports:Destination net unreachable. Trace complete. Tracert 公用程式對於解決大網路問題非常有用,此時可以採取幾條路徑到達同一個點。
[編輯本段]
Tracert 命令列選項
Tracert 命令支援多種選項,如下表所示。 tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name 選項 描述 -d 指定不將 IP 位址解析到主機名稱。 -h maximum_hops 指定躍點數以跟蹤到稱為 target_name 的主機的路由。 -j host-list 指定 Tracert 公用程式資料包所採用路徑中的路由器介面列表。 -w timeout 等待 timeout 為每次回複所指定的毫秒數。 target_name 目標主機的名稱或 IP 位址。 當我們不能通過網路訪問目的裝置時,網路系統管理員就需要判斷是哪裡出了問題。問題不僅僅會出現在最終目的裝置,也可能出現在轉寄資料包的中間路由器。 有3種方式用來探測一個資料包從源點到目的地經過了哪些中轉路由器,這3種方式分別是:基於記錄路由選項的路由探測,基於UDP協議的路由探測,基於ICMP Echo Request的路由探測。三種方式都可以用來探測一個資料包到達目的裝置經過了哪些中間路由器,但實現的過程卻截然不同。