TRACEROUTE 使用什麼協定? ICMP 或 UDP

TRACEROUTE 使用什麼協定? ICMP 或 UDP

TRACEROUTE:ICMPUDP或使用的任何協議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 封包進行探測。

相關內容