arpコマンドの使い方|arp -aの見方

arpコマンドの使い方

arpコマンドは、IPアドレスとMACアドレスの対応表(ARPキャッシュ)を表示・削除・追加するコマンドです。Windowsは「arp -a」で一覧を出し、削除は管理者権限で「arp -d」。Linuxでは「ip neigh」が今の標準です。

この記事でわかること

  • arp -aの出力で、「動的」「静的」と各列が何を表すか
  • 削除・静的登録など目的別のオプションと、管理者権限が要る操作
  • Linuxのip neighとCisco IOSのshow ip arpでの同じ作業
  • IPの重複や機器交換の後など、ARPで切り分けられるトラブル
  • ARPテーブルとMACアドレステーブルの違いと、つなげて使う手順

一次情報: Microsoft Learn「arp」(参照)/Linux man-pages「ip-neighbour(8)」(参照)/Cisco IOS IP Addressing Services Command Reference(参照)※2026年10月時点

ARPやMACアドレスは、ネットワークの資格学習で最初につまずきやすいところです。どの資格をどの順で取ると現場で評価されるか、別の記事で整理しました。

目次

arpコマンドとは?IPとMACの対応表を扱うコマンド

arpコマンドとは、パソコンが覚えている「IPアドレスとMACアドレスの対応表」を表示したり、書き換えたりするコマンドです。この対応表をARPキャッシュ(ARPテーブル)と呼びます。

同じネットワークの中で相手に届けるには、IPアドレスだけでなく相手のMACアドレスが要ります。そこで「このIPの持ち主は誰?」とブロードキャストで尋ね、持ち主が自分のMACアドレスを返す仕組みがARPです。手順はRFC 826で決まっています。

返ってきた答えを毎回聞き直すのは無駄なので、しばらく手元に覚えておく。その控えがARPキャッシュで、arpコマンドはそれをのぞく道具です。

ARPキャッシュに載るのは同じネットワークの相手だけ

ここは誤解が多いところです。別のネットワークにいる相手のMACアドレスは、ARPキャッシュに載りません。

インターネット上のサーバーへ通信するとき、パソコンが実際に送り出す先はデフォルトゲートウェイです。だから、キャッシュに載るのはゲートウェイ(ルーター)のIPとMACの組み合わせになります。

ARPキャッシュに載るもの・載らないもの
載るもの載らないもの
同じネットワークの相手(PC・プリンター・サーバー)ルーターの先にいる相手のMAC
デフォルトゲートウェイまだ通信していない相手(問い合わせ前)
ブロードキャスト・マルチキャストの宛先(静的)応答しなかった相手(失敗の記録だけ残ることがある)

arp -aの見方|「動的」「静的」と各列の意味

Windowsでは、コマンドプロンプトで「arp -a」と打つとキャッシュの一覧が出ます。下は日本語表示の出力例で、アドレスは説明用の値です。

インターフェイス: 192.0.2.10 --- 0xb
  インターネット アドレス 物理アドレス           種類
  192.0.2.1             00-00-5e-00-53-01     動的
  192.0.2.20            00-00-5e-00-53-14     動的
  192.0.2.255           ff-ff-ff-ff-ff-ff     静的
  224.0.0.22            01-00-5e-00-00-16     静的
  239.255.255.250       01-00-5e-7f-ff-fa     静的
arp -aの出力の読み方
表示意味見るポイント
インターフェイス: 192.0.2.10どのNICの表か(そのNICのIP)NICが複数あると表も複数出る
— 0xbインターフェイス番号(16進)有線・無線・VPNの区別に使う
インターネット アドレス相手のIPアドレスゲートウェイの行がまず大事
物理アドレス相手のMACアドレス機器交換の前後で変わるか
動的ARPのやり取りで覚えた行時間がたつと自動で消える
静的固定の行(手で登録・OSが自動で置く)消えない。手で消すまで残る

「静的」の行は手で登録したものとは限らない

手で何も登録していないのに「静的」が並んでいて、驚く方は多いはずです。ff-ff-ff-ff-ff-ffはブロードキャスト、01-00-5eで始まるのはIPv4マルチキャストの宛先で、OSが自動で置く行です。

