
TRACEROUTE
:ICMP
或UDP
或使用的任何協議IP ?
或全部使用它們:封裝?
答案1
這個問題已被解決拉達達達達這裡 : Traceroute 使用 UDP 或 ICMP 或兩者都使用?
發送的資料包類型因實作而異。預設情況下,Windows 追蹤使用 ICMP,Mac OS X 和 Linux 追蹤路由均使用 UDP。我手邊沒有 BSD 或 Solaris 機器或任何其他作業系統可供檢查,但 Mac OS X 版本的手冊頁提到其來源是 BSD 4.3。
我的 Mac 和 Linux 版本提供了選擇各種不同協定的能力,包括 ICMP、TCP、UDP 和 GRE 封包。其他協定可以透過其名稱或編號來指定,但traceroute 不知道其他協定如何運作。它只是盲目地發送它們。
對於traceroute(在GNU/Linux下),手冊頁這裡指示您使用參數來指定 UDP 以外的其他協定:
-I Use ICMP ECHO for probes
-T Use TCP SYN for probes
...
ICMP 和 UDP 都封裝在 IP 封包中。希望能幫助你 :)
答案2
預設情況下,Traceroute 使用 UDP,也可以使用 ICMP Echo Request 或 TCP SYN 封包。如果您使用tracroute -T,您將使用TCP SYN 進行探測,如果您使用traceroute -I,您將使用icmp echo 封包進行探測。