ICMP(Internet Control Message Protocol)

ICMP(Internet Control Message Protocol)は、ネットワークの問題がIPパケットの配信を妨げたときに、ルータなどのネットワークデバイスが送信元IPアドレスにエラーメッセージを生成するために使用するエラー報告プロトコルです。 ICMPは、ルータ、サービス、ホストなどのインターネットへのゲートウェイにパケット配信のために到達できないことを示すメッセージを作成して送信元IPアドレ 任意のIPネットワークデバイスは、ICMPメッセージを送信、受信、または処理する機能を備えています。

ICMPは、システム間でデータを送信するトランスポートプロトコルではありません。

ICMPはエンドユーザアプリケーションでは定期的に使用されませんが、ネットワーク管理者はpingやtracerouteなどの診断ユーティリティでインターネット接続のトラ

ICMPは何のために使われていますか?

ICMPは、ルーター、仲介デバイス、ホストがエラー情報や更新を他のルーター、仲介デバイス、ホストに通信するために使用するネットワーク層プロトコルです。

ICMPメッセージはいくつかのシナリオで送信されます。 たとえば、あるデバイスが受信者が処理するには大きすぎるメッセージを送信すると、受信者はそのメッセージをドロップしてICMPメッセージを送信元に送 もう一つの例は、ネットワークゲートウェイがメッセージを移動するためのより短いルートを見つけた場合です。 これが発生すると、ICMPメッセージが送信され、パケットはより短いルートにリダイレクトされます。

ICMPは、ネットワーク診断、特にpingおよびtraceroute端末ユーティリティにも使用されます。

echo message diagram
ホストがタイプ8echoメッセージを送信すると、サーバーは到達可能であるため、タイプ0echo replyメッセージで応答します。
  • トレースルート Tracerouteユーティリティは、相互に通信する2つのインターネットデバイス間の物理ルーティングパスを表示するために使用されます。 これは、あるルータから別のルータへの旅をマッピングします-時にはホップと呼ばれます。 Tracerouteを使用してネットワークの問題を診断すると、管理者はネットワーク遅延の原因を特定するのに役立ちます。
  • Pingユーティリティは、より単純なtracerouteです。 エコー要求メッセージとも呼ばれるpingを送信し、メッセージが宛先に到達して送信元に戻るのにかかる時間を測定します。 これらの応答は、エコー応答メッセージと呼ばれます。 Pingは、特定のデバイスに関する遅延情報を収集するのに役立ちます。 ただし、tracerouteとは異なり、pingはルーティングレイアウトの画像マップを提供しません。 Pingユーティリティは、特定のサービス拒否(DoS)攻撃にも悪用されることがよくあります。

広く使用されているインターネットプロトコルバージョン4、またはIpv4アドレスクラス、および新しいIpv6は、それぞれICMPプロトコルの同様のバージ

宛先到達不能図
ホストAはホストBにIPパケットを送信しようとします。

ICMPはどのように機能しますか?

ICMPはIPスイートの主要プロトコルの1つです。 ただし、ICMPは、Transmission Control Protocol(TCP)やUser Datagram Protocol(UDP)などのトランスポート層プロトコルには関連付けられていません。 これはコネクションレスプロトコルであり、メッセージを送信する前にデバイスがターゲットデバイスとの接続を開く必要がないことを意味します。 これは、たとえば、メッセージを送信する前に接続を確立する必要があり、両方のデバイスがTCPハンドシェイクを介して準備ができていることを確

ICMPメッセージはデータグラムとして送信され、ICMPデータをカプセル化するIPヘッダーで構成されます。 データグラムは、パケットのように、データの自己完結型の独立したエンティティです。 ネットワーク全体で大きなメッセージの一部を運ぶパッケージと考えてください。 ICMPパケットは、IPデータ部分にICMPを持つIPパケットです。 ICMPメッセージには、元のメッセージのIPヘッダー全体も含まれているため、エンドシステムはどのパケットが失敗したかを認識します。

ICMPヘッダーはIpv4またはIpv6パケットヘッダーの後に表示され、IPプロトコル番号1として識別されます。 プロトコルには以下で説明する3つのパラメータが含まれています。 次の3つのパラメータは、ICMPデータと、どのパケットが失敗したかを識別する元のIPヘッダーです。

ICMPパラメータ

