Misconfigured or expired ARP cache entries in the system might be one of the reasons for network connectivity problems.
Are you aware that clearing the ARP cache in your system may fix loading problems and connectivity errors?
This article will look at how to check and clear the ARP cache in the different operating systems.
But before that…
What is ARP cache?
ARP stands for Address Resolution Protocol, which is responsible for discovering MAC addresses and mapping them to IP addresses in order to communicate successfully with other systems on the local network. This protocol works between the data link layer and network layer.
Instead of asking the router every time where the particular device is located and what its mac address is, our system would just connect using the previously resolved IP address.
When our systems find the MAC addresses for the particular IP address using ARP protocol, they will be stored in a table for future use. This table is called ARP cache. It contains a list of known IP addresses and their MAC addresses.
ARP request is a broadcast, and ARP reply is unicast.
If the IP addresses of the network-linked devices change, ARP entries can get corrupted or expired, and new entries may not always overrule the database’s expired entries.
As a result, it may impact network performance and may cause loading or connectivity problems. In this case, you can simply clear the ARP cache to resolve the issue because clearing the ARP cache will cause all of your requests to go through the entire ARP process again. During this process, the new entries will be saved in the ARP table.
Some errors may occur during the rebuilding of the ARP cache table, so deleting the ARP cache all the time is not recommended. Instead, you can also reboot your router or system to resolve the connectivity problems.
How to clear the ARP cache?
We can easily clear the ARP cache in any operating system by using the command line. Let’s get started.
Step 1: Open a command prompt and run it as an administrator.
Step 2: To view the ARP cache table, just type the following command.
This command displays the IP addresses, and it’s associated mac addresses.
Step 3: Next, to delete the cache table, you can use netsh utility.
netsh interface IP delete arpcache
or you can simply use
Step 4: If you want to delete any specific entry in the cache, not the whole table.
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 188.8.131.52 01-00-5e-00-00-16 static 184.108.40.206 01-00-5e-00-00-fb static 220.127.116.11 01-00-5e-00-00-fc static Interface: 192.168.56.1 --- 0x14 Internet Address Physical Address Type 18.104.22.168 01-00-5e-00-00-16 static 22.214.171.124 01-00-5e-00-00-fb static 126.96.36.199 01-00-5e-7f-ff-fa static C:\WINDOWS\system32>netsh interface IP delete arpcache Ok.
You will get ‘OK’ as a response if you use the netsh utility to clear the cache table.
Step 1: Open a terminal and use the following IP utility command to clear the whole ARP table.
ip -s -s neigh flush all
Step 2: If you want to delete the ARP record for a particular address, use arp utility.
arp -d <ip-address>
Step 3: After deleting the entries, you can simply use the following command to view the ARP table in Linux.
This command displays the whole arp table.
┌──(root💀kali)-[/home/geekflare] └─# arp -d 10.0.2.1 ┌──(root💀kali)-[/home/geekflare] └─# 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
Here, you can observe the cache entry for the specific address is cleared.
Step 1: Open a terminal in your mac and use the following commands.
Step 2: To view the existing ARP entries.
sudo arp -a
Step 3: To delete the cache for a particular interface
sudo arp -d 192.168.29.1 ifscope en0
Step 4: To clear the whole cache table
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
If you can’t ping a particular IP address in the same network even though they’re working correctly, it’s a sign that something is wrong. Your ARP cache table may need to be reconstructed again.
I hope you found this article helpful in learning how to clear the ARP cache in different operating systems.