ARP(アドレス解決プロトコル)とは?概念とARPスプーフィングの注意点

IPアドレスがMACアドレスに変換される過程を順番に見ていきましょう。

ARP(アドレス解決プロトコル)とは何か

ARP(Address Resolution Protocol)は、同じネットワーク(LAN)内でIPアドレスを実際のハードウェアアドレスであるMACアドレスに変換するプロトコルです。インターネットの基本的な通信規約の中でも、特に古くから使われている基礎的なプロトコルの1つです。

ARPが必要な理由

データは実際にはイーサネットフレーム単位で、MACアドレスを基準に同じネットワーク内の機器へ届けられます。相手のIPアドレスだけが分かっている状態で通信を始めるには、そのIPアドレスを持つ機器のMACアドレスを先に調べる必要があり、この役割を担うのがARPです。

ARP要求と応答の動作原理

機器は「このIPアドレスを持つ機器はどこか?」というARP要求をネットワーク全体にブロードキャストで送信します。該当するIPを持つ機器だけが、自分のMACアドレスを添えて要求元の機器へ直接(ユニキャストで)応答します。

ARPテーブル(キャッシュ)を確認する方法

一度確認したIP-MACの対応情報は、一定時間ARPテーブル(キャッシュ)に保存され、毎回問い合わせ直す必要がありません。Windows・Mac・Linuxいずれも、ターミナルやコマンドプロンプトで「arp -a」と入力すると、現在保存されているARPテーブルを確認できます。

ARPスプーフィング(キャッシュポイズニング)とは

攻撃者が偽造したARP応答をネットワークにばらまき、特定のIPアドレス(主にルーターのゲートウェイIP)のMACアドレスが自分の機器であると他の機器に信じ込ませる攻撃手法です。こうなると、他の機器がインターネットへ送るデータがすべて攻撃者を経由して流れることになり、中間者攻撃(MITM)に悪用される可能性があります。

対策できる方法

出所の不明な公共Wi-Fiの利用を控え、重要な通信にはVPNを使うことが最も実用的な対策です。企業やサーバー環境では、ゲートウェイのMACアドレスを固定値として登録する静的ARP設定や、重複したMACアドレスを検知して警告するネットワーク監視ツールを併用することもあります。

MACアドレス自体が気になるなら

ARPが調べ出すMACアドレスが具体的に何で、どのような構造になっているのか気になる場合は、MACアドレスの基礎についてもあわせて確認してみましょう。

IPアドレスの競合とも関係があります

同じネットワーク内にIPアドレスが重複する機器があると、ARP応答が混乱し通信が不安定になることがあります。IPアドレスの競合を解決する方法もあわせて参考にしてみてください。

よくある質問

ARPはインターネットを越えて、他国のサーバーとの通信にも使われますか?

いいえ。ARPは同じネットワーク(LAN)内でのみ動作するプロトコルです。ルーターを経由して別のネットワークへ出た瞬間からは、ルーティングプロトコルとIPアドレス体系が経路を決定し、ARPは各区間の内部でのみ繰り返し使われます。

一般利用者もARPスプーフィングを心配すべきですか?

個人の家庭内ネットワークではリスクは低い方ですが、カフェや空港のように見知らぬ人と同じネットワークを使う公共Wi-Fiでは、実際に起こりうる攻撃です。公共Wi-Fiではログインや決済のような重要な操作を避け、VPNを併用するのが安全です。