ICMPパラメータはパケットヘッダに存在し、関連するIPパケットのエラーを識別するのに役立ちます。 パラメータは、パッケージの出荷ラベルのようなものです。 これらは、パケットとそれに含まれるデータに関する識別情報を提供します。 このようにして、ICMPメッセージを受信するプロトコルとネットワークツールは、パケットの処理方法を知っています。

各ICMPメッセージのパケットヘッダーの最初の32ビットには、三つの情報フィールドまたはパラメータが含まれています。 これらの3つのパラメータは次のとおりです:

  1. タイプ。 最初の8ビットはメッセージタイプです。 一般的なメッセージの種類には、次のものがあります: タイプ0–エコー応答
  2. タイプ3–宛先に到達できません
  3. タイプ8–エコー
  4. タイプ5–リダイレクト

このタイプは、メッセージが何のためのものであるかの簡単な説明を提供するので、受信側ネットワークデバイスは、メッセージを受信している理由とそ たとえば、タイプ8エコーは、潜在的な宛先システムが利用可能かどうかを確認するためにホストが送信するクエリです。 エコーメッセージを受信すると、受信側デバイスは、使用可能であることを示すエコー応答(タイプ0)を送り返すことがあります。

Internet Assigned Numbers Authority(IANA)は、ICMPパケットが使用するすべてのメッセージタイプのリストを提供します。

  • 次の8ビットは、エラーの種類に関する追加情報を提供するメッセージの種類コードを表します。
  • チェックサム。 最後の16ビットは、メッセージの整合性チェックを提供します。 チェックサムは、メッセージ全体のビット数を示し、ICMPツールがICMPメッセージヘッダーとの整合性をチェックして、データの全範囲が配信されたことを確認で
  • ICMPヘッダーの次の部分はポインタです。 これは、元のIPメッセージの問題を指摘する32ビットのデータで構成されています。 具体的には、ポインターは、問題メッセージの生成の原因となった元のIPメッセージ内のバイト位置を識別します。 受信側デバイスはヘッダーのこの部分を見て、問題を特定します。

    ICMPパケットの最後のセクションは元のデータグラムです。 これは、Ipv4では最大576バイト、Ipv6では1,280バイトで構成され、元のエラーを含むIPメッセージのコピーが含まれています。

    ICMPパケット図
    ICMPパケットヘッダーはIpv4またはIpv6ヘッダーの後にあります。 これには、タイプ、コード、チェックサムの3つの部分が含まれています。 ヘッダーの後には、元のメッセージ内の問題を識別するポインタが続き、元のデータグラムが表示されます。

    DDoS攻撃におけるICMP

    分散型DoS(DDoS)攻撃では、攻撃者はターゲットを不要なトラフィックで圧倒し、ターゲットはユーザーにサービスを提供できません。 攻撃者がICMPを使用してこれらの攻撃を実行するには、次のような複数の方法があります:

    • 死のPing。 攻撃者は、IPで許可されているバイト数よりも大きいIPパケットを送信します。 目的の宛先に向かう途中で、特大のパケットは断片化されます。 ただし、受信者デバイスが再アセンブルすると、サイズが制限を超え、バッファオーバーフローが発生し、受信機がフリーズまたはクラッシュします。 新しいデバイスは、この古いタイプの攻撃に対する防御を持っていますが、レガシーネットワーキングデバイスはまだそれに脆弱です。
    • ICMP洪水攻撃。 Pingフラッド攻撃と呼ばれることもありますが、この攻撃の目的は、エコー要求パケットでターゲットデバイスを圧倒することです。 各エコー要求パケットは、ターゲットによって処理され、エコー応答メッセージで応答する必要があります。 これにより、対象のコンピューターのすべてのリソースが吸い上げられ、対象のコンピューターの他のユーザーにサービス拒否が発生します。
    • スマーフ攻撃。 Smurf攻撃では、攻撃者は偽装された送信元IPアドレスを持つICMPパケットを送信し、ネットワーク層装置はパケットに応答し、偽装されたアドレスにパケットのフラッドを送信します。 Ping of deathのように、Smurf攻撃は無防備なレガシー機器で動作する可能性が高くなります。

    ICMPベースのDDoS攻撃は、ますます普及しているサイバー攻撃となっています。 一般的なDDoS攻撃と、近年の戦術的に多様化している方法についての詳細をご覧ください。

    Leave a Reply