Is there any way to ARP ping on Windows?

On Linux and other systems, there is an utility called arping which can be used to send ARP requests ("pings") and show the answers, much like the "ping" utility but using ARP instead of ICMP.

Is there any way to do the same on Windows? (I use Windows 7)


Arping for windows does actually exist.

http://freshmeat.net/projects/arping/

Correction: this is for Linux, MAC OSX, etc... but can be installed on windows through cygwin.


If you clear Window's arp cache ( arp -d ) and then try to ping the ip address, it will issue a arp broadcast.

Check it out with Wireshark.


A built in way to do this in windows:

cmd /V /C "set "IP=10.0.2.2" & FOR /L %i in () do @ping -n 1 -w 1000 "!IP!" >NUL & arp -a | findstr /c:"!IP! "  

If you want to show a fresh ARP result each time (Needs to run as administrator)

cmd /V /C "set "IP=10.0.2.2" & FOR /L %i in () do @arp -d & @ping -n 1 -w 1000 "!IP!" >NUL & arp -a | findstr /c:"!IP! "

WinXP's ARP command is for displaying data only. Try Nmap, it's free and fairly easy for this type of scan. Nmap is available at insecure.org.


Try "arp-ping.exe"

Thought I would add this tool which runs directly from the command prompt:

  • Eli Fulkerson, arp-ping.exe - an implementation of ping via arp lookup (Archived here.)

arp-ping.exe command line options

Usage: arp-ping.exe [options] target
        -s ip : specify source ip
        -n X  : ping X times
        -t    : ping until stopped with CTRL-C
        -x    : exit immediately after successful ping
        -i X  : ping every X seconds
        -d    : do an 'arp -d *' between pings (requires Administrator)
                (-d prevents cached ARP responses on Windows XP.)
        -c    : include date and time on each line
        -m X  : ignore failures that take less than X milliseconds
        -.      : print a dot (.) for every ignored failure
        -l    : print debug log
        -v    : print version and exit

Versus the Linux "arping" command line options

Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination
-f : quit on first reply
-q : be quiet
-b : keep broadcasting, don't go unicast
-D : duplicate address detection mode
-U : Unsolicited ARP mode, update your neighbours
-A : ARP answer mode, update your neighbours
-V : print version and exit
-c count : how many packets to send
-w timeout : how long to wait for a reply
-I device : which ethernet device to use (eth0)
-s source : source ip address
destination : ask for what ip address