Traceroute - daniel-qa/Network GitHub Wiki

Traceroute 是一種用於網路故障排除測試網絡連接的工具。它通過追蹤數據包從源主機到目標主機的路徑提供了關於數據包在網絡中經過的中間節點的信息

當你使用 traceroute 命令時,它會向目標主機發送一系列的封包,並將每個封包的 TTL(生存時間)字段設置為不同的值。當封包到達一個網絡節點時,該節點會將 TTL 減小1,如果 TTL 為0,則該節點將棄掉該封包並向源主機發送一個"Time Exceeded"(超時)消息。

通過利用這個 TTL 減小的過程,traceroute 可以構建一個網絡節點列表,顯示數據包從源主機到目標主機所經過的路徑。它還會顯示每個節點的回應時間,這可以幫助識別網絡中的延遲或故障。

traceroute 提供了對於評估網絡性能和排除故障非常有用的信息。它可以幫助網絡管理員定位網絡中的瓶頸、延遲和故障點。它還可以用於測試網絡連接的可靠性,例如確定數據包是否遵循預期路徑到達目標主機。

需要注意的是,traceroute 的結果受到網絡拓撲、防火牆設置和路由器配置等因素的影響。因此,在分析 traceroute 結果時,需要考慮到這些因素可能引起的變化。

總結而言,traceroute 是一種用於追蹤網絡數據包路徑的工具,提供了有關數據包在網絡中的中間節點和延遲的信息,並被廣泛用於網絡故障排除和性能評估。

  • 正常範例

traceroute www.example.com

Tracing route to www.example.com [192.0.2.123]
over a maximum of 30 hops:

  1     1 ms    <1 ms    <1 ms  192.168.1.1
  2     5 ms     4 ms     3 ms  10.0.0.1
  3    10 ms    12 ms    11 ms  203.0.113.1
  4    15 ms    13 ms    14 ms  203.0.113.254
  5    18 ms    19 ms    20 ms  198.51.100.1
  6    25 ms    24 ms    23 ms  198.51.100.254
  7    30 ms    30 ms    29 ms  192.0.2.123

Trace complete.

若成到完成,則會顯示 Trace complete.

以及如果最終目標的 IP 地址出現在輸出中,這表明 traceroute 已經成功追蹤到了目標主機。

  • 失敗範例
traceroute to iestw.habook.com (203.74.121.35), 30 hops max, 60 byte packets
 1  192.168.1.254 (192.168.1.254)  0.517 ms  1.445 ms  0.979 ms
 2  mail.habook.com.tw (203.74.121.36)  2997.508 ms !H  2997.633 ms !H  2997.638 ms !H

則不會有 Trace complete.

  • Ex: tracerout Taiwan Google

traceroute www.google.com.tw

traceroute to www.google.com.tw (142.251.170.94), 30 hops max, 60 byte packets
 1  _gateway (192.168.1.254)  0.744 ms  1.123 ms  0.666 ms
 2  211-22-108-254.hinet-ip.hinet.net (211.22.108.254)  11.573 ms  11.644 ms  11.724 ms
 3  tpe4-3301.hinet.net (168.95.80.226)  3.892 ms  4.567 ms  4.026 ms
 4  tyfo-3031.hinet.net (220.128.8.242)  5.469 ms  4.574 ms  5.532 ms
 5  tyfo-3335.hinet.net (220.128.8.17)  5.866 ms tylc-3336.hinet.net (220.128.8.25)  5.680 ms tylc-3336.hinet.net (220.128.8.189)  5.923 ms
 6  72.14.209.178 (72.14.209.178)  6.197 ms  3.368 ms  3.209 ms
 7  72.14.209.178 (72.14.209.178)  4.063 ms  3.990 ms  3.973 ms
 8  142.251.226.170 (142.251.226.170)  4.850 ms 108.170.244.65 (108.170.244.65)  6.480 ms 108.170.229.170 (108.170.229.170)  7.285 ms
 9  209.85.243.196 (209.85.243.196)  4.931 ms 108.170.244.77 (108.170.244.77)  5.334 ms 108.170.244.65 (108.170.244.65)  6.519 ms
10  108.170.244.99 (108.170.244.99)  5.516 ms 108.170.236.253 (108.170.236.253)  5.375 ms 108.170.244.77 (108.170.244.77)  6.296 ms
11  108.170.236.253 (108.170.236.253)  7.301 ms 142.250.228.101 (142.250.228.101)  10.912 ms 74.125.252.172 (74.125.252.172)  13.621 ms
12  216.239.50.158 (216.239.50.158)  10.972 ms 172.253.72.49 (172.253.72.49)  8.137 ms 216.239.41.106 (216.239.41.106)  6.586 ms
13  66.249.94.172 (66.249.94.172)  7.851 ms 72.14.237.7 (72.14.237.7)  6.118 ms  6.247 ms
14  142.251.77.129 (142.251.77.129)  7.896 ms 142.251.69.69 (142.251.69.69)  8.250 ms 142.250.228.205 (142.250.228.205)  8.235 ms
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * tc-in-f94.1e100.net (142.251.170.94)  7.843 ms  7.828 ms

某些回應時間可能為星號(*),表示該節點未響應或丟棄了 traceroute 封包。