マルチキャストのMACは、IPアドレスの下位23ビットを01-00-5eの後ろに並べて作ります(RFC 7042)。224.0.0.22なら末尾が16(10進の22)、239.255.255.250なら7f-ff-faです。01-00-5eやff-ffの行は気にしなくてよい行と覚えておくと、一覧がぐっと読みやすくなります。

目的別のarpオプション一覧(Windows)

Microsoft Learnの「arp」に載っているオプションを、やりたいこと別に並べ直しました。

arpコマンドのオプション(Windows)
やりたいこと書き方補足
すべての表を見るarp -a-g も同じ動き
特定のIPだけ見るarp -a 192.0.2.1相手が多いときに便利
NICを指定して見るarp -a -N 192.0.2.10-N は大文字。小文字は不可
詳しく見るarp -a -v無効な行やループバックの行も出る
1件消すarp -d 192.0.2.20管理者権限が要る
全部消すarp -d *消してもすぐ載り直す
静的に登録するarp -s 192.0.2.80 00-00-5e-00-53-50再起動など、TCP/IPが止まると消える

-sで登録した行は、TCP/IPが再起動されると消えます。Microsoftの資料は、残したいなら登録コマンドをバッチファイルにして、起動時にタスクで実行する方法を案内しています。

削除は管理者で。消してもすぐ載り直す

arp -dは、管理者として開いたコマンドプロンプトでないと失敗します。スタートメニューで「cmd」を右クリックし、「管理者として実行」を選んでから打ってください。

消した行は、次に通信した瞬間にARPで聞き直されて戻ります。消すのは「古い答えを捨てて聞き直させる」ための操作で、通信が切れるわけではありません。

PowerShellなら状態まで見える

PowerShellのGet-NetNeighborを使うと、arp -aには出ない「状態」まで見えます。IPv4では、この表がARPキャッシュそのものです(Microsoft Learn)。

Get-NetNeighbor -AddressFamily IPv4
Get-NetNeighbor -State Reachable,Stale
Get-NetNeighborの主な状態(State)
状態意味
Reachable直近(1分以内)に到達できたことを確認済み
Stale到達の確認が古くなった。次に送るまで確認しない
Delay/Probe到達を確かめ直している途中
Incomplete問い合わせ中で、MACアドレスがまだ分からない
Unreachable到達できない
Permanent静的に登録された行。設定で消すまで残る

LinuxとCisco IOSでARPテーブルを見る

同じ作業でも、OSと機器でコマンドが違います。Linuxは「ip neigh」、Cisco IOSは「show ip arp」が基本です。

OS・機器別の対応表
やりたいことWindowsLinux(iproute2)Cisco IOS
一覧を見るarp -aip neighshow ip arp
特定のIPだけarp -a IPip neigh show IPshow ip arp IP
1件消すarp -d IPip neigh del IP dev eth0clear arp-cache(全体)
まとめて消すarp -d *ip neigh flush dev eth0clear arp-cache
静的に登録arp -s IP MACip neigh add IP lladdr MAC dev eth0 nud permanentarp IP MAC arpa
覚えている時間状態で管理状態で管理(既定30秒が基準)既定4時間

Linuxはip neighで状態を読む

Linuxの「ip neigh」は、1行に1件ずつ、最後に状態を付けて表示します。

192.0.2.1 dev eth0 lladdr 00:00:5e:00:53:01 REACHABLE
192.0.2.20 dev eth0 lladdr 00:00:5e:00:53:14 STALE
192.0.2.30 dev eth0 FAILED

REACHABLEは確認済み、STALEは「有効だが確認が古い」、FAILEDは何度問い合わせても答えが無かった状態です(man ip-neighbour)。

確認済みの行が有効とみなされる時間は、base_reachable_timeを基準にランダムに決まります。既定は30秒で、その半分から1.5倍の間です(man arp(7))。古いnet-toolsのarpコマンドも使えますが、入っていない環境が増えています。

Cisco IOSはshow ip arpのAgeを見る

Cisco IOSの「show ip arp」は、Ageの列で分単位の経過時間を表します。シスコのコマンドリファレンスによると、Ageが「-」の行はその機器自身のアドレスです。

