TRACEROUTE で使用されるプロトコルはどれですか? ICMP または UDP

TRACEROUTE で使用されるプロトコルはどれですか? ICMP または UDP

TRACEROUTE:ICMPまたはUDPまたはで使用されるプロトコルIP ?

または、すべてを使用します: カプセル化?

答え1

この質問は、ラダダダダここ : traceroute は UDP または ICMP のどちらを使用しますか、あるいはその両方ですか?

送信されるパケットの種類は、実装によって異なります。デフォルトでは、Windows tracert は ICMP を使用し、Mac OS X と Linux の traceroute はどちらも UDP を使用します。確認できる BSD や Solaris マシン、その他の OS は手元にありませんが、Mac OS X バージョンのマニュアル ページには、その起源は BSD 4.3 であると記載されています。

私が持っている Mac 版と Linux 版では、ICMP、TCP、UDP、GRE パケットなど、さまざまなプロトコルを選択できます。他のプロトコルは名前または番号で指定できますが、traceroute は他のプロトコルの動作について何も知りません。盲目的に送信するだけです。

traceroute(GNU/Linux)については、manページここUDP 以外のプロトコルを指定するために使用する引数を示します。

-I Use ICMP ECHO for probes
-T Use TCP SYN for probes
...

ICMP と UDP はどちらも IP パケットにカプセル化されます。お役に立てれば幸いです :)

答え2

デフォルトでは、Traceroute は UDP を使用しますが、ICMP エコー要求または TCP SYN パケットも使用できます。tracroute -T を使用した場合は、プローブに TCP SYN を使用し、traceroute -I を使用した場合は、プローブに icmp エコー パケットを使用します。

関連情報