目前ARP欺骗对局域网安全运行造成了严重的影响,很多企事业单位局域网都为此而烦恼,总是找不到一个方法能从根本上解决问题,本人目前也受此困惑,不过问题已存在,解决的方法还是有的,比如引进防ARP欺骗的交换机、硬件防火墙等设备,但是这些投资成本过于昂贵,所以采取IP与MAC绑定不是一个好办法(虽然比较麻烦),IP与MAC绑定是双向的,需要在客户端进行绑定,同时交换器里也要进行绑定(此方法需要网管员能做到),接下来介绍一种客户端IP与MAC绑定方法,供大家参考,能从一定程度上保护客户端机器免遭ARP欺骗。
@ECHO OFF GOTO :style :start ECHO 程序执行中,请稍候... SET IPCONFIG=%temp%\ipconfig.txt SET MACADD=%temp%\macadd.txt SET IPADD=%temp%\ipadd.txt SET GATEADD=%temp%\gateadd.txt SET GATEMACADD=%temp%\gatemacadd.txt ipconfig /all > %IPCONFIG% FIND "Physical Address" %IPCONFIG% > %MACADD% FOR /F "skip=2 tokens=12" %%M IN (%MACADD%) DO SET MAC=%%M ECHO 获得本机网卡MAC:%MAC%。 PING 127.0 -n 2 > NUL FIND "IP Address" %IPCONFIG% > %IPADD% FOR /F "skip=2 tokens=15" %%I IN (%IPADD%) DO SET IP=%%I ECHO 获得本机IP地址:%IP%。 PING 127.0 -n 2 > NUL arp -s %IP% %MAC% ECHO 绑定本机IP和MAC,成功。 PING 127.0 -n 2 > NUL FIND "Default Gateway" %IPCONFIG% > %GATEADD% FOR /F "skip=2 tokens=13" %%G IN (%GATEADD%) DO SET GateIP=%%G ECHO 获得网关IP地址:%GateIP%。 PING 127.0 -n 2 > NUL arp -a %GateIP% > %GATEMACADD% FOR /F "skip=3 tokens=2" %%H IN (%GATEMACADD%) DO SET GateMac=%%H ECHO 获得网关MAC:%GateMac%。 PING 127.0 -n 2 > NUL arp -s %GateIP% %GateMac% ECHO 绑定网关网卡和MAC地址,成功。 PING 127.0 -n 2 > NUL ECHO 程序执行完毕。 GOTO :exit :style MODE CON cols=43 lines=9 TITLE HTMer.Com制作 GOTO :start :exit FOR %%I IN (%IPCONFIG%,%MACADD%,%IPADD%,%GATEADD%,%GATEMACADD%) DO IF EXIST %%I DEL %%I EXIT
将以上代码复制到记事本中,保存为.bat文件,然后放到【启动】菜单中,重启计算机,以后每次开机后都会自动进行客户端IP与MAC绑定。