arpコマンド【arp command】
概要
ARP(Address Resolution Protocol)は同一ネットワーク内にある機器のIPアドレスとMACアドレスの対応関係を調べるプロトコル(通信規約)である。コンピュータは通信相手のIPアドレスが分かっていても、データを送るには物理的な識別子であるMACアドレスが必要であり、ARPによる問い合わせ結果は一定期間「ARPテーブル」と呼ばれる領域に保存される。
arpコマンドは、引数を指定せずに実行するか「-a」オプションを付けて実行することで、現在のARPテーブルの内容を一覧表示する。各エントリにはIPアドレス、対応するMACアドレス、その登録が動的か静的かの区別などが含まれる。
表示以外の操作も可能であり、「-s」オプションでは特定のIPアドレスとMACアドレスの対応関係を手動で固定的に追加し、「-d」オプションでは登録済みのエントリを削除する。複数のネットワークインターフェースを装着している環境では、操作対象のインターフェースを指定することもできる。UNIX系OSではこれらに加え、「-v」オプションで詳細情報を表示したり、「-f」オプションで指定したファイルから対応関係を読み込んで一括反映したりする機能も用意されている。
ARPテーブルに不正な対応関係が登録されると、本来とは異なる機器にデータが送られる事態が生じる。これは「ARPスプーフィング」(ARP spoofing)と呼ばれる攻撃で悪用される仕組みでもあり、arpコマンドでテーブルの内容を確認することは、通信経路に異常がないかを点検する手段としても利用されている。古い情報がキャッシュに残ることで生じる不整合への対処としても、登録内容の更新や削除が必要になる場面がある。なお、Linux環境では従来「net-tools」パッケージに含まれるarpコマンドが広く使われてきたが、近年では後継として「iproute2」パッケージに含まれるipコマンド(ip neigh)が用いられることが多い。
