正如其名稱所示,traceroute 可追蹤封包從來源到目的地時所採取的路由。 traceroute 通訊協定會傳送一系列封包,旨在識別沿封包路徑的每個路由器跳躍。
Traceroute 可用於對應網路上的路徑,也可用於診斷某些類型的網路問題。 例如,使用者的電腦可能無法連接其他系統。 使用 traceroute,可以識別數據包沿該路徑進行的成功跳躍以及連接失敗的點。 此資訊可用於識別離線路由器或其他導致連線失敗的問題。
Traceroute 利用網際網路通訊協定 (IP) 封包標頭中的其中一個字段,稱為生存時間 (TTL)。 此欄位指定資料包在到達目的地的途中可以經過的最大跳數,最初是為了防止資料包可能在網路中永遠循環的路由循環而開發的。
如果達到網路封包的 TTL 值,發生故障的路由器將向發送者發送一條 TTL 超出的訊息。 這可用於診斷問題,但也是追蹤路線如何運作的關鍵。
追踪路線將發送一系列封包,從 TTL 為 1 開始,並以每輪三個封包進行增量。 第一組封包將在路徑上的第一個路由器發生故障,導致路由器將錯誤消息發送回發件人。 由於此錯誤包將包括發送路由器的 IP 地址,因此發件人可以識別其路徑上的第一個路由器。
接下來的每組封包都會使其比上一組遠一次。 在每個階段,最終路由器都會發送錯誤消息,允許發件人記錄 IP 地址並建立路線地圖。
當達到目的地或達到最大跳躍計數(預設為 30 但是用戶可配置)時,此過程將結束。 此時,發件人將擁有封包前往指定目的地的路線的完整地圖。
依預設,Traceroute 內建於大多數作業系統中。 在 Windows 中,該命令是 tracert,而 traceroute 命令在 Linux 和 Mac 系統上使用。
Traceroute 是一個命令列實用程序,可以與域名或 IP 地址一起使用。 <target>在 Windows<target> 上輸入 tracert ,或在 Mac 或 Linux 上輸入追蹤路徑 將執行該公用程式並導致結果列印在終端機中。例如,在 Windows 上執行到 Check Point 網站的追蹤路由可以透過在 Windows 命令提示字元中鍵入tracert checkpoint.com 來完成。
Traceroute 的結果將以描述所執行的操作的標題行開始,例如通過 30 次跳轉到 checkpoint.com 的追蹤路徑。 之後,輸出的每一行都將描述沿路線的一次跳躍。
這些 hop 輸出中的每個都將包含一組時間戳,它們描述集合中每個數據包到達目的地所需的時間。 這有助於診斷網路流量中的延遲問題。
每個結果還將列出路線上每次跳轉的 IP 地址和/或域名。 由於每一輪追蹤路徑都包含三個封包,因此不同的封包可能會採用不同的路由。 追踪路線將記錄它在每次跳躍中使用的所有路線。
這些 IP 位址和主機名稱可用來追蹤封包到目的地的路由。 例如,Whois 數據庫可以提供對擁有特定 IP 地址或域名的公司的洞察,因此擁有數據包在該跳轉時通過的路由器。