ARP攻击不是病毒,因而几乎所有的杀毒软件对之都无可奈何;但它却胜似病毒,因为它轻可造成通信变慢、网络瘫痪,重会造成信息的泄密。多年来,ARP攻击一直存在,却没有一个好的解决办法。很多网络用户深受其害,网管人员更是无从下手、苦不堪言。下面从分析ARP和欺骗原理入手,介绍如何实施ARP攻击,如何判断正在遭受ARP攻击,如何防范和解决ARP攻击。
1.以太网的工作原理
以太网中,数据包被发送出去之前,首先要进行拆分(把大的包进行分组)、封装(在Network层添加源IP地址和目标IP地址,在Data Link层添加源MAC地址和下一跳的MAC地址),变成二进制的比特流,整个过程如图1-34所示。数据包到达目标后再执行与发送方相反的过程,把二进制的比特流转变成帧,解封装(Data Link层首先比较目标的MAC是否与本机网卡的MAC相同或者是广播MAC,如相同则去除帧头,再把数据包传给Network层,否则丢弃;Network层比较目的地IP地址是否与本机相同,相同则继续处理,否则丢弃)。如果发送方和接收方位于同一个网络内,则下一跳的MAC就是目标的MAC,如发送方和接收方不在同一个网络内,则下一跳的MAC就是网关的MAC。从这个过程不难发现,以太网中数据的传速仅知道目标的IP地址是不够的,还需要知道下一跳的MAC地址,这需要借助于另外一个协议——ARP(地址解析协议)。
图1-34 数据的封装和解封装
2.ARP的工作原理
计算机发送封装数据之前,对比目标IP地址,判断源和目标在不在同一个网段,如在同一网段,则封装目标的MAC;如不在同一网段,则封装网关的MAC。封装之前,查看本机的ARP缓存,看有没有下一跳对应的IP和MAC映射条目,如有则直接封装;如没有则发送ARP查询包。ARP查询和应答包的格式如图1-35所示,查询包中“以太网目的地址”为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地址,然后就可进行数据包的封装了。
3.ARP欺骗
TCP通过序列号和确认号字段,实施三次握手来保证数据传输的可靠性。但ARP是一个无状态的协议,也就是说不管有没有发送ARP请求,只要有发往本机的ARP应答包,计算机都不加验证地接收,并更新自己的ARP缓存。了解ARP的工作原理后,只要有意图地填充图1-35中的某些字段,即可进行IP地址冲突、ARP欺骗和ARP攻击等。
图1-35 ARP的查询和应答包格式(www.xing528.com)
(1)IP地址冲突
计算机检测本机IP地址是否在网上被使用的方法是用本机IP地址作为目的IP地址,发送ARP查询包,如果收到应答,则说明本IP地址已经在网上被使用,弹出IP地址被使用对话框,释放出本机的IP地址。ARP攻击者利用这一原理,用任意的MAC地址(非被攻击者真实的MAC地址)填充“发送端以太网地址”字段,用被攻击者的IP地址填充“发送端IP”字段,用被攻击者的真实MAC地址填充“目的以太网地址”字段,用被攻击者的IP地址填充“目的IP”字段,OP的值为“2”,如图1-36所示。当被攻击者收到这样的ARP应答后,就认为本机的IP地址在网络上已经被使用,弹出IP地址冲突对话框。
(2)ARP欺骗
如图1-37所示,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表老化,这样就达到了阻止它们通信的目的。
图1-36 IP地址冲突的ARP应答包
图1-37 ARP欺骗示意图
(3)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与网关之间所有的通信包。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。