ARP(Address Resolution Protocol)は、IPアドレスとMACアドレスを対応付けるためのプロトコルです。ネットワーク機器が通信を行う際、ARPテーブルにエントリが登録され、適切なデバイスへパケットが転送されます。本記事では、ARPテーブルにエントリが載る仕組みや、現在のネットワーク内のデバイスを一覧化する方法について解説します。
ARPテーブルにエントリが載る仕組み
ARPテーブルにエントリが追加されるのは、主に次のような場合です。
1. 通信を行う際に動的に登録される
デバイスが通信を行う際、送信先のMACアドレスが不明な場合、ARPリクエストをブロードキャストしてMACアドレスを取得します。応答(ARPリプライ)が返ってくると、その情報がARPテーブルに記録されます。
2. デフォルトゲートウェイへの定期的な通信
多くのネットワーク機器は、デフォルトゲートウェイへ定期的に通信を行い、その都度ARPテーブルを更新します。例えば、ルーターがクライアントからのARPリクエストを受けた際、エントリが生成されます。
3. 静的ARPエントリの設定
管理者が手動で特定のIPアドレスとMACアドレスの対応を設定することも可能です。これにより、ARPリクエストを行わずに通信が可能になります。Windowsでは、以下のコマンドで静的ARPエントリを追加できます。
arp -s 192.168.1.10 00-1A-2B-3C-4D-5E
ARPテーブルを確認する方法
ARPテーブルの内容を確認するには、OSごとに次のコマンドを使用します。
Windowsの場合
コマンドプロンプトで以下を実行すると、現在のARPテーブルを確認できます。
arp -a
このコマンドを実行すると、現在のネットワーク内で学習したIPアドレスと対応するMACアドレスの一覧が表示されます。
Linux/macOSの場合
ターミナルで以下を実行すると、ARPテーブルを確認できます。
arp -n
現在のセグメント範囲のすべてのデバイスを確認する方法
ネットワーク内のすべてのデバイスにpingを送信し、ARPテーブルを更新する方法を紹介します。
Windowsでセグメント内の全IPアドレスにpingを送る
バッチファイルを作成し、以下のスクリプトを実行することで、ネットワーク上の全デバイスにpingを送信できます。
for /l %i in (1,1,254) do ping -n 1 192.168.1.%i
実行後、arp -a
コマンドを再度実行すれば、発見されたデバイスのARP情報が確認できます。
Linux/macOSでセグメント内の全IPアドレスにpingを送る
シェルスクリプトを用いて全IPアドレスにpingを送信できます。
for i in {1..254}; do ping -c 1 192.168.1.$i; done
まとめ
・ARPテーブルにエントリが載るのは、通信が発生した際やデフォルトゲートウェイとの通信時である。
・arp -a
コマンドを実行することで、現在のARPテーブルを確認できる。
・セグメント内の全IPアドレスにpingを送ることで、ARPテーブルにエントリを追加し、ネットワーク内のデバイスを特定できる。
これらの方法を活用し、ネットワーク管理を円滑に進めていきましょう。
コメント