參數介紹
-d 指定不將地址解析為計算機名.
-h maximum_hops 指定搜尋目標的最大躍點數.
-j host-list 與主機列表一起的鬆散源路由(僅適用於IPv4),指定沿host-list的稀疏源路由列表序進行轉發。host-list是以空格隔開的多個路由器IP位址,最多9個。
-w timeout 等待每個回復的逾時時間(以毫秒為單位).
-R 跟蹤往返行程路徑(僅適用於 IPv6).
-S srcaddr 要使用的源地址(僅適用於 IPv6).
-4 強制使用 IPv4.
-6 強制使用 IPv6.
target_name 目標計算機的名稱.
最簡單的用法就是"tracert hostname",其中"hostname"是計算機名或想跟蹤其路徑的計算機的IP位址,tracert將返回他到達目的地的各種IP位址.
命令詳解
該診斷實用程式將包含不同生存時間 (TTL) 值的 Internet 控制訊息協定 (ICMP)回顯數據包傳送到目標,以決定到達目標採用的路由。要在轉發數據包上的 TTL 之前至少遞減 1,必需路徑上的每個路由器,所以 TTL 是有效的躍點計數。數據包上的 TTL 到達 0 時,路由器應該將“ICMP 已逾時”的訊息傳送回源系統。Tracert 先傳送 TTL 為 1 的回顯數據包,並在隨後的每次傳送過程將 TTL 遞增 1,直到目標回響或 TTL 達到最大值,從而確定路由。路由通過檢查中級路由器傳送回的“ICMP 已逾時”的訊息來確定路由。不過,有些路由器悄悄地下傳包含過期 TTL 值的數據包,而 tracert 看不到。
tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
使用 tracert 跟蹤網路連線
Tracert(跟蹤路由)是路由跟蹤實用程式,用於確定 IP數據報訪問目標所採取的路徑。Tracert 命令用 IP 生存時間 (TTL) 欄位和 ICMP 錯誤訊息來確定從一個主機到網路上其他主機的路由。
工作原理
通過向目標傳送不同 IP 生存時間 (TTL) 值的“Internet 控制訊息協定 (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 -d 172.16.0.99
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 命令確定數據包在網路上的停止位置。下例中,默認網關確定 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 地址。
使用 tracert 命令跟蹤路徑
打開命令提示符,然後鍵入:
tracert host_name
或者鍵入 tracert ip_address
其中 host_name 或 ip_address 分別是遠程計算機的主機名或 IP 地址。
例如,要跟蹤從該計算機到的連線路由,請在命令提示行鍵入:
tracert [url]
注意
要打開“命令提示符”,請單擊“開始”,指向“程式”、“附屬檔案”,然後單擊“命令提示符”。
tracert 命令跟蹤 TCP/IP 數據包從該計算機到其他遠程計算機所採用的路徑。tracert 命令使用 ICMP 回響請求並答覆訊息(和 ping 命令類似),產生關於經過的每個路由器及每個躍點的往返時間 (RTT) 的命令行報告輸出。
如果 tracert 失敗,可以使用命令輸出來幫助確定哪箇中介路由器轉發失敗或耗時太多。
命令格式
-d
指定不將地址解析為計算機名。
-h maximum_hops
指定搜尋目標的最大躍點數。
-j computer-list
指定沿 computer-list 的稀疏源路由。
-w timeout
每次應答等待 timeout 指定的微秒數。
target_name
目標計算機的名稱。