ネットワークの試験でよく出てくるARPコマンド。
ネットワークの基本のARPコマンドは、IPアドレスとMACアドレスを対応づけている、ARPテーブルを管理するために使います。
ARPテーブルとは
ARPは、Address Resolution Protocol (アドレス解決プロトコル)の略です。
ARPコマンドで管理するARPテーブルは、IPアドレスとMACアドレスの紐付け(ARPキャッシュ)を持っています。
以下のARPテーブルの例で、左側にはIPアドレス(インターネット アドレス)が、中央にMACアドレス(物理アドレス)が記載されています。
- ARPテーブルの例
インターフェイス: 192.168.1.14 --- 0xd インターネット アドレス 物理アドレス 種類 192.168.1.1 cc-1a-fa-c0-a0-6e 動的 192.168.1.2 a8-13-74-58-75-37 動的 …… 255.255.255.255 ff-ff-ff-ff-ff-ff 静的
ARPテーブルはどんな時に使うか
IPアドレスを元にMACアドレスを取得するときに、ARPテーブルを使います。
通常、他のコンピューターにデータを送信するときには、IPアドレスを指定して送信します。
データを送信するためには、IPアドレスだけではなく、MACアドレスを特定する必要があります。
MACアドレスを取得するために、ARPテーブルを参照して、IPアドレスを元に、送信先のMACアドレスを取得します。
ARPテーブルに保存されている情報の事をARPキャッシュと呼び、ARP要求やARP応答の度に更新されます。
ARPキャッシュは一定時間で破棄されます。
OSI参照モデルではネットワーク層のプロトコル
ARPコマンドを始めとするAPRプロトコルは、OSI参照モデルの第3層(=L3)のネットワーク層に位置します。
ネットワーク層には、IPも含まれています。
一層下の第2層(=L2)には、MACアドレスを元にデータを送受信するイーサネットプロトコルが位置しています。
ARPコマンドの使い方
arpテーブルの内容を表示
- コマンド
arp -a
- 出力結果の例
>arp -a インターフェイス: 192.168.1.14 --- 0xd インターネット アドレス 物理アドレス 種類 192.168.1.1 cc-1a-fa-c0-a0-6e 動的 192.168.1.2 a8-13-74-58-75-37 動的 192.168.1.8 00-11-32-9f-4c-0d 動的 …… 255.255.255.255 ff-ff-ff-ff-ff-ff 静的
arpテーブルの中で、指定されたIPアドレスのみ表示
- コマンド
arp -a ipアドレス
- 出力結果の例
>arp -a 192.168.1.8 インターフェイス: 192.168.1.14 --- 0xd インターネット アドレス 物理アドレス 種類 192.168.1.8 00-11-32-9f-4c-0d 動的
ARPテーブルにエントリを手動追加
arpプロトコルでは、定期的にIPアドレスとMACアドレスの紐付けを確認するため、ブロードキャストを使ってARPキャッシュの更新を行います。
無駄なブロードキャストを避けるため、手動で静的なエントリをARPテーブルに追加することも可能です。
エントリの手動追加には、管理者権限が必要です。
- コマンド
arp -s ipアドレス MACアドレス
- 実行例
>arp -s 192.168.1.20 00-11-32-9f-4c-0d
- ARPテーブルに静的エントリが追加されていることを確認
>arp -a 192.168.1.20 インターフェイス: 192.168.1.14 --- 0xd インターネット アドレス 物理アドレス 種類 192.168.1.20 00-11-32-9f-4c-0d 静的
ARPテーブルのエントリを手動削除
先ほどとは逆に、ARPテーブルのエントリを削除します。
- コマンド
arp -d ipアドレス
- 実行例
>arp -d 192.168.1.20
- ARPテーブルの静的エントリが削除されていることを確認
>arp -a 192.168.1.20 ARP エントリが見つかりませんでした。