寻梦网络,wangdi1900的个人空间,真诚期待与你成为朋友!

利用四种自制批处理文件防御ARP攻击

上一篇 / 下一篇  2007-12-28 01:58:06 / 个人分类:互联网

利用四种自制批处理文件防御ARP攻击

最近发现关于ARP的问题比较多。看见此文不错。转来大家学习下
请根据自己的 实际环境配置!!!


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

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

@echo off

::读取本机Mac地址

if exist ipconfig.txt del ipconfig.txt

ipconfig /all >ipconfig.txt

if exist phyaddr.txt del phyaddr.txt

find "Physical Address" ipconfig.txt >phyaddr.txt

for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M

::读取本机ip地址

if exist IPAddr.txt del IPaddr.txt

find "IP Address" ipconfig.txt >IPAddr.txt

for /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.txt

find "Default Gateway" ipconfig.txt >GateIP.txt

for /f "skip=2 tokens=13" %%G in (GateIP.txt) do set GateIP=%%G

::读取网关Mac地址

if exist GateMac.txt del GateMac.txt

arp -a %GateIP% >GateMac.txt

for /f "skip=3 tokens=2" %%H in (GateMac.txt) do set GateMac=%%H

::绑定网关Mac和IP

arp -s %GateIP% %GateMac%

arp -s 网关IP 网关MAC

exit


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

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

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

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

@echo off

for /f "delims=: tokens=2" %%a in (ipconfig /all^|find "Physical Address") do set local_mac=%%a

for /f "delims=: tokens=2" %%a in (ipconfig /all^|find "IP Address") do set local_ip=%%a

for /f "delims=: tokens=2" %%a in (ipconfig /all^|find "Default Gateway") do set gate_ip=%%a

fo* /* %%* in (getmac /nh /s %local_ip%) do set gate_mac=%%a

arp -s %local_ip% %local_mac%

arp -s %gate_ip% %gate_mac% (这个地方有问题,改进中……)


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

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

@ECHO OFF

SETLOCAL ENABLEDELAYEDEXPANSION

for /f "tokens=2 delims=[]=" %%i in (nbtstat -a %COMPUTERNAME%) do call set local=!local!%%i

for /f "tokens=3" %%i in (netstat -r^|find " 0.0.0.0") do set gm=%%i

for /f "tokens=1,2" %%i in (arp -a %gm%^|find /i /v "inter") do set gate=%%i %%j

arp -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

:::::::::::::读取内网网关的IP

for /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+MAC

for /f "tokens=15" %%i in (find "IP Address" ipconfig.txt) do set ip=%%i

for /f "tokens=12" %%i in (find "Physical Address" ipconfig.txt) do set mac=%%i

:::::::::::::绑定本机的 IP+MAC

arp -s %ip% %mac%

:::::::::::::删除所有的临时文件

del ipconfig.txt

del arp.txt

exit
 


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-02  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 241561
  • 日志数: 1576
  • 图片数: 5
  • 文件数: 27
  • 书签数: 176
  • 建立时间: 2006-08-06
  • 更新时间: 2008-11-08

RSS订阅

Open Toolbar