Traceroute 不起作用,輸出是 * * * 但網路正常

Traceroute 不起作用,輸出是 * * * 但網路正常

在我的 Linux 機器上,traceroute不起作用。輸出是這樣的:

$ traceroute google.com

traceroute to google.com (209.85.231.104), 30 hops max, 52 byte packets
1  * * *
2  * * *
3  * * *
4  * * *

誰能告訴我為什麼它不起作用?背後有什麼可能的原因嗎?

答案1

預設情況下,traceroute使用高 UDP 連接埠來追蹤主機。但是,有時防火牆會阻止這些 UDP 連接埠。

嘗試-I在命令列中新增(大寫的 i)參數,例如:

traceroute -I www.google.it

這將使用 ICMP 而不是 UDP 來追蹤主機。

答案2

嘗試使用 -T (tcp) 或 -U (udp) 繞過防火牆。
有些路由器/防火牆不允許 icmp echo 通過,這就是為什麼你要使用這兩個來繞過它們。
不管怎樣,與維基百科中所述相反,在我的 debian 機器上,traceroute 仍然使用 icmp 封包而不是 udp。

編輯

我錯了...它使用 udp...返回的 icmp 用於無法訪問的端口...抱歉

答案3

可能是您上游的防火牆阻止了 UDP 封包 路由追蹤

在現代類 Unix 作業系統上,traceroute 實用程式預設使用 UDP 資料報,目標連接埠編號為 33434 到 33534。

答案4

這可能是因為 icmp TIME_EXCEEDED 答案是被您用作預設閘道的路由器/防火牆或 Linux 系統本身過濾

相關內容