Linuxコマンド辞典 arpコマンド(ネットワーク)

カーネルのARPキャッシュを操作する「arp」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

書式

$ arp [オプション] [ホスト名]

Ethernetでリモートホストと通信を行う場合、相手のホスト名からIPアドレスの変換はDNSやhostsファイルで行い、さらに低層階ではIPアドレスとMACアドレスの関連を調べて目的ホストへパケットを届けます。カーネルはIPアドレスとMACアドレスのリストをARPキャッシュとして蓄えます。arpはこのARPキャッシュを操作します。Linuxカーネルでは、/proc/net/arpにarpキャッシュが記述されています。arpコマンドはroot権限が必要となります。

最近のディストリビューションではarpコマンドは非推奨となっています。代わりにipコマンドを使用することを推奨しています。

arpコマンドの主な表示項目

項目説明
AddressIPアドレス/ホスト名
HWtypeデバイスのタイプ(ether:イーサネット)
HWaddressMACアドレス
Flagsフラグ(C:通常のエントリ、M:永続的なエントリ)
Ifaceネットワークインターフェース名

オプション

-n
–numeric
ホスト名の名前解決やポート名/ユーザ名の解決を行わず、数値で表示する
-a [ホスト名]
–display [ホスト名]
ホスト名を指定した場合はそのホストのエントリを表示する。指定がない場合は持っているARPキャッシュを表示する
-d ホスト名
–delete ホスト名
指定したホストをARPキャッシュから削除する
-f ファイル名
–file ファイル名
ファイルを指定してARPテーブルに追加する。ファイルが指定されなければ/etc/ethersを利用する
-i インターフェース名
–device インターフェース名
指定したインターフェースのARPエントリを表示する
-s ホスト名 MACアドレス
–set ホスト名 MACアドレス
指定したホストをしてしたMACアドレスでARPエントリを作成する
-eLinuxスタイルで表示する(デフォルト)

現在のARPキャッシュ状況を表示する

$ cat /proc/net/arp

実行結果

[root@centos ~]# cat /proc/net/arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.0.29     0x1         0x2         d4:5d:64:54:6e:70     *        eth0
192.168.0.1      0x1         0x2         f8:b7:97:23:6b:94     *        eth0
[root@centos ~]# 

arpキャッシュを削除する

$ arp -d IPアドレス

実行結果

[root@centos ~]# arp -d 192.168.0.29

arpキャッシュを作成する

$ arp -s IPアドレス MACアドレス

実行結果

[root@centos ~]# arp -s 192.168.0.29 00:00:00:00:00:00