私は、Google や他の Web サイトに ping を実行できない ISP を使用していますが、名前解決のみが機能します。
どこかのインターネットサイトで、traceroute は ping の逆であると読みました。これは本当ですか?
また、ネットワーク上で ping をブロックした場合 (おそらくルーター レベル/レイヤー 4)、traceroute も失敗するというのは本当でしょうか?
答え1
トレースルートは、10 ...送信パケットのフィールドを異なる値に設定し、どのルータが送信パケットを送信するかを観察します。ICMP TTL を超えました異なるエラーを返す10 ...価値観。
ブロックされているものがすべてICMP エコー要求/応答("ping")、これは本質的には traceroute をブロックしません。ただし、traceroute の 1 つの可能な実装は、特に ICMP エコー要求パケットを送信することです。traceroute
プログラムのドキュメントで、送信内容を確認してください。実装によっては、UDP パケットまたは ICMP エコー要求パケットのどちらかを送信するように選択できるオプションがあります。
答え2
デフォルトでは、traceroute は特定のホストへのルートを追跡するために UDP パケットを送信しますが、ping は ICMP を使用します。ただし、traceroute は、宛先ホストへのルートでルータから返される ICMP パケットを処理します。
つまり、送信 ICMP パケットのみをブロックすると、ping は機能しませんが、traceroute は機能します。
ただし、着信 ICMP パケットをブロックすると、traceroute はルート内のルーターからの ICMP 応答を受信できなくなり、機能しなくなります。