• Get application security done the right way! Detect, Protect, Monitor, Accelerate, and more…
  • 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.

    When to clear the ARP cache?

    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.

    Windows

    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.

    arp -a

    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

    arp -d

    Step 4: If you want to delete any specific entry in the cache, not the whole table.

    arp -d <ip-address>

    Sample Output:

    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.
    

    You will get ‘OK’ as a response if you use the netsh utility to clear the cache table.

    Linux

    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.

    arp -n

    This command displays the whole arp table.

    Sample output:

    ┌──(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.

    Mac

    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

    Sample output:

    $ 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

    Conclusion

    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.

    You may also be interested in knowing how to change DNS servers for faster browsing.