Protocol  Address        Age (min)  Hardware Addr   Type   Interface
Internet  192.0.2.1             -   0000.5e00.5301  ARPA   GigabitEthernet0/0
Internet  192.0.2.20           12   0000.5e00.5314  ARPA   GigabitEthernet0/0
Internet  192.0.2.30            0   Incomplete      ARPA

Hardware Addrが「Incomplete」の行は、問い合わせたのに答えが返っていない相手です。Cisco IOSの既定の保持時間(arp timeout)は14,400秒=4時間で、インターフェースごとに変えられます。シスコの資料には、1時間未満に縮めると通信量が大きく増えるという注意書きもあるので、むやみに短くしないのが無難です。

arpで切り分けられるトラブル

ARPキャッシュは、通信できないときの手がかりになります。「IPでは届くはずなのに届かない」とき、MACの段階で止まっていないかを見る道具です。

ARPキャッシュの見え方で疑う場所が変わる

  • 同じネットワークの相手と通信できない
    • 行が無い・Incomplete・FAILED相手が答えていない。電源・ケーブル・VLAN・IPの設定違いを疑う
    • MACが前と違う機器を交換した直後なら古いキャッシュ。arp -dで聞き直させる
    • 同じIPでMACが入れ替わるIPの重複。2台が同じIPを名乗っている
    • ゲートウェイのMACが急に変わった冗長化の切り替えか、なりすまし。どちらかを確かめる

図:行が無いのか、MACが違うのかで、次に見る場所が決まる

機器を交換した後につながらない

プリンターやルーターを同じIPのまま交換すると、周りの機器は古いMACを覚えたままのことがあります。しばらく待てば自然に聞き直されますが、すぐに直したいときは「arp -d 対象のIP」で古い行を捨てます。

Cisco IOSのルーターやL3スイッチは、既定で4時間覚えたままです。サーバーを入れ替えたのにルーター越しの通信だけ戻らない場合は、ルーター側で「clear arp-cache」を打つと解消することがあります。

IPアドレスの重複を見つける

arp -aを何度か打って、同じIPのMACが入れ替わるなら、2台が同じIPを名乗っている疑いが濃いです。MACアドレスの先頭6桁(ベンダー識別子)を見ると、どのメーカーの機器かの見当がつきます。

Linuxなら「arping -D -I eth0 192.0.2.20」で、そのIPを使っている機器がいないかを確かめられます。-Dは重複検出のモードで、誰も答えなければ終了コード0を返します(man arping)。

ゲートウェイのMACが急に変わった

ルーターを2台で冗長化していると、切り替わりでゲートウェイのMACが変わることがあります。VRRPでは、仮想ルーターのMACは00-00-5e-00-01-(VRID)の形と決まっています(RFC 5798)。この形なら冗長化の仮想MACです。

一方、理由なくゲートウェイのMACが別の端末のMACに変わったら、ARPのなりすまし(ARPスプーフィング)を疑います。社内の担当窓口へ早めに相談してください。

ARPテーブルとMACアドレステーブルの違い

名前が似ていて混同しやすいのが、スイッチのMACアドレステーブルです。役割がまったく違います。

ARPテーブルとMACアドレステーブル
項目ARPテーブルMACアドレステーブル
持っている機器PC・サーバー・ルーター(IPを扱う機器)L2スイッチ
中身IPアドレス ⇔ MACアドレスMACアドレス ⇔ スイッチのポート
見るコマンドarp -a/ip neigh/show ip arpshow mac address-table
分かることそのIPの持ち主のMACそのMACの機器がどの差し口にいるか

IPから物理的な差し口までたどる

ARPテーブルとMACアドレステーブルをつなげると、「IP 192.0.2.20の機器は、どのスイッチのどのポートにいるのか」まで追えます。配線図が古い現場で、問題の端末を探すときに使う手順です。

IPアドレスから差し口のポートまでたどる

  • 問題の端末のIPは分かるが、どこにつながっているか分からないときに使います。
  • 1pingを1回打ってからarp -a同じネットワークのPCかルーターで、そのIPのMACアドレスを調べる
  • 2show mac address-tableでMACを探すコアのスイッチで、そのMACがどのポートの先にいるかを見る
  • 3ポートの先がスイッチなら、そのスイッチで繰り返す末端のポートに当たるまで、1台ずつたどる

