新闻 | 天津 | 民生 | 广电 | 津抖云 | 微视 | 读图 | 文娱 | 体育 | 图事 | 理论 | 志愿 | 专题 | 工作室 | 不良信息举报
教育 | 健康 | 财经 | 地产 | 天津通 | 旅游 | 时尚 | 购物 | 汽车 | IT | 亲子 | 会计 | 访谈 | 场景秀 | 发布系统

"津云"客户端
  您当前的位置 :北方网 > IT浪潮 > 滚动新闻 正文
关键词:

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


http://www.enorth.com.cn  2007-09-04 21:23

  引:通过伪造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 off

  for /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 OFF

  SETLOCAL 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

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

编辑 赵海涛  论坛
[进入IT论坛]
请您文明上网、理性发言并遵守相关规定,在注册后发表评论。
 北方网精彩内容推荐
无标题文档
天津民生资讯
天气交通 天津福彩 每月影讯 二手市场
空气质量 天津股票 广播节目 二手房源
失物招领 股市大擂台 天视节目 每日房价
热点专题
北京奥运圣火传递和谐之旅 迎奥运 讲文明 树新风
解放思想 干事创业 科学发展 同在一方热土 共建美好家园
2008天津夏季达沃斯论坛 《今日股市观察》视频
北方网网络相声频道在线收听 2008高考招生简章 复习冲刺
天津自然博物馆馆藏精品展示 2008年天津中考问题解答
带你了解08春夏服饰流行趋势 完美塑身 舞动肚皮舞(视频)
C-NCAP碰撞试验—雪佛兰景程 特殊时期善待自己 孕期检查
热点新闻排行 财经 体育 娱乐 汽车 IT 时尚 健康 教育

Copyright (C) 2000-2021 Enorth.com.cn, Tianjin ENORTH NETNEWS Co.,LTD.All rights reserved
本网站由天津北方网版权所有