連載
» 2017年10月26日 05時00分 公開

Linux基本コマンドTips(155):【 arp 】コマンド――ARPテーブルを管理する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ARPテーブルの管理を行う「arp」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ARP(Address Resolution Protocol)テーブルの管理を行う「arp」コマンドです。

arpコマンドとは?

 arpコマンドは、IPアドレスとMACアドレスの対応などを管理するARPテーブルの内容(エントリ)を表示したり、エントリを追加、削除したりするコマンドです ※1。

 古くから使われているコマンドですが、現在はネットワーク関連の機能を集約したipコマンドへの移行が進んでいます。arpコマンドの機能は「ip neigh」(連載第149回)に相当します。

※1 イーサネットで通信するためには、通信相手のMAC(Media Access Control)アドレスが必要だ。例えば画面1の「08:00:27:c6:ec:9a」がMACアドレスである。MACアドレスを求めるためのプロトコルがARPであり、ARPテーブルは取得したMACアドレスをIPアドレスとひも付けしたものだ。





arpコマンドの書式

arp [オプション]

※[ ]は省略可能な引数を示しています。




arpの主なオプション(操作関係)

短いオプション 長いオプション 意味
-d ホスト --delete ホスト 指定したホストのエントリを削除する
-s ホスト アドレス [pub] --set ホスト アドレス エントリを設定する。イーサネットの場合、IPアドレス、MACアドレスの順に指定(MACアドレスは16進数で0:0:0:0:0:0のようにコロンで区切って記述)。設定したエントリにはMフラグが付く。pubフラグを指定すると公開エントリとなる
-D --use-device ハードウェアアドレスの代わりにインタフェース名を使う ※2
-f ファイル名 --file ファイル名 エントリを-sオプションで指定する代わりにファイルから読み込む(ファイル名を指定しなかった場合は/etc/ethersを使用)

※2 arpマニュアル記載のサンプル:arp -i eth0 -Ds 10.0.0.2 eth1 pub(eth0の10.0.0.2へのリクエストには、eth1のアドレスで応える、代理ARP)



arpの主なオプション(その他、共通)

短いオプション 長いオプション 意味
-n --numeric 名前を解決せずIPアドレスやポート番号を数字のまま表示する
-v --verbose 詳しい情報を表示する
-a [ホスト] --display [ホスト] 指定したホスト(名前またはIPアドレス)のエントリを表示する。ホストを指定しなかった場合は全てのホストのエントリを表示する
-i インタフェース --device インタフェース 対象とするインタフェースを指定する
-H クラス --hw-type クラス 対象とするクラスをether(イーサネット、デフォルト)、arcnet(ARCnet)、pronet(PROnet)、ax25(AX.25)、netrom(NET/ROM)から指定する


現在の設定を表示する

 「arp」で現在のエントリを一覧表示します。通常のエントリには「C」フラグを、永続的(Permanent)なエントリには「M」を、公開(Pub)エントリには「P」を表示します(P以外は非公開)。「C」のみのエントリは、利用されないまま一定時間が経過するとユーザーの操作とは無関係に自動で削除されます。

コマンド実行例

arp

(ARPテーブルのエントリを表示する)(画面1


画面1 画面1 ARPテーブルのエントリを表示したところ


arpテーブルのエントリを追加、削除する

 「arp -s IPアドレス MACアドレス」で、arpテーブルにエントリを追加します。エントリを削除する場合は、「arp -d IPアドレス」とします。どちらもroot権限が必要です(連載第68回)。

 画面2の例では、「-d」オプションで登録を削除した後から始め、あらためて「-s」オプションで追加しています。

コマンド実行例

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

(エントリを追加する)

arp -d IPアドレス

(エントリを削除する)(画面2


画面2 画面2 arpテーブルにエントリを追加したところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。