為什麼追蹤路由不起作用

為什麼追蹤路由不起作用

我有一些關於為什麼追蹤路由在某些情況下不起作用的問題。雖然我明白它是如何運作的,但我無法弄清楚一些問題。喜歡,

$traceroute www.google.com
 1  * * *
 2  * * *
......

有 '*'。當我使用 ICMP 代替 UDP 時,我得到以下結果:

$traceroute www.google.com -I
 1  * * *
 2  * * *
 3  222.42.254.130 (222.42.254.130)  7.980 ms  10.785 ms  4.920 ms
 4  222.42.254.129 (222.42.254.129)  4.363 ms  8.141 ms  5.849 ms
 5  bogon (10.2.1.1)  7.957 ms  7.787 ms  8.321 ms
 6  61.237.121.97 (61.237.121.97)  25.341 ms  24.895 ms  28.725 ms
 7  61.237.123.66 (61.237.123.66)  23.738 ms  24.172 ms  23.916 ms
 8  221.4.120.173 (221.4.120.173)  23.096 ms  24.539 ms  20.827 ms
 9  221.4.6.61 (221.4.6.61)  58.516 ms  60.035 ms  63.200 ms
10  120.80.0.73 (120.80.0.73)  60.991 ms  59.520 ms  59.853 ms
11  219.158.19.69 (219.158.19.69)  59.771 ms  59.192 ms  59.072 ms
12  219.158.22.249 (219.158.22.249)  89.185 ms  87.928 ms  89.582 ms
13  219.158.22.158 (219.158.22.158)  102.195 ms  103.409 ms  106.153 ms
14  219.158.35.114 (219.158.35.114)  218.816 ms  224.845 ms  218.470 ms
15  203.208.62.15 (203.208.62.15)  212.560 ms  208.640 ms *
16  chrome.google.com (203.208.46.1)  210.655 ms *  216.369 ms

我想知道為什麼第一跳和第二跳仍然未知。我嘗試用​​ -z 500 設定 icmp 速率,但沒有用。所以我的問題如下:

  1. 為什麼我在使用 ICMP 時會出現一些躍點?
  2. 我怎樣才能獲得前兩跳?

我已經搜索過了,但沒有找到任何無用的東西。我透過沒有任何防火牆的路由連接到網際網路。感謝您的幫助。

答案1

由於 Traceroute 是基於 ICMP Echo 請求,因此您的前兩條路由(可能是您自己的本地防火牆)似乎被配置為丟棄/阻止 ICMP Echo 請求。這就是為什麼 Traceroute 無法看到前兩者的實際響應,但無法看到除此之外的正確響應。

答案2

第一跳是您通往網際網路的網關,您可以使用 來查看netstat -rn

第二個躍點是您提供者的網關,如果您碰巧有像 Fritzbox 這樣的東西,您可以在那裡看到 IP 位址。

答案3

為了完成下一跳發現,您可以使用另一個工具:hping。正如 Franck 先前的回應所解釋的那樣,可能有防火牆或路由器丟棄了此類 ICMP 訊息。

例如,您可以對第一個下一跳使用以下命令:

hping www.google.com -p 86 -S -t 1

還有這個,請參考第二個:

hping www.google.com -p 86 -S -t 2

相關內容