用批处理获得IP-MAC地址表
数字办公
一般而言,为了避免IP地址冲突和系统安全,局域网中电脑的IP地址和MAC地址对照表是要时常备份的。除了可以使用软件解决外,用小巧专一的批处理也是一个不错的选择。
1.批处理程序原理
一台计算机与另一台计算机通讯后,在ARP缓存表中会保留相应的MAC地址。下次和同一个IP地址的计算机通讯,将不再查询MAC地址,而是直接引用缓存中的MAC地址。所以如果要查询某个计算机的MAC地址,先Ping一下它的IP地址,再用arp -a IP 便可以查询到此IP地址所对应的MAC地址了。
2.具体代码
用记事本打开,输入以下代码:
@echo off
call ping %1 |find “Reply”>nul
if %ERRORLEVEL%==0 goto arplist
goto end
:arplist
arp -a %1
:end
将该文件保存为arp1.bat文件。再打开一个记事本,输入以下代码:
@rem arpall.bat
for /l %%i in (0,1,255) do arp1 192.168.0.%%i >>arpall.txt
该文件保存为arplist.bat文件,并且与上述arp1.bat文件放在同一个文件目录下。然后双击arplist.bat文件即可。最后生成的文本文件arpall.txt如图所示。

上述批处理程序无法获取主机的IP-MAC地址对照表,只能通过IPCONFIG/ALL命令来获取。主要原因是本机器与有IP地址的设备通讯后,ARP缓存表里保留的都是其他IP地址的MAC地址而不包含本机IP地址的MAC地址。