用批处理获得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如图所示。

8-f13-3-1.jpg

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