システム内の ARP キャッシュ エントリが誤って設定されているか、期限切れになっていることが、ネットワーク接続の問題の原因の 1 つである可能性があります。
システムの ARP キャッシュをクリアすると、読み込みの問題や接続エラーが解決される可能性があることをご存知ですか?
この記事では、さまざまなオペレーティング システムで ARP キャッシュを確認およびクリアする方法について説明します。
でもその前に…
ARPキャッシュとは何ですか?
ARP は Address Resolution Protocol の略で、ローカル ネットワーク上の他のシステムと正常に通信するために MAC アドレスを検出し、それらを IP アドレスにマッピングする役割を果たします。このプロトコルは、データリンク層とネットワーク層の間で機能します。
特定のデバイスがどこにあるか、その MAC アドレスが何であるかを毎回ルーターに問い合わせる代わりに、システムは以前に解決された IP アドレスを使用して接続するだけです。
当社のシステムが ARP プロトコルを使用して特定の IP アドレスの MAC アドレスを見つけると、将来の使用に備えてテーブルに保存されます。このテーブルは ARP キャッシュと呼ばれます。これには、既知の IP アドレスとその MAC アドレスのリストが含まれています。
ARP 要求はブロードキャストであり、ARP 応答はユニキャストです。
?
ネットワークにリンクされたデバイスの IP アドレスが変更されると、ARP エントリが破損したり期限切れになったりする可能性があり、新しいエントリがデータベースの期限切れのエントリを必ずしも無効にするわけではありません。
その結果、ネットワークのパフォーマンスに影響を与え、負荷や接続の問題が発生する可能性があります。この場合、ARP キャッシュをクリアすると、すべてのリクエストが ARP プロセス全体を再度実行されるため、ARP キャッシュをクリアするだけで問題を解決できます。このプロセス中に、新しいエントリが ARP テーブルに保存されます。
ARP キャッシュ テーブルの再構築中にエラーが発生する可能性があるため、ARP キャッシュを常に削除することはお勧めできません。代わりに、ルーターまたはシステムを再起動して接続の問題を解決することもできます。
ARPキャッシュをクリアするにはどうすればよいですか?
コマンド ラインを使用すると、どのオペレーティング システムでも ARP キャッシュを簡単にクリアできます。始めましょう。
ウィンドウズ
ステップ 1: コマンド プロンプトを開き、管理者として実行します。
ステップ 2: ARP キャッシュ テーブルを表示するには、次のコマンドを入力するだけです。
arp -a
このコマンドは、IP アドレスとそれに関連付けられた MAC アドレスを表示します。
ステップ 3: 次に、キャッシュ テーブルを削除するには、netsh ユーティリティを使用します。
netsh interface IP delete arpcache
または単に使用することもできます
arp -d
ステップ 4: テーブル全体ではなく、キャッシュ内の特定のエントリを削除する場合。
arp -d <ip-address>
サンプル出力:
C:\WINDOWS\system32>arp -a
Interface: 192.168.29.64 --- 0xd
Internet Address Physical Address Type
192.168.29.1 a8-da-0c-e8-0e-e6 dynamic
224.0.0.22 01-00-5e-00-00-16 static
224.0.0.251 01-00-5e-00-00-fb static
224.0.0.252 01-00-5e-00-00-fc static
Interface: 192.168.56.1 --- 0x14
Internet Address Physical Address Type
224.0.0.22 01-00-5e-00-00-16 static
224.0.0.251 01-00-5e-00-00-fb static
239.255.255.250 01-00-5e-7f-ff-fa static
C:\WINDOWS\system32>netsh interface IP delete arpcache
Ok.
netsh ユーティリティを使用してキャッシュ テーブルをクリアすると、応答として「OK」が返されます。
Linux
ステップ 1: 端末を開き、次の IP ユーティリティ コマンドを使用して、ARP テーブル全体をクリアします。
ip -s -s neigh flush all
ステップ 2: 特定のアドレスの ARP レコードを削除する場合は、arp ユーティリティを使用します。
arp -d <ip-address>
ステップ 3: エントリを削除した後、次のコマンドを使用するだけで、Linux で ARP テーブルを表示できます。
arp -n
このコマンドは、ARP テーブル全体を表示します。
出力例:
┌──(root💀kali)-[/home/]
└─# arp -d 10.0.2.1
┌──(root💀kali)-[/home/]
└─# arp -n
Address HWtype HWaddress Flags Mask Interface
10.0.2.1 (incomplete)
10.0.2.2 ether 01:00:5e:00:00:fc C eth0
10.0.2.3 ether a8:da:0c:e8:0e:e6 C eth0
ここでは、特定のアドレスのキャッシュ エントリがクリアされていることがわかります。
マック
ステップ 1: Mac でターミナルを開き、次のコマンドを使用します。
ステップ 2: 既存の ARP エントリを表示します。
sudo arp -a
ステップ 3: 特定のインターフェースのキャッシュを削除するには
sudo arp -d 192.168.29.1 ifscope en0
ステップ 4: キャッシュ テーブル全体をクリアするには
sudo arp -a -d
出力例:
$ sudo arp -a
? (192.168.29.1) at 01:00:5e:00:00:fc on en0 ifscope [ethernet]
? (192.168.2.13) at a8:da:0c:e8:0e:e6 on en0 ifscope [ethernet]
? (192.168.1.21) at 01:00:5e:00:0e:16 on en0 ifscope permanent [ethernet]
$ sudo arp -a -d
192.168.29.1 (192.168.29.1) deleted
192.168.2.13 (192.168.2.13) deleted
192.168.1.21 (192.168.1.21) deleted
結論
同じネットワーク内の特定の IP アドレスが正しく動作しているにもかかわらず、その IP アドレスに ping を送信できない場合は、何か問題があることを示しています。 ARP キャッシュ テーブルを再度再構築する必要がある場合があります。
この記事が、さまざまなオペレーティング システムで ARP キャッシュをクリアする方法を学ぶのに役立つことを願っています。
また、ブラウジングを高速化するために DNS サーバーを変更する方法や、Windows、Linux、Mac でルートキットを検出する方法について知りたいかもしれません。






![2021 年に Raspberry Pi Web サーバーをセットアップする方法 [ガイド]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)




