web-dev-qa-db-ja.com

IPアドレスを追跡できますが、pingはできません

Windowsでは、Googleにトレースすると次のようになります。

C:\Users\Dave>tracert -d -w 100 www.google.com

Tracing route to www.google.com [216.58.220.100]
over a maximum of 30 Hops:

  1    <1 ms    <1 ms    <1 ms  192.168.1.1
  2    17 ms     *       16 ms  [redacted]
  3    17 ms    16 ms    17 ms  [redacted]
  4    34 ms    34 ms    34 ms  150.101.33.18
  5    35 ms    43 ms    33 ms  72.14.221.174
  6    33 ms    33 ms    33 ms  66.249.95.234
  7    31 ms    31 ms    31 ms  209.85.142.11
  8    33 ms    33 ms    38 ms  216.58.220.100

Trace complete.

最後に、最後の3番目のIPアドレス66.249.95.234にpingを実行すると、次のようになります...

C:\Users\Dave>ping 66.249.95.234

Pinging 66.249.95.234 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 66.249.95.234:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

Tracertの内部にある「ping」が実際のpingとはどういうわけで異なるのですか?それらはどう違いますか? pingをtracertのように機能させるには、何をする必要がありますか?

19
DJA

それはすべてtracertの動作に関係しています。 pingは、ポイントAからポイントBへのストレートICMPであり、ルーティングルールを介してネットワークを通過します。 TracertはICMPを使用していますが、動作は大きく異なります。

Tracertは最後のホップをターゲットにすることで機能しますが、TTL=を制限し、時間超過メッセージを待機してから、次の反復のためにメッセージを1つ増やします。したがって、取得する応答はICMPではありません。途中でホストからのICMPエコー要求へのエコー応答ですが、そのホストからのメッセージが時間を超えました。そのため、ICMPを使用していても、まったく異なる方法で使用しています。

詳細については こちら をご覧ください。

27
MaQleod

まず、2つのコマンドは、異なる宛先IPアドレスでパケットを送信しています。つまり、別のルートを取る可能性があります。

66.249.95.234へのルートに216.58.220.100が表示された場合、宛先アドレス66.249.95.234のパケットが、そのポイントに到達するまで同じルートを使用していると想定される場合があります。ただし、これは有効な仮定ではありません。

66.249.95.234へのルートが216.58.220.100へのルートよりも長いことは完全に有効です。場合によっては、その中間ルーターにパケットを送ることができるルートがないことさえありますが、そうである場合、適切に設計されたネットワークではありません。

使用しているtracertコマンドとpingコマンドの両方が同じプロトコルを使用しているかどうかはわかりません。ほとんどのping実装は、ICMPエコー要求パケットを使用します。ただし、traceroute実装は、ICMPエコー要求、TCP SYN、およびUDPパケットを含む幅広いプロトコルをサポートしています。2つが異なるプロトコルを使用している場合、異なるプロトコルを表示するための要因となる可能性があります。結果。

最後に、すべてのパケットが66.249.95.234に到達したとしても、66.249.95.234の動作は、次の必要があるかどうかによって大きく異なる可能性があります。

  • パケットを転送する
  • 自分宛てのパケットでICMPエラーを生成する
  • 他人宛のパケットでICMPエラーを生成する

3つのケースのうちの1つだけでサイレントにパケットをドロップすることを選択すると、明らかに多くのネットワーク診断ツールが機能しなくなります。

4
kasperd

ネットワークのセキュリティが着実に高まっているので、多くの人が今やっている簡単なことの1つは、基本的にICMPプロトコルの機能を無効にすることです。これにより、tracerouteに応答したり、ホップからFQDNが返されなくなったりします。時々、管理者は物事をロックダウンして、pingも機能しないようにします。これは、関係するシステムの管理者の決定です。

また、システムが広範なネットワーク負荷を処理している可能性もあります。ICMPは一般に、実際のデータと比較して処理の優先度が非常に低くなります。

0
mdpc