【あいしーえむぴー】

ICMP とは?

💡 ネットワークの「エラー報告と点検ツール」
📌 このページのポイント
ICMP(Internet Control Message Protocol) ホストA 送信元 ホストB 宛先 Echo Request(Type 8) Echo Reply(Type 0) Ping = この往復で疎通確認 ICMPエラーメッセージ ルーター 中継機器 Destination Unreachable 宛先到達不能(Type 3) ! Time Exceeded 時間超過(Type 11) ルーターが到達できない/TTL切れの場合、送信元にエラーを返す
ICMPの仕組み
ひよこ ひよこ

ICMPって何のためにあるの?

ペンギン先生 ペンギン先生

ネットワークの「状態確認」と「エラー報告」のためにあるんだ。データを届けるためのプロトコルじゃなくて、ネットワーク自体を診断するためのもの、という感じだよ。

ひよこ ひよこ

pingって聞いたことあるけど、ICMPと関係あるの?

ペンギン先生 ペンギン先生

pingはICMPを使って動いてるよ。「エコーリクエスト」というメッセージを送って、相手から「エコーリプライ」が返ってきたら「繋がってる」って分かる仕組みだよ。

ひよこ ひよこ

ICMPってファイアウォールでブロックされることあるの?

ペンギン先生 ペンギン先生

あるよ。セキュリティのためにICMPをブロックするサーバーも多いんだ。だからpingが通らなくても、サーバーが落ちているとは限らない。単純にICMPをブロックしているだけの場合もあるよ。

ひよこ ひよこ

ICMPって攻撃にも使われるって聞いたけど?

ペンギン先生 ペンギン先生

そうなんだよ、実はICMPはDoS攻撃にも使われることがある。有名なのが「Smurf攻撃」で、偽の送信元IPアドレスを使ってブロードキャストにICMPを送ると、大量のマシンが一斉に偽の送信元へ返信してしまう。あとは「Ping of Death」という超大きなICMPパケットを送り付けてシステムをクラッシュさせる攻撃も昔あった。今は対策されてるけど、ICMPがネットワーク運用で使われる一方で、攻撃経路にもなり得るというのは覚えておいて損はないよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ICMP」って出てきたら「ネットワークの疎通確認やエラー報告に使うルールのことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Internet Control Message Protocol」 = インターネット制御メッセージプロトコル
💬 Controlは「制御」、Messageは「メッセージ」。ネットワークを制御するためのメッセージを送るプロトコルという意味だよ
← 用語集にもどる