Networking 8 min read

ARP Command Explained: See Every Device on Your Local Network

Learn how to use ARP to discover devices on your network, troubleshoot connection issues, detect ARP spoofing attacks, and understand how local network communication really works.

March 24, 2026

Why ARP Is the Foundation of Local Networking

Your computer knows how to talk to the internet using IP addresses. But on your local network—between your computer, your router, your printer, your phone—devices don't actually use IP addresses to communicate. They use MAC addresses, which are hardcoded into every network device at the factory.

Here's the problem: When your computer wants to send data to your router (192.168.1.1), it needs to know your router's MAC address. How does it figure that out? That's where ARP (Address Resolution Protocol) comes in.

"ARP is like the neighborhood directory for your local network. It maps IP addresses to physical MAC addresses, so devices know exactly who to talk to. Without ARP, your local network would be blind."

The arp command lets you view and manage your computer's ARP cache—the table that stores IP-to-MAC mappings. This is essential for troubleshooting network issues, discovering devices on your network, and detecting security attacks like ARP spoofing.

In this guide, you'll learn what ARP does, how to read the ARP cache, how to troubleshoot connection problems, and how to detect suspicious network activity. Let's dive in.

What Does ARP Actually Do?

ARP solves a fundamental problem: How do you send data to an IP address on your local network when devices communicate using MAC addresses?

Here's how it works:

  1. 1. Your computer wants to send data to 192.168.1.1 (your router)
    But it doesn't know the router's MAC address yet.
  2. 2. Your computer checks its ARP cache
    Has it talked to this IP before? If yes, use the cached MAC address.
  3. 3. If not in cache, broadcast an ARP request
    "Hey everyone on the network! Who has IP 192.168.1.1? Tell me your MAC address!"
  4. 4. The router responds
    "That's me! My MAC address is AA:BB:CC:DD:EE:FF"
  5. 5. Your computer stores this in the ARP cache
    Now it knows: 192.168.1.1 = AA:BB:CC:DD:EE:FF. It won't need to ask again for a while.
  6. 6. Data is sent using the MAC address
    Your network card sends the data directly to the router's physical address.

The arp command shows you this cache—the table of IP-to-MAC mappings your computer has learned. It's like your computer's contact list for local devices.

Advertisement

What ARP Output Looks Like

Here's what you'll see when you run arp -a on Windows:

C:\Users\YourName> arp -a

Interface: 192.168.1.100 --- 0xb
  Internet Address      Physical Address      Type
  192.168.1.1           a0-63-91-f2-8c-40     dynamic
  192.168.1.50          d4-6e-0e-03-47-91     dynamic
  192.168.1.105         3c-22-fb-a1-2e-8f     dynamic
  192.168.1.255         ff-ff-ff-ff-ff-ff     static
  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
  255.255.255.255       ff-ff-ff-ff-ff-ff     static

Let's break down what this means:

Understanding the Output

Interface: 192.168.1.100

Your computer's IP address on this network. If you have multiple network adapters (Wi-Fi, Ethernet, VPN), you'll see separate ARP tables for each.

Internet Address

The IP address of a device on your local network. These are devices your computer has recently communicated with.

Physical Address (MAC Address)

The hardware address of the device. MAC addresses are 48-bit identifiers written as six pairs of hexadecimal digits (like a0:63:91:f2:8c:40). Every network card has a unique MAC address burned into it at the factory.

Special MAC addresses:
ff-ff-ff-ff-ff-ff = Broadcast address (send to everyone)
• MAC starting with 01-00-5e = Multicast address (send to a group)

Type: Dynamic vs Static

Dynamic: Learned automatically via ARP. Your computer discovered this mapping by sending an ARP request. Dynamic entries expire after a few minutes if not used.

Static: Permanent entries that don't expire. Usually system-reserved addresses like broadcast and multicast. You can manually add static entries with arp -s.

Real Example Explained

192.168.1.1 a0-63-91-f2-8c-40 dynamic

Translation: Your computer knows that the device at IP 192.168.1.1 (probably your router) has the MAC address a0-63-91-f2-8c-40. This mapping was learned automatically and will expire if not used.

192.168.1.50 d4-6e-0e-03-47-91 dynamic

Translation: There's another device on your network at 192.168.1.50. This could be a phone, laptop, smart TV, printer, etc. Your computer recently communicated with it.

Advertisement

When Should You Use ARP?

ARP is essential for network troubleshooting, device discovery, and security auditing. Here are the top use cases:

1. Discovering Devices on Your Network

Want to see what devices are currently connected to your local network?

arp -a

Every IP address you see is a device that's recently communicated with your computer. This is useful for:

  • • Finding your printer's IP address
  • • Identifying unknown devices on your network
  • • Checking if a specific device is online
  • • Troubleshooting smart home devices

2. Troubleshooting "Can't Reach Device" Issues

You can ping your router's IP, but you can't connect to it via web browser. Or you can't connect to a network printer. The ARP cache might be stale or corrupted.

arp -d

(Deletes the entire ARP cache, forcing your computer to relearn MAC addresses)

Or delete a specific entry:

arp -d 192.168.1.1

After clearing, try connecting again. Your computer will send a fresh ARP request and get the correct MAC address.

3. Detecting ARP Spoofing Attacks

ARP spoofing (also called ARP poisoning) is a man-in-the-middle attack where an attacker sends fake ARP messages to trick devices into sending traffic through them instead of the legitimate router.

For example, an attacker might send ARP messages saying "Hey, I'm the router (192.168.1.1) and my MAC address is XX:XX:XX:XX:XX:XX" (but it's actually the attacker's MAC). Now all your traffic goes through them first—they can intercept passwords, credit cards, everything.

