收藏本站 
广告服务 
网站地图 
>> 本频道近100000余篇各类电脑技术、网络技术、软件技术、网页及平面设计等方面的电脑教程,我们的原则:不是精华拒不收录!
先飞电脑技术网技术文章网络技术网络安全
网络编程 | 网站建设 | 网络技术 | 设计教程 | 软件教学 | 程序开发 | 数据库开发 | 教育认证 | 硬件维护 | 媒体动画 | 机械电子 |
利用四种自制批处理文件防御ARP攻击
[ 作者:佚名    转贴自:网络转载    阅读次数:50    更新时间:2007-9-4 11:04:00   录入:刘光勇 ]         
    通过伪造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

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

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

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

文章首页【加入到收藏夹】告诉好友】【打印此文】【关闭窗口
  版权声明:本站提供的“利用四种自制批处理文件防御ARP攻击”版权归文章所有者,转载请注明出处!
 ·上一篇文章:微软解决Windows Vista显存溢出问题      ·下一篇文章:黑客技术分析 会话劫持攻击实战详解
相关文章
·利用加密方法保障邮件系统安全[90]
·Java中利用JCOM实现仿Excel编程[38]
·利用Stripes实现Java Web开发[48]
·利用Darkstat监视你的Ubuntu[20]
·了解黑客是如何利用VNC服务提升权限[98]
网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号 先飞电脑教程网