设为首页收藏本站language 语言切换
查看: 2207|回复: 1
收起左侧

实战: ARP攻击的攻、判、防的详细解析

[复制链接]
 成长值: 63400
发表于 2010-8-31 16:59:54 | 显示全部楼层 |阅读模式
实验I  ARP攻击的攻、判、防
    ARP攻击不是病毒—因而几乎所有的杀毒软件对之都无可奈何;但它却胜似病毒—因为它轻可造成通信变慢、网络瘫痪,重会造成信息的泄密。多年来,ARP攻击一直存在,却没有一个好的解决办法。很多网络用户深受其害,网管人员更是无从下手、苦不堪言。本实验从分析ARP协议和欺骗原理入手,介绍如何实施ARP攻击,如何判断正在遭受ARP攻击,如何防范和解决ARP攻击。
   1.ARP协议及欺骗原理
    (1)以太网的工作原理。以太网中,数据包被发送出去之前,首先要进行拆分(把大的包进行分组)、封装(在Network层添加源IP地址和目标的IP地址,在Data Link层添加源MAC地址和下一跳的MAC地址),变成二进制的比特流,整个过程如图I-1所示。数据包到达目标后再执行与发送方相反的过程,把二进制的比特流转变成帧,解封装(Data Link层首先比较目标的MAC是否与本机网卡的MAC相同或者是广播MAC,如相同则去除帧头,再把数据包传给Network层,否则丢弃;Network层比较目的地IP地址是否与本机相同,相同则继续处理,否则丢弃)。如果发送方和接收方位于同一个网络内,则下一跳的MAC就是目标的MAC,如发送方和接收方不在同一个网络内,则下一跳的MAC就是网关的MAC。从这个过程不难发现,以太网中数据的传速仅知道目标的IP地址是不够的,还需要知道下一跳的MAC地址,这需要借助于另外一下协议,ARP(地址解析协议)。
   

                               
登录/注册后可看大图
图I-1  数据的封装和解封装

    2)ARP的工作原理。计算机发送封装数据之前,对比目标IP地址,判断源和目标在不在同一个网段,如在同一网段,则封装目标的MAC;如不在同一网段,则封装网关的MAC。封装之前,查看本机的ARP缓存,看有没有下一跳对应的IP和MAC映射条目,如有则直接封装;如没有则发送ARP查询包。ARP查询和应答包的格式如图I-2所示,查询包中 “以太网目的地址”为0xffffffffffff广播地址,“以太网源地址”为本机网卡的MAC地址,“帧类型”为0x0806表示ARP应答或请求,“硬件类型”为0x0001表示以太网地址,“协议类型”为0x0800表示IP地址,“OP”为ARP的请求或应答,ARP请求包的OP值为1,ARP应答包的OP值为2,“发送端以太网地址”为发送者的MAC地址,“发送端IP”为发送者的IP地址,“目的以太网地址”这里为0x000000000000,“目的IP”为查询MAC地址的IP。此包以广播形式发送到网络上,局域网中所有的计算机均收到此包,只有本机IP地址为“目的IP”的计算机对此数据包进行响应,并回复此数据包。当始发送端方收到此ARP应答包后,即获取到目标IP对应的MAC地址,然后就可进行数据包的封装了。
   

                               
登录/注册后可看大图
图I-2  ARP的查询和应答包格式

    (3)ARP的欺骗。于TCP通过序列号和确认号字段不同,实施三次握手来保证数据传输的可靠性,ARP是一个无状态的协议,也就是说不管有没有发送ARP请求,只要有发往本机的ARP应答包,计算机都不加验证的接收,并更新自己的ARP缓存。了解ARP的工作原理后,只要有意图的填充图I-2中的某些字段,即可达到ARP攻击的效果:IP地址冲突、ARP欺骗、ARP攻击等。
    P地址冲突。计算机检测本机IP地址是否在网上被使用的方法是用本机IP地址作为目的IP地址,发送ARP查询包,如果收到应答,则说明本IP地址已经在网上被使用,弹出IP地址被使用对话框,释放出本机的IP地址。ARP攻击者利用这一原理,用任意的MAC地址(非被攻击者真实的MAC地址)填充“发送端以太网地址”字段,用被攻击者的IP地址填充“发送端IP”字段,用被攻击者的真实MAC地址填充“目的以太网地址”字段,用被攻击者的IP地址填充“目的IP”字段,OP的值为“2”,如图I-3所示。当被攻击者收到这样的ARP应答后,就认为本机的IP地址在网络上已经被使用,弹出IP地址冲突对话框。
   

                               
登录/注册后可看大图
图I-3  IP地址冲突的ARP应答包

    ARP欺骗:如图I-4所示,PC1是攻击者,攻击的目的是“中断PC2与网关的通信”。PC1生成一个ARP应答信息包,“发送端的IP”填写成网关的IP地址,“发送端以太网地址”填写一个非网关的MAC地址(这个地址可以随机生成),“目的IP”填写PC2的IP地址,“目的以太网地址”填入PC2的MAC地址。主机PC2收到这个最新的ARP应答信息包后,就会用这个不正确的网关的MAC地址更新自己的ARP缓存表,以后PC2后就这个错误的MAC地址进行封装,造成封装后的数据包无法正确到达网关;PC1类似的再发送一个不正确ARP应答包给网关,“发送端的IP”填写成PC2的IP地址,“发送端以太网地址”填写一个非PC2的MAC地址(这个地址可以随机生成),“目的IP”填写网关的IP地址。网关收到这样的ARP应答信息后,也在缓存中保存了错误的PC2映射条目。PC1周期性向网关和PC2发送这样的包,以免它们的ARP表老化,这样就达到了阻止它们通信的目的。
   

                               
登录/注册后可看大图
图I-4  ARP欺骗示意图

    ARP攻击。以称为中间人攻击(Man-in-the-middle attack),与ARP欺骗类似,只是PC1发送ARP请求时,所填入的“发送端以太网地址”不是随机生成,而是替换成PC1本机的MAC地址,开启PC1的路由功能——修改(添加)注册表选项HKEY_LOCAL_ MACH INE\ SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter = 0x1,同时在PC1上安装窃听软件,截获PC2与网关之间所有的通信包。
 成长值: 63430
发表于 2011-12-22 12:11:05 | 显示全部楼层
沙发 2011-12-22 12:11:05 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-4 13:56 , Processed in 0.062224 second(s), 13 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表