Your ARP table is one of those networking details most people never think about until something breaks locally. Then it becomes very important very quickly.
ARP stands for Address Resolution Protocol. Its job is simple: map an IPv4 address on your local network to a MAC address so Ethernet frames can actually be delivered. The ARP table is the cache where your operating system stores those mappings temporarily.
Why the ARP Table Exists
Suppose your PC wants to send traffic to 192.168.1.10.
IP addressing tells the computer which host it wants. Ethernet delivery still needs to know which MAC address owns that IP on the local LAN.
That is where ARP comes in.
Without ARP, a device on a local IPv4 subnet would know the logical destination but not the Layer 2 address needed to place the frame on the wire.
How ARP Works in Practice
The process usually looks like this:
- Your device wants to reach
192.168.1.10. - It checks the local ARP cache first.
- If no entry exists, it broadcasts an ARP request: "Who has 192.168.1.10?"
- The owner of that IP replies with its MAC address.
- Your device stores the mapping in the ARP table.
- Traffic is then sent to that MAC address until the entry ages out or changes.
ARP only works on the local broadcast domain. If the destination is outside your subnet, your device resolves the router's MAC address, not the final remote host's MAC.
What an ARP Table Entry Looks Like
A typical entry contains:
- IP address
- MAC address
- interface
- entry type or neighbor state
Depending on the operating system, you may also see whether the entry is dynamic, static, reachable, stale, incomplete, or failed.
How to View the ARP Table
Windows
arp -a
Linux
ip neigh show
The older arp -a command may also work on Linux, but ip neigh is the modern tool.
macOS
arp -a
When you inspect the output, look for the exact IP you are troubleshooting and confirm that the MAC address matches the expected device.
How to Clear or Modify ARP Entries
Delete one entry on Windows
arp -d 192.168.1.10
Flush the full ARP cache on Windows
netsh interface ip delete arpcache
Flush neighbor entries on Linux
ip neigh flush all
Add a static entry on Linux
ip neigh add 192.168.1.10 lladdr AA:BB:CC:DD:EE:FF dev eth0
Static entries can be useful in controlled environments, but overusing them creates maintenance headaches if hardware changes later.
Real Problems the ARP Table Helps Diagnose
Duplicate IP address conflicts
If two devices claim the same IP, you may see the ARP entry flip between two MAC addresses. Symptoms include intermittent connectivity, failed pings, and devices randomly becoming unreachable.
Device replacement or VM migration
If a NIC changes or a VM moves, an old cache entry may still point to the previous MAC address. Flushing ARP forces a fresh lookup.
Printer or NAS reachable from one machine but not another
That often means one system has a valid ARP entry while another has a stale or poisoned one.
Gateway resolution problems
If hosts on the subnet cannot even reach the default gateway, check whether the router IP resolves to the correct MAC address.
Security Risk: ARP Spoofing
ARP was not designed with strong authentication. That makes it vulnerable to ARP spoofing or ARP poisoning, where an attacker sends forged ARP replies to convince victims that the attacker's MAC address belongs to another IP, often the default gateway.
This can enable:
- man-in-the-middle interception
- traffic redirection
- session hijacking in weak environments
- denial of service
Common defenses include:
- Dynamic ARP Inspection on managed switches
- DHCP snooping plus switch-level enforcement
- network segmentation
- HTTPS and other encrypted protocols that reduce the value of interception
- static ARP entries for a few critical hosts where appropriate
ARP Table vs MAC Address Table
These are not the same thing.
- ARP table lives on hosts and maps IPv4 addresses to MAC addresses.
- MAC address table lives on switches and maps MAC addresses to switch ports.
People mix them up constantly during troubleshooting. If the host knows the wrong MAC, check ARP. If the switch forwards frames to the wrong port, check the switch MAC table.
Quick Troubleshooting Workflow
If one device cannot reach another on the same subnet:
- Ping the target IP.
- Run
arp -aorip neigh show. - Verify the target IP resolves to the expected MAC.
- Flush the entry if it looks wrong.
- Retry traffic.
- If the MAC keeps changing, investigate duplicate IPs or spoofing.
That simple sequence solves a surprising number of "the network is weird" local-LAN problems.
Bottom Line
The ARP table is the local map between IPv4 addresses and MAC addresses. It is small, temporary, and absolutely essential for communication inside a subnet.
If two devices on the same LAN cannot reach each other, the ARP table should be one of your first checks. And if the entries look unstable or wrong, you may be dealing with duplicate IPs, stale cache, or ARP spoofing rather than a generic "internet issue."