How to detect this:

  1. 1. Check your router's actual MAC address (usually printed on the router or in admin panel)
  2. 2. Run arp -a
  3. 3. Look at the MAC address for your router's IP (usually 192.168.1.1)
  4. 4. If the MAC address is different, you're being attacked!

🚨 Warning Signs of ARP Spoofing:

  • • Multiple devices showing the same MAC address (impossible!)
  • • Your router's MAC address changes frequently
  • • Sudden internet slowdowns (traffic being intercepted)
  • • Browser security warnings about certificate mismatches

4. Checking IP Conflicts

If two devices have the same IP address, you'll see connection problems and errors. Check the ARP cache:

arp -a | findstr "192.168.1.50"

If you see the same IP with different MAC addresses at different times, you have an IP conflict. Fix it by setting static IPs or rebooting devices to get new DHCP assignments.

Real-World Scenarios: Troubleshooting with ARP

Scenario 1: Can't Connect to Network Printer

Your printer shows as online in the printer settings, but nothing prints. You can't even access the printer's web interface.

Step-by-Step Fix

  1. 1. Find the printer's IP address

    Usually printed on the printer's LCD or in network settings. Let's say it's 192.168.1.200.

  2. 2. Check if it's in the ARP cache
    arp -a | findstr "192.168.1.200"
  3. 3. If not there, ping it to force an ARP request
    ping 192.168.1.200
  4. 4. Check ARP cache again

    If the MAC address appears, ARP is working. If ping times out and no ARP entry appears, the printer isn't responding (turned off, network cable unplugged, or wrong IP).

  5. 5. If MAC appears but still can't connect, delete the ARP entry
    arp -d 192.168.1.200

    Then try connecting again. The stale ARP entry might have been pointing to an old/wrong MAC.

Scenario 2: Identifying an Unknown Device on Your Network

You run arp -a and see a device at 192.168.1.75. You don't recognize it. Is it an intruder?

  1. 1. Note the MAC address
    192.168.1.75 b8-27-eb-4a-5c-1d dynamic
  2. 2. Look up the MAC vendor

    The first 6 characters identify the manufacturer. Search "b8:27:eb MAC lookup" on Google. In this case, b8:27:eb = Raspberry Pi Foundation. You probably have a Raspberry Pi or IoT device.

  3. 3. Common MAC prefixes:
    • 00:1A:A0 = Linksys
    • D8:5D:4C = Apple
    • AC:BC:32 = Samsung
    • 18:E8:29 = Google/Nest
    • B8:27:EB = Raspberry Pi
  4. 4. Still unsure? Log into your router

    Most routers show connected devices with friendly names. Match the MAC address to see what it is.

Scenario 3: Router Appears Offline But Internet Works

Your internet works fine, but when you try to access your router's admin panel (192.168.1.1), it won't load. Weird, right?

Check if the router is in your ARP cache:

arp -a | findstr "192.168.1.1"

If no entry: Your computer hasn't talked to the router recently (even though traffic is passing through it). Force an ARP request by pinging it:

ping 192.168.1.1

If entry exists with wrong MAC: Clear it and try again:

arp -d 192.168.1.1

Common Mistakes to Avoid

Mistake #1: Expecting to See All Network Devices

ARP cache only shows devices your computer has recently communicated with. If you haven't talked to a device in a few minutes, it won't be in the cache. To discover all devices, use a network scanner like nmap or ping your entire subnet first.

Mistake #2: Confusing ARP with Device Discovery

ARP doesn't find devices—it just stores what your computer already knows. If you want to scan for all devices on your network, you need to actively ping them or use a tool like arp-scan (Linux) or a GUI tool like Angry IP Scanner.

Mistake #3: ARP Only Works on Local Networks

ARP only maps IP-to-MAC for devices on your local subnet. You won't see devices on the internet or other networks in your ARP cache. If you want to reach a device outside your network, ARP maps your router's MAC, and the router handles the rest.

Mistake #4: Not Clearing the Cache When Troubleshooting

Stale ARP entries are a common cause of connection problems. If you've recently changed a device's IP, replaced a network card, or moved a device, the old ARP entry might still be cached. Always try arp -d when troubleshooting connectivity issues.

Useful ARP Commands Cheat Sheet

Here are the most useful ARP commands:

Windows Commands

arp -a

Show entire ARP cache—all known IP-to-MAC mappings

arp -a 192.168.1.100

Show ARP cache for a specific IP address

arp -d

Delete entire ARP cache (force relearning all MAC addresses)

arp -d 192.168.1.1

Delete a specific IP from the ARP cache

arp -s 192.168.1.10 AA-BB-CC-DD-EE-FF

Add a static ARP entry (permanent until reboot). Useful to prevent ARP spoofing.

Linux Commands

arp -a

Show ARP cache (same as Windows)

ip neigh

Modern replacement for arp on Linux—shows neighbor table (ARP + IPv6)

ip neigh flush all

Clear entire ARP cache on Linux

arp-scan --localnet

Scan entire local network and discover all devices (requires arp-scan package)

Want to Practice ARP?

Try our interactive ARP simulator where you can safely practice viewing the ARP cache, troubleshooting connection issues, and investigating network devices without affecting your real network.

Final Thoughts

ARP is one of those invisible protocols that makes everything work, but most people never think about it. It's the glue that connects the high-level world of IP addresses to the low-level world of physical network cards.

Understanding ARP gives you superpowers for network troubleshooting. Device won't connect? Check ARP. Unknown device on your network? Check ARP. Suspect a man-in-the-middle attack? Check ARP. It's simple, powerful, and absolutely essential.

Master the arp command, keep this guide handy, and you'll be able to diagnose and fix local network issues that stump most people. Your network won't have any secrets from you anymore. 🎯