一、ARP攻击概述
在上篇文章里 , 我给大家普及了ARP协议的基本原理 , 包括ARP请求应答、数据包结构以及协议分层标准 , 今天我们继续讨论大家最感兴趣的话题:ARP攻击原理是什么?通过ARP攻击可以做什么 , 账号是否可以被窃取?有哪些常见的ARP渗透(攻击)工具可以用来练手?ARP扫描和攻击有什么区别 , 底层数据包特征是怎样的?
接下来 , 我们通过图解的方式来深入了解ARP攻击是如何实现的 。
二、ARP攻击原理
但凡局域网存在ARP攻击 , 都说明网络存在"中间人" , 我们可以用下图来解释 。
文章插图
在这个局域网里面 , PC1、PC2、PC3三台主机共同连接到交换机SW1上面 , 对应3个接口port1/2/3 。假设PC3这台主机安装了ARP攻击软件或遭受ARP病毒 , 成为这个网络的攻击者(hacker) , 接下来 , PC3是如何攻击的?先不急 , 先来回顾下PC1和PC2是如何通信的 。
文章插图
①PC1需要跟PC2通信 , 通过ARP请求包询问PC2的MAC地址 , 由于采用广播形式 , 所以交换机将ARP请求包从接口P1广播到P2和PC3 。(注:交换机收到广播/组播/未知帧都会其他接口泛洪)
②PC2根据询问信息 , 返回ARP单播回应包;此时PC3作为攻击者 , 没有返回ARP包 , 但是处于"监听"状态 , 为后续攻击做准备 。
③PC1和PC2根据ARP问答 , 将各自的ARP映射信息(IP-MAC)存储在本地ARP缓存表 。
④交换机根据其学习机制 , 记录MAC地址对应的接口信息 , 存储在CAM缓存表(也称为MAC地址表) 。交换机收到数据包时 , 会解封装数据包 , 根据目标MAC字段进行转发 。
关于上面的图解 , 我们要记住这些关键知识(敲黑板!):
①主机通信需要查找ARP表 , 而交换机通信需要查找CAM表(路由器则查找Route表) 。
注:ARP表:ip<->mac CAM表:mac<->port (Route表:route<->port)
②交换机基于源MAC地址学习 , 基于目的MAC地址转发 。
③同一局域网内 , 攻击者可以根据主机的ARP广播请求监听其IP和MAC信息 。
注:这里是"被动监听" , 跟后面要谈到的"主动扫描" , 原理上有区分 , 这里先埋个坑)
接下来是重点 , 我们来看看PC3(Hacker)是如何发起ARP攻击的=>
文章插图
正常情况下 , 若收到的ARP请求不是给自己的 , 则直接丢弃;而这里PC3(Hacker)在监听之后 , 发起了ARP回应包:我就是PC2(IP2-MAC3) 。从拓扑可以出现 , PC3明明是IP3对应MAC3 , 很显然这就是一个ARP欺骗行为 。于此同时 , PC2正常的ARP回应包也交到了PC1手中 , 我们来看PC1接下来如何处理的:
文章插图
PC1收到两个ARP回应包 , 内容分别如下:
③我是PC2 , 我的IP地址是IP2 , 我的MAC地址是MAC2;
③我是PC2 , 我的IP地址是IP2 , 我的MAC地址是MAC3;
PC1一脸懵:咋回事?还有这操作?不管了 , 我选最新的!(后到优先)
这里给大家顺便普及下网络协议里各种表在处理缓存信息的方式:
要么"先到先得" , 要么"后到优先" 。上面提到的ARP和CAM表 , 就是遵循"后到优先"原则 , 而后面章节我们会讲到的DHCP表 , 则遵循"先到先得"原则 。
那么问题来了 , 上面两个ARP回应包到底哪个先到哪个后到呢?
作为初学者 , 可能还在纠结前后这种naive的问题;而作为hacker , 只要持续不停发出ARP欺骗包 , 就一定能够覆盖掉正常的ARP回应包 。稳健的ARP嗅探/渗透工具 , 能在短时间内高并发做网络扫描(例如1秒钟成千上百的数据包) , 能够持续对外发送欺骗包 。
无论如何 , 当PC1和PC2这种"小白"用户遇到PC3(hacker)时 , 最终的结果一定是这样的:
秒懂生活扩展阅读
- 设计作图软件 设计平面图用什么软件
- PS图片轮廓线怎么加深
- 手机上怎么登录QQ邮箱?
- 什么杀毒软件好用 国产杀毒软件
- a爆是什么意思
- 苹果news是什么软件
- 火云浏览器是什么软件带出来的
- 检测照片被p了多少次是什么软件 在哪里可以下载
- 手机订高铁票用什么app好
- 如何用PROE绘制管道