Tracerouteコマンドで使用される宛先ポートに通常使用される範囲があるかどうかを知りたいのですが。宛先ポートの開始アドレスは33434ですが、tracerouteに適した標準範囲はありますか?
UDPはデータを運ぶアプリケーションプロトコルであると想定されているため、tracerouteにUDPを使用することは、いくつかの不適切な慣例で検討されています。 ICMP _ECHO_REQUEST
_は推奨される方法ですが、標準はありません。 ICMPを使用する主な理由は、UDPがペイロードを伝送できるため、ファイアウォールを通過できるようにすることで、セキュリティへの影響が大きくなるためです。エンドユーザーにとっては、ブロックされる可能性が高くなります。また、アプリケーションがUDPポートを使用して、望ましくない副作用が発生する可能性もあります。 ICMPを好むにもかかわらず、クラシック traceroute(1)
とその子孫はすべて、Mac OS X、ほとんどのLinuxディストリビューション、BSD、およびCisco IOSに付属の実装を含め、UDPを使用します。
これらのUDP実装では、ポート番号はプローブごとに1ずつ増加するため、任意の実行の最大ポート番号は33434 +(max-ttl *プローブ)に等しくなります。 -ホップごと-1)。 max-ttlのデフォルト設定は、実装に応じて、通常32または64です。デフォルトのprobes-per-hopは通常1または3です。64と3のよりリベラルなデフォルトを使用すると、範囲は33434-になります。 33625。実際には、通常、最大ttlは32で十分です。この場合、範囲は33434-33529になります。
また、IANAはonlyポート33434をtracerouteに割り当てましたが、33435-33655は未割り当てのままであることに注意してください。
ICMPとUDPの詳細については、以下を参照してください。 一部の一般的なtraceroute実装がデフォルトでUDPプローブを使用するのはなぜですか?
グーグルで調べたところ、33434がtraceroute
のベースポートとして使用されているポートであることがわかりました。
範囲は33434 + (max-ttl * numberofprobes - 1)
になります。これは通常、
max-ttl = 30
numberofprobes = 3
Traceroute は 送信[〜#〜] icmp [〜#〜] パケットで動作します。これらは完全に独自のプロトコルです。ポートはありません。
詳細-tracerouteは、TTL= 1で始まるICMPエコーパケットを送信します。これにより、最初のルーターでパケットが失敗を返します。次に、TTL of 2-これにより、2番目のルーターに到達します。TTLは、宛先に到達するまで増加します。途中で見つかったルーターのセットは、トレースされたルートです。