查詢封包路由路徑 (TRACERT)

查詢封包路由路徑 (TRACERT)

http://support.microsoft.com/kb/314868/zh-tw

 

如何使用 TRACERT 公用程式
TRACERT 診斷公用程式會傳送「網際網路控制訊息通訊協定」(ICMP) 回應封包給目的地,以確定到目的地所經的路徑。在這些封包中,TRACERT 會使用各種不同的 IP 執行時間 (Time-To-Live,TTL) 值。因為路徑上的每台路由器在轉送封包之前必須至少將封包的 TTL 遞減 1,所以 TTL 其實就是一個躍點計數器。當封包的 TTL 達到零 (0) 時,路由器會將 ICMP「超過時間」訊息傳回給來源電腦。
TRACERT 將 TTL 設為 1,來傳送第一個回應封包,之後每次傳輸都將 TTL 遞增 1,直到目的地回應或達到最大 TTL 為止。中介路由器傳回的 ICMP「超過時間」訊息會顯示出路徑。但是請注意,有些路由器會將 TTL 已經過期的封包悄悄丟棄,因此 TRACERT 不會察覺到這些封包。
TRACERT 會依序印出傳回 ICMP「超過時間」訊息的中介路由器清單。使用 tracert 命令時如果用 -d 選項,可以指示 TRACERT 不要對每個 IP 位址執行 DNS 查閱,使得 TRACERT 會報告路由器近端介面的 IP 位址。
在下列 tracert 命令及其輸出的範例中,封包通過 2 台路由器 (157.54.48.1 和 11.1.0.67) 後到達主機 11.1.0.1。在這個範例中,預設閘道是 157.54.48.1,而 11.1.0.0 網路上路由器的 IP 位址是 11.1.0.67。
命令:

C:\>tracert 11.1.0.1

命令的輸出:

Tracing route to 11.1.0.1 over a maximum of 30 hops
   ---------------------------------------------------
1      2 ms       3 ms       2 ms      157.54.48.1
2     75 ms      83 ms      88 ms      11.1.0.67
3     73 ms      79 ms      93 ms      11.1.0.1

Trace complete.
				
如何使用 TRACERT 進行疑難排解
您可以使用 TRACERT 找出封包在網路上停止的位置。在下列範例中,預設閘道發現 22.110.0.1 上的主機沒有任何有效路徑。這可能是因為路由器有設定問題,或是 22.110.0.0 網路不存在,而顯示錯誤的 IP 位址。
命令:

C:\>tracert 22.110.0.1

命令的輸出:

Tracing route to 22.110.0.1 over a maximum of 30 hops
   -----------------------------------------------------
1  157.54.48.1  reports:Destination net unreachable.

Trace complete.
				

對於有多條路徑可以通到同一點的大型網路,或是涉及許多中介元件 (路由器或橋接器) 的大型網路,TRACERT 是很有用的疑難排解工具。

如何使用 TRACERT 的選項
您可以將 TRACERT 搭配許多命令列選項一起使用,雖然在進行標準疑難排解時通常用不到這些選項。
下列命令語法範例顯示所有可能的選項:

tracert -d -hmaximum_hops -jhost-list -wtimeout target_host

參數的功能:

-d
指定不將位址解析成主機名稱

-h maximum_hops
指定用於搜尋目標的最大躍點數

-j host-list
指定沿著 host-list 的概略來源路由

-w timeout
對每個回覆,要等候 timeout 所指定的
毫秒數

target_host
指定目標主機的名稱或 IP 位址