【相关博客链接】
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(1. 网络安全概述)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(2. 恶意代码)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(4. 拒绝服务攻击)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(5. DNS安全)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(6. 网络安全扫描)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(7. 防火墙)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(8. 入侵检测系统)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(9. 虚拟专用网络)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(10. 应用安全PGP)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(11. 社会工程学)
3. ARP攻击
3.1. ARP协议
-
ARP工作步骤 1.主机A想发送数据给主机B,主机A首先会检查自己的ARP缓存表(每个主机都有一张ARP缓存表),查看是否有主机B的IP地址和MAC地址的对应关系 2.如果有,则会将主机B的MAC地址作为源MAC地址封装到数据帧中 3.如果没有,主机A则会发送一个ARP请求信息,请求的目标IP地址是主机B的IP地址,目标MAC地址是MAC地址的广播帧(即FF-FF-FF-FF-FF-FF),源IP地址和MAC地址是主机A的IP地址和MAC地址 4.当交换机接受到此数据帧之后,发现此数据帧是广播帧,因此,会将此数据帧从非接收的所有接口发送出去 5.当主机B接受到此数据帧后,会校对IP地址是否是自己的,并将主机A的IP地址和MAC地址的对应关系记录到自己的ARP缓存表中,同时会发送一个ARP应答,其中包括自己的MAC地址 6.主机A在收到这个回应的数据帧之后,在自己的ARP缓存表中记录主机B的IP地址和MAC地址的对应关系 7.交换机在这个过程中也学习到了主机A和主机B的MAC地址
-
ARP请求 源IP_A,源MAC_A,目的IP_B, MAC地址的广播帧(FF-FF-FF-FF-FF-FF) ARP响应 1.局域网中的每一台主机都会接受并处理这个ARP请求报文,然后进行验证,查看接收方的IP地址是不是自己的地址 2.验证成功的主机返回一个ARP响应报文 3.源IP_B,源MAC_B,目的IP_A,目的MAC_A,单播的方式直接发送给ARP请求报文的请求方 ARP协议报文字段抓包解析,看下图
-
-
ARP协议的几点解释
- 网络通信一般以IP地址为源、目的地址,但工作在数据链路层的交换机、网卡等并不能识别IP地址,需要获取 MAC地址才能通信
- 主机设有一个ARP高速缓存,存放局域网中主机的IP地址和MAC地址对。当两台主机进行通信时,通过查询 ARP缓存表来进行IP地址到MAC地址的转换。缓存表中不存在查找项时,运行ARP广播查找目标主机的MAC地址
- ARP缓存表中的每一个映射地址项都有生存时间,进行定时更新
-
ARP欺骗
-
ARP欺骗利用修改主机ARP缓存表的方法达到嗅探的目的,是一种中间人攻击。主机C为了达到嗅探的目的,会向主机A和主机B分别发送ARP应答包,告诉它们IP地址为IPB的主机MAC地址为MACC,IP地址为IPA的主机MAC地址为MACC
-
这样,主机A和主机B的ARP缓存中就会有IPB—MACC和IPA—MACC 的记录。这样,主机A和主机B的通信数据都流向了主机C,主机C只要再发送到其真正的目的地就可以了。当然ARP缓存表项是动态更新的(一般为两分钟),如果没有更新信息,ARP映射项会自动删除。所以,主机C在监听过程中,还要不断地向主机A和主机B发送伪造的ARP应答包
-
解释: 如果主机没有发送ARP请求包,但是收到了ARP应答包,也会修改主机的ARP缓存表
-
注意: ARP缓存表项是动态更新的,主机C要不断地向主机A和主机B发送伪造的ARP应答包
-
-
注意: 源地址: MACA, IPA,目的地址MACC, IPB
-
-
发送大量虚假MAC地址数据报
- 交换机维护一张大小有限的端口-MAC的地址映射表
- 主机C发送大量虚假MAC地址的数据报,快速填满地址映射表,交换机在地址映射表被填满后,就会像HUB一样以广播方式处理数据报
- 解释: 可能是因为在端口-MAC的地址映射表找不到主机B的端口-MAC地址映射,所以会以广播方式处理
- 缺陷: 这种方法不适合采用静态地址映射表的交换机,而且也不是所有交换机都采用这种转发处理方式
-
ARP攻击溯源
-
方法一:
- 某个IP不断发送ARP请求包
- 原理
- 欺骗网关: 网关的ARP缓存表中,网内所有活动主机的MAC地址均为中毒主机的MAC地址(源IP和mac是所有主机IP和攻击者MAC)
- 欺骗网内的所有主机: 网关的MAC地址成为中毒主机的MAC地址(源IP和mac是网关IP和攻击者MAC)
-
方法二: 使用arp-a命令任意选两台不能上网的主机,两台电脑除了网关的IP, MAC地址对应项,都包含了192.168.0.186的这个IP,则可以断定192.168.0.186这台主机就是攻击源
- 原理: 一般情况下,网内的主机只和网关通信,如果通信的话很可能是arp攻击
-
方法三:使用tracert命令在任意一台受影响的主机上,在 DoS命令窗口下运行如下命令:tracert61.135.179.148,假定设置的缺省网关为10.8.6.1,在跟踪一个外网地址时,第一跳却是10.8.6.186,那么,10.8.6.186就是攻击源
-
-
防御方法
- 方法一:减少过期时间
- 方法二:建立静态ARP表
- 方法三:禁止ARP,前提是使用静态的ARP表
- 前提是使用静态的ARP表