Unix
TCP traceroute 工作正常,但不是 UDP
所以我遇到了這個問題
traceroute some-server.abc.com
返回
***
多行並最終達到最大跳數限制。做一個
traceroute -T some-server.abc.com
作品非常好。我檢查了手冊頁,預設情況下traceroute
使用 UDP 協議和 -T 強制它使用 TCP 探測數據包。這種行為的可能原因是什麼。另請注意,
ping
此主機可以正常工作。
來自traceroute Wikipedia頁面的引用:
在類 Unix 作業系統上,traceroute 實用程序預設使用使用者數據報協議 (UDP) 數據報,目標埠號範圍從 33434 到 33534。traceroute 實用程序通常有一個選項來代替使用 ICMP Echo Request(類型 8)數據包,像 Windows tracert 實用程序一樣,或使用 TCP SYN 數據包。
$$ 1 $$$$ 2 $$如果網路有防火牆並同時執行 Windows 和類 Unix 系統,則必須啟用多個協議通過防火牆入站,以便 traceroute 工作並接收回复。
traceroute
UDP 數據包無法通過的最可能原因是防火牆。