arpコマンドの使い方と arp -a の見方 — ARPテーブルの確認・削除

公開: 2026年10月 カテゴリ: インフラ実務

同じLANの中で通信するとき、PCは相手のIPアドレスから「MACアドレス」を調べ、その対応を覚えておきます。この対応表がARPテーブルで、arp コマンドで中身を見たり消したりできます。この記事では、日本語版Windowsで実際に表示される画面をもとに、arp -a の読み方と、実務で役に立つ場面を説明します。

ARPとARPテーブル

ARP(Address Resolution Protocol)は、「このIPアドレスを持っている機器のMACアドレスを教えて」とLAN全体に問い合わせ、返ってきた答えを使って通信する仕組みです。毎回問い合わせると時間がかかるので、答えはしばらくARPテーブルに保存され、次からはそれを使います。問い合わせの流れやルーターとの関係は、IPアドレスとMACアドレスの違いで図にしています。

arp -a の見方

コマンドプロンプトかPowerShellで arp -a を実行すると、次のように表示されます(アドレスは説明用の値に置き換えています)。

インターフェイス: 192.168.1.10 --- 0x9
  インターネット アドレス 物理アドレス           種類
  192.168.1.1           00-1a-2b-3c-4d-5e     動的
  192.168.1.20          00-1a-2b-aa-bb-cc     動的
  192.168.1.255         ff-ff-ff-ff-ff-ff     静的
  224.0.0.22            01-00-5e-00-00-16     静的
  224.0.0.251           01-00-5e-00-00-fb     静的
  239.255.255.250       01-00-5e-7f-ff-fa     静的
部分意味
インターフェイス: 192.168.1.10 --- 0x9自分のPCのどのネットワーク接続の表か。192.168.1.10 は自分のIPアドレス、0x9 はその接続の番号。有線とWi-Fiの両方につながっていると、表が2つ出る
インターネット アドレス相手のIPアドレス
物理アドレス相手のMACアドレス
動的ARPで問い合わせて覚えたもの。しばらく通信がないと古いものとして扱われ、次に通信するときに確かめ直される
静的問い合わせずに決まっているもの(下で説明)

ふつうは1行目にデフォルトゲートウェイ(自宅や社内のルーター)が出ます。LANの外と通信するときも、PCがMACアドレスを知る必要があるのはこのルーターまでだからです。

「静的」の行と ff-ff-ff-ff-ff-ff・01-00-5e の正体

自分で何も登録していないのに「静的」の行が並ぶのは、問い合わせなくても計算で決まるアドレスがあるからです。

どれも普通の動作なので、消したり気にしたりする必要はありません。調べたいのは「動的」の行です。

よく使うコマンド

やりたいことWindowsLinux
一覧を見るarp -aip neigh
特定のIPアドレスだけ見るarp -a 192.168.1.1ip neigh show 192.168.1.1
1件消す(管理者)arp -d 192.168.1.20sudo ip neigh del 192.168.1.20 dev eth0
全部消す(管理者)arp -d *sudo ip neigh flush all

指定したIPアドレスがテーブルに無いと「ARP エントリが見つかりませんでした。」と表示されます。また、管理者として開いていないコマンドプロンプトで消そうとすると「ARP エントリを削除できませんでした: 要求された操作には管理者特権が必要です。」となります。

PowerShellなら Get-NetNeighbor -AddressFamily IPv4 で同じ表が見られ、State欄に状態が出ます。Reachable(最近通信して確かめ済み)、Stale(しばらく通信がなく、次に使うときに確かめ直す)、Permanent(arp -a の「静的」にあたる)、Unreachable(問い合わせても応答がなかった)のどれかです。

実務で使う場面

同じLANの機器にpingは通らないが、いるかどうかを確かめたい
Windowsの標準設定のように、pingに応答しない機器もあります。それでもARPには応答するので、ping 相手 を打ったあとに arp -a 相手 で物理アドレスが出れば、その機器は同じLAN上で動いています。ARPは同じLANの中の仕組みなので、ルーターの向こう側の機器はこの方法では確かめられません。

IPアドレスの重複を疑うとき
通信が途切れたりつながったりするときは、2台の機器が同じIPアドレスを使っている可能性があります。arp -a でそのIPアドレスの物理アドレスを確かめ、本来の機器のMACアドレスと違えば、別の機器が同じアドレスを名乗っています。MACアドレスの先頭6桁から製造メーカーが分かるので、MACアドレス ベンダー検索に入れれば「どの機器か」の手がかりになります。

機器を交換したら、同じIPアドレスなのにつながらない
ルーターやプリンターを同じIPアドレスのまま新しい機器に替えると、PCのARPテーブルに古い機器のMACアドレスが残っていて、しばらく古い相手に送り続けることがあります。管理者のコマンドプロンプトで arp -d 対象のIPアドレス を実行して古い記録を消すと、次の通信で新しいMACアドレスを問い合わせ直します。

ARPのなりすまし(ARPスプーフィング)に注意

ARPには、返ってきた答えが本物かを確かめる仕組みがありません。そのため、同じLANにいる悪意のある機器が「ルーターのMACアドレスは私です」と偽の答えを送ると、PCの通信がその機器を経由してしまいます。これをARPスプーフィングと呼びます。arp -a で、デフォルトゲートウェイの物理アドレスが急に変わっていたり、複数のIPアドレスが同じ物理アドレスになっていたりしたら、疑うきっかけになります。

よくある質問

Q. arp -a に出てこない機器があるのはなぜ?
A. ARPテーブルには、最近通信した相手しか載りません。同じLANの機器なら、先に ping 相手 などで一度通信すると表示されます。ルーターの向こう側(別のネットワーク)の機器は、通信していても載りません。

Q. 「動的」の行はいつ消える?
A. しばらく通信がないと古いもの(PowerShellのStateが Stale)として扱われ、次に通信するときに問い合わせて確かめ直されます。待たずに消したいときは、管理者で arp -d を実行します。

Q. arp -d がエラーになる。
A. ARPテーブルの削除には管理者の権限が必要です。スタートメニューでコマンドプロンプトを右クリックし、「管理者として実行」で開いてから実行してください。

🔗 関連:IPアドレスとMACアドレスの違い / MACアドレス ベンダー検索 / pingの使い方と結果の見方 / tracertの使い方と結果の見方