第11节 ARP协议原理及攻防

1ARP协议

1.1广播与广播域

  • 广播:将广播地址作为目标地址的数据帧。
  • 广播域:网络中能接收到同一个广播的所有结点的集合。交换机隔离不了广播域,路由器隔离广播域。
  • MAC广播地址:FF-FF-FF-FF-FF-FF。
  • IP地址广播:ARP广播属于指向子网的广播。
    • 受限广播(全局广播):IP地址的网络字段和主机字段全为1就是地址255.255.255.255,该地址用于主机配置过程中IP数据包的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。
    • 指向网络:指向网络的广播地址是主机号为全1的地址。A类网络广播地址为netid.255.255.255,其中netid为A类网络的网络号。一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择。
    • 指向子网:指向子网的广播地址为主机号为全1且有特定子网号的地址。作为子网直接广播地址的IP地址需要了解子网的掩码。例如,如果路由器收到发往128.1.2.255的数据报,当B类网络128.1的子网掩码为255.255.255.0时,该地址就是指向子网的广播地址;但如果该子网的掩码为255.255.254.0,该地址就不是指向子网的广播地址。
    • 指向所有子网:指向所有子网的广播也需要了解目的网络的子网掩码,以便与指向网络的广播地址区分开。指向所有子网的广播地址的子网号及主机号为全1。例如,如果目的子网掩码为255.255.255.0,那么IP地址128.1.255.255是一个指向所有子网的广播地址。然而,如果网络没有划分子网,这就是一个指向网络的广播。

1.2ARP协议原理

  1. 定义:Address Resolution Protocol,地址解析协议。
  2. 功能:工作在第三层(网络层),将一个已知的IP地址解析成MAC地址。
  3. 简要原理:广播请求、单播应答。
  4. 工作流程:
    • 当A已知B的IP地址要向B发送数据时,首先检查自己的ARP缓存表中有没有B的MAC地址,发现没有B的MAC地址时,数据帧无法完整封装,此时,ARP协议发送ARP请求报文(我是A,MAC地址是AA,谁是B,MAC地址是多少?)
    • ARP报文从A的第三层送到第四层,网卡发现是ARP报文,对该报文进行封装时,目标地址写FF-FF-FF-FF-FF-FF,源MAC地址写AA,类型是0x0806,发送给交换机。
    • 交换机收到报文,发现目标MAC地址是FF-FF-FF-FF-FF-FF,向广播域内所有主机广播。
    • 所有主机收到报文后,数据链路层解读出A的MAC地址、目标MAC地址是FF-FF-FF-FF-FF-FF、类型是0x0806,哦,发现是ARP请求报文,将报文送到第三层,解读出A的IP和MAC地址(更新到自己的ARP缓存表中),如果发现询问是我自己,则回复信息(我是B,MAC地址是BB);如果不是我自己,则不搭理。
    • B将信息传递到数据链路层,进行封装,目标MAC地址是AA,源MAC地址是BB,类型0x0806,发送给交换机。
    • 交换机收到数据帧解析后,单播发给A。
    • A收到数据帧解析后,就知道了B的MAC地址,将其记录在自己的内存中,形成ARP缓存表。
    • 上述是B的IP与A的IP处于同一网段的情况,当不在同一网段时,arp找到与A所处网段路由器的mac地址。
  5. 天然逻辑漏洞:该协议就是用于询问对方MAC地址的,无法验证对方是否回答正确。

1.3ARP相关命令

新开两台虚拟机win7与win2003,进入cmd窗口进行ARP相关命令操作,先清空两个电脑的arp缓存表,再利用win7ping通win2003,最后查看两个电脑的arp缓存表,发现win7中出现了win2003的arp缓存条目,win2003也出现了win7的缓存条目,说明接到信息就会更新缓存表。

arp -a			#查看ARP缓存表
arp -d			#清除ARP缓存表
arp -s IP MAC 	#ARP静态绑定

2ARP攻防

2.1ARP攻击

  1. 原理:通过发送伪造虚假的ARP报文,目标是把捏造的MAC塞到别人的ARP缓存表。
    1. 发送虚假广播请求报文:C发送一个虚假广播请求(我是A,MAC地址是捏造的,谁是SB,MAC地址是?),交换机将该请求广播给所有主机,则所有主机都修改了A原本对应的MAC地址,将导致所有主机无法主动与A通信。如果此处的A是网关,则所有人断网。
    2. 发送虚假单播应答报文:在收到A请求B的ARP报文后,C伪造虚假的ARP报文,其中MAC地址是捏造的,单播给A后,A将B的IP与捏造的MAC地址记录下来,将导致A后续想发给B的信息在封装时采用的是假的MAC,该消息没有人能收到。如果此处的B是网关,则A无法上外网;如果此处的B是局域网内部其他主机,则当B主动联系A后,A才能与B联系。
  2. 结果:中断通信。
  3. 案例:后续将在学习kaili时再完善相应案例。

2.2ARP欺骗

  1. 原理:通过发送伪造虚假的ARP报文(别人的IP与自己的MAC),C骗A说“我是B,我的MAC地址是CC”,同时骗B说“我是A,我的MAC 地址是CC”。
  2. 结果:中间人监听、窃取、篡改、控制流量。
  3. 案例:后续将在学习kaili时再完善相应案例。

2.3防御ARP攻击

  1. 静态IP绑定:在客户机与网关上,双向静态绑定,手动绑定。
//客户机,cmd窗口
arp -s IP MAC 			#ARP静态绑定
//交换机与路由器
conf t
arp IP MAC arpa 接口号	#将IPMAC绑定到对应的接口上
  1. ARP防火墙:ARP防火墙自动绑定静态ARP,另外可以主动进行防御(与攻击者同样的做法,不断广播自己的IP和MAC地址)。
  2. 硬件级ARP防御:采用企业级管理型交换机,支持端口做动态ARP绑定。

3总结

  1. 掌握ARP协议的工作原理与流程;
  2. 了解利用ARP攻击的思路、了解防御ARP攻击的思路。
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值