明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

使用批处理文件防备ARP攻击

[摘要]通过伪造IP地址和MAC地址实现ARP欺骗, 能够在网络中产生大量的ARP通信量使网络阻塞, 攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目, 造成网络中断...

通过伪造IP地址和MAC地址实现ARP欺骗, 能够在网络中产生大量的ARP通信量使网络阻塞, 攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目, 造成网络中断或中间人攻击。 本文介绍了四种利用自制批处理文件来防御ARP攻击的方法。

一、把下面语句编成BAT处理文件就可以搞定

@echo off::读取本机Mac地址if exist ipconfig.txt del ipconfig.txtipconfig /all >ipconfig.txtif exist phyaddr.txt del phyaddr.txtfind "Physical Address" ipconfig.txt >phyaddr.txtfor /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M::读取本机ip地址if exist IPAddr.txt del IPaddr.txtfind "IP Address" ipconfig.txt >IPAddr.txtfor /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I::绑定本机IP地址和MAC地址arp -s %IP% %Mac%::读取网关地址if exist GateIP.txt del GateIP.txtfind "Default Gateway" ipconfig.txt >GateIP.txtfor /f "skip=2 tokens=13" %%G in (GateIP.txt) do set GateIP=%%G::读取网关Mac地址if exist GateMac.txt del GateMac.txtarp -a %GateIP% >GateMac.txtfor /f "skip=3 tokens=2" %%H in (GateMac.txt) do set GateMac=%%H::绑定网关Mac和IParp -s %GateIP% %GateMac%arp -s 网关IP 网关MACexit

这个批处理要查询本机的ARP 缓存表, 看里面是不是有网关的IP和MAC, 有则能成功

绑定, 但是没有的话就绑不定了!!!不过可以改进一下, 达到双绑的目的, 比如

加上arp -s 网关IP 网关MAC一行就可以了。 。 。

二、这个也不能实现真正意义的双绑, 只能绑定本机IP和MAC

@echo offfor /f "delims=: tokens=2" %%a in (ipconfig /all^ find "Physical Address") do set local_mac=%%afor /f "delims=: tokens=2" %%a in (ipconfig /all^ find "IP Address") do set local_ip=%%afor /f "delims=: tokens=2" %%a in (ipconfig /all^ find "Default Gateway") do set gate_ip=%%afo* /* %%* in (getmac /nh /s %local_ip%) do set gate_mac=%%aarp -s %local_ip% %local_mac%arp -s %gate_ip% %gate_mac% (这个地方有问题, 改进中……)

经测试, 此批处理不能绑定网关IP和MAC, 只能绑定本机IP和MAC

三、这个还不是很清楚, 我要测试才行的, 目前所知也能绑定本机IP和MAC

@ECHO OFFSETLOCAL ENABLEDELAYEDEXPANSIONfor /f "tokens=2 delims=[]=" %%i in (nbtstat -a %COMPUTERNAME%) do call set local=!local!%%ifor /f "tokens=3" %%i in (netstat -r^ find " 0.0.0.0") do set gm=%%ifor /f "tokens=1,2" %%i in (arp -a %gm%^ find /i /v "inter") do set gate=%%i %%jarp -s %gate%arp -s %local%arp -s 网关IP 网关MAC

这个批处理可以绑定网关IP和MAC, 但是还是有缺陷, 要依赖于本机上存在的ARP缓存!

改进方法为在最后加一个arp -s 网关IP和MAC!

四、原理和第一个一样,只是改进了一点点!

这个P通过ping网关三次得到了网关的MAC其实以上的批都可以通过这个来搞定网关的IP和MAC,

但是如果开机的时候正在发生ARP欺骗的话 这样你绑的IP和MAC就是错的, 不能上网了。

@echo off:::::::::::::清除所有的ARP缓存arp -d:::::::::::::读取本地连接配置ipconfig /all>ipconfig.txt:::::::::::::读取内网网关的IPfor /f "tokens=13" %%I in (find "Default Gateway" ipconfig.txt) do set GatewayIP=%%I::::::::::::ING三次内网网关ping %GatewayIP% -n 3:::::::::::::读取与网关arp缓存arp -a find "%GatewayIP%">arp.txt:::::::::::::读取网关MAC并绑定for /f "tokens=1,2" %%I in (find "%GatewayIP%" arp.txt) do if %%I==%GatewayIP% arp -s %%I %%J:::::::::::::读取本机的 IP+MACfor /f "tokens=15" %%i in (find "IP Address" ipconfig.txt) do set ip=%%ifor /f "tokens=12" %%i in (find "Physical Address" ipconfig.txt) do set mac=%%i:::::::::::::绑定本机的 IP+MACarp -s %ip% %mac%:::::::::::::删除所有的临时文件del ipconfig.txtdel arp.txtexit

不过这种情况很少, 发过来试一下先吧!

以上P可以配合路由上对客户机的IP和MAC进行绑定实现完全防ARP, 只是单绑下面机和网关IP及MAC

没有多大用处, 关于路由上面的, 因为大家用的路由不一样, 所以这个就不写了


上面是电脑上网安全的一些基础常识,学习了安全知识,几乎可以让你免费电脑中毒的烦扰。