pingを先に打つのは、ARPキャッシュに相手の行を載せるため。

図:ARPテーブルでMACを知り、MACアドレステーブルで差し口を知る

Cisco IOSのスイッチでは「show mac address-table address 0000.5e00.5314」のように、MACを指定して探せます。MACの書き方が「00-00-5e-…」と「0000.5e00.…」で違うので、打ち直すときは区切りに注意してください。

よくある質問

arp -aに自分のIPアドレスが出てこないのはなぜですか?

ARPキャッシュに載るのは、自分が通信した相手です。自分自身の行は載りません。「インターフェイス:」の後ろに出ているIPが、そのNICに付いている自分のアドレスです。

動的のエントリはどれくらいで消えますか?

OSと機器で違います。Linuxは確認済みの状態がbase_reachable_time(既定30秒)を基準にした時間で古くなり、使われなければ消されます。Cisco IOSは既定で4時間です。Windowsは状態(Reachable・Staleなど)で管理していて、Get-NetNeighborで今の状態を確かめられます。

arp -dで削除できないときはどうすればいいですか?

管理者として開いていないコマンドプロンプトでは削除できません。「管理者として実行」で開き直してから打ってください。PowerShellのRemove-NetNeighborでも削除できます。

別のネットワークにあるPCのMACアドレスは、arpで調べられますか?

調べられません。ルーターの先にいる相手へは、ゲートウェイのMACあてに送るので、キャッシュに載るのはゲートウェイの行です。相手のMACを知りたいときは、相手と同じネットワークにある機器でarpを打つか、相手のPCで直接確かめます。

ff-ff-ff-ff-ff-ffや01-00-5eで始まる行は消していいですか?

消す必要はありません。ff-ff-ff-ff-ff-ffはブロードキャスト、01-00-5eで始まるのはマルチキャストの宛先で、OSが自動で置く静的な行です。トラブルの原因になることはまずありません。

まとめ

  • arpコマンドは、IPとMACの対応表(ARPキャッシュ)を表示・削除・登録するコマンド
  • 載るのは同じネットワークの相手とゲートウェイだけ。ルーターの先の相手は載らない
  • Windowsはarp -aで一覧、arp -dで削除(管理者)。Linuxはip neigh、Cisco IOSはshow ip arp
  • 行が無い・MACが違う・MACが入れ替わる、の3つで疑う場所が変わる
  • スイッチのMACアドレステーブルとつなげると、IPから差し口のポートまでたどれる

ARPで「MACまでは届いている」と分かったら、次はIPの経路です。pingやtracertと組み合わせると、止まっている場所をさらに狭められます。

ARPやMACアドレステーブルを読んで障害の場所を絞る作業は、監視・運用の現場でよく任されます。監視から構築側へ進む道筋を、段階ごとにまとめた記事です。

監視オペレーターからインフラエンジニアへ進む道を見る


免責事項

※本記事はMicrosoft・シスコシステムズの公式ドキュメント、Linuxのマニュアル、RFCなどの公開情報をもとに整理したものです。コマンドの表示や既定値は、OSのバージョンや機器の設定によって変わる場合があります。業務で使う機器では、所属先の手順とベンダーの最新資料をあわせてご確認ください。


よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Tanabeです。新卒でSIerに入り、ネットワークの設計から構築、運用保守、クラウド移行まで10年やってきました。その間に転職を3回、CCNPも取りました。

正直に言うと、資格を取っても年収はすぐには上がりませんでした。1回目の転職は失敗、2回目でようやく150万円上がり、3回目で今の事業会社に落ち着いた。動いてみて分かったのは、資格の有無より「現場で何を任されてきたか」で評価が決まる、ということです。

エージェントの言葉を鵜呑みにして、危うく後悔しかけた経験もあります。だからこそ、自分がやらかした失敗をそのまま書いて、同じ回り道をしなくて済むように残しています。転職を考え始めた人が、条件で損をしないための材料にしてもらえたら嬉しいです。

目次