在Linux和其他系统上,有一个名为arping的实用程序,它可以用来发送ARP请求(“ping”)并显示答案,就像“ping”实用程序一样,但是使用ARP而不是ICMP。
有没有办法在Windows上做同样的事情? (我使用Windows 7)
arping for windows确实存在。
http://freshmeat.net/projects/arping/
更正:这是针对Linux,MAC OSX等的,但是可以通过cygwin在windows上安装。
如果清除Window的arpcaching(arp -d),然后尝试ping ip地址,则会发出arp广播。
用Wireshark检查一下。
WinXP的ARP命令仅用于显示数据。 尝试Nmap,这种扫描types是免费且相当容易的。 Nmap可在insecure.org上获得。
这不完全是一个ARP“ping”,但从命令提示符运行“arp inet_addr(ip地址)”将发送一个ARP请求到(IP地址)中指定的主机。 然后你可以运行“arp -a”来查看结果。
内置的方式来做到这一点在Windows中:
cmd /V /C "set "IP=10.0.2.2" & FOR /L %i in (1,0,2) do @ping -n1 -w 1000 "!IP!" >NUL & arp -a | findstr /c:"!IP! "
你可以看看这个: https : //github.com/seladb/PcapPlusPlus/tree/master/Examples/Arping 。 这是一个跨平台的Arping,可以在Windows,Linux和Mac OS X上运行
以为我会添加这个工具直接从命令提示符运行:
arp-ping.exe命令行选项
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
与Linux“arping”命令行选项相对
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
如何使用IP助手API获取ARP表http://www.codeguru.com/cpp/in/internet/internetprotocolip/article.php/c6153
GetIpNetTable:检索地址parsing表信息。
SetIpNetEntry:将条目添加到ARP表中。
DeleteIpNetEntry:从ARP表中删除条目。
CreateIpNetEntry:在ARP表中创build一个条目。
FlushIpNetTable:从ARP表中删除指定接口的所有ARP条目
SendARP:发送ARP请求,获取与指定的目的IP地址对应的物理地址。
不幸的是,在Windows中没有一个内置的工具可以做到这一点,有一些第三方工具,如Netscan ,但它不是免费的
我相信你可以用CAIN ,这是免费的。
Hardping是一个体面的程序,可以做到这一点。
有完整版本的成本更多的扫描程序,但我只是使用免费版本。 免费的一次只能做1个ip,但这就是我所需要的。
你会像c:> hardping 192.168.1.1一样使用它,它会回复mac或不。
我认为他们把它从他们的网站,但你仍然可以通过使用谷歌search“硬件免费软件”
arp -a your.ip.here.jo
例如: arp -a 192.168.0.1