1、概述
广播与广播域
- 广播:将广播地址作为目标地址的数据帧。
- 广播域:网络中所有能接收到同一个广播的所有节点的集合,广播域越小越好,交换机无法隔离广播域,路由器和网关会隔绝广播域。
Mac地址的广播地址:
- FF-FF-FF-FF-FF-FF
IP广播地址:
255.255.255.255
- 广播IP地址为IP地址网段的广播地址,如192.168.1.255/24
ARP协议(Address Resolution Protocol,地址解析协议):
- 将每一个已知IP地址解析成MAC地址。
ARP协议原理:
- 发送ARP广播请求:
- ARP报文内容:我是10.1.1.1,我的Mac地址是AA
- 谁是10.1.1.3,你的Mac地址是?
- 接收ARP单播应答
2、ARP攻击或欺骗的原理:
- 通过发送伪造虚假的ARP报文(单播或广播),来实现的攻击或欺骗:
- 如虚假报文的Mac地址是伪造的不存在的,实现的是ARP攻击,结果为终端通信/断网;
- 如虚假报文的Mac地址是攻击者自身的Mac地址,实现的是ARP欺骗,可以实现监听、窃取、篡改、控制流量,但可以不中断通信。
- 攻击原理:
- 假设在10.1.1.0/24网段,网关为10.1.1.254,主机10.1.1.1广播询问主机10.1.1.3的Mac地址,主机10.1.1.2收到广播包后,用工具生成一个虚假的ARP应答报文,内容为“我是10.1.1.3,我的Mac地址为EE”,EE可以是伪造的Mac地址,这时候主机10.1.1.1会收到两个应答,ARP报文是”后到后得“,总是会学习最新的,只要10.1.1.2发送的虚假应答包比10.1.1.3晚,就能够被10.1.1.1学习到,10.1.1.1就会以为EE是目标主机,同样的10.1.1.3发送ARP广播请求包时,10.1.1.2采用同样的手段告诉10.1.1.3”我是10.1.1.1,我的Mac地址为EE“,这样主机1和主机3之间发送的信息全部会丢失,1和3之间无法通信。
- 当一个主机发现目标IP与自己不在同一网段时,首先会发送ARP广播请求包询问网关的Mac地址,如果收到虚假的伪造的ARP应答报文,则会认为错误的地址是网关,从而无法访问互联网。
- 通过广播请求报文攻击的原理:伪造虚假的请求,如将网关IP地址和伪造的Mac地址作为自己的信息,来询问一个伪造的IP,广播域内的主机收到广播请求包后,会学习其中的信息,将网关的IP和Mac地址缓存下来,当访问互联网时,由于网关IP的Mac地址是错误的,则广播域内的主机均无法访问互联网。
- 欺骗原理
- 假设10.1.1.1的Mac地址是AA,10.1.1.3的为CC,10.1.1.4的为DD,10.1.1.254的为BB,主机1和主机3在发送广播请求包时,主机4将自己的Mac地址DD作为应答发送给主机1和3,当主机1和3相互通信时,发送的信息都会到主机4,主机4可以随意处置收到的信息,可以将信息再发送给正确的主机让他们误以为还在通信;主机4可以篡改双方发送的信息;主机4可以丢弃部分信息,如果使用的是TCP服务时,接收端主机会询问发送端主机重传丢失的数据,双方传输的速率就会下降;主机4可以欺骗域内主机自己是网关,从而控制域内主机访问互联网发送的信息,可以达到控制流量的目的。

3、路由器的工作原理:
- 当一个数据帧到达路由器时,路由器首先检查数据帧的目标Mac地址是否为自己,如果不是,直接丢弃,如果是,则解封装帧头帧尾,将IP数据包送到路由器内部;
- 路由器检查IP数据包包头种的目标IP,并匹配路由表,如果匹配失败,则丢弃该数据包,并向源IP返回错误信息,如果匹配成功,则将IP包路由到出接口;
封装帧,将出接口的Mac地址作为源Mac地址,然后检查ARP缓存表,检查是否有吓一跳的Mac地址,如果有,将提取并作为目标Mac地址封装到帧头,如果没有,则发送ARP广播请求报文请求下一跳Mac地址,获取到对方的Mac地址后,记录缓存,并封装到帧头,最后将帧发送出去。
4、ARP攻击防御
静态ARP绑定,手工绑定/双向绑定(主机与路由器均静态ARP绑定)
arp -s ip地址 mac地址
ARP防火墙绑定,能够绑定静态ARP,能够主动防御,不断向网关发送ARP报文表明自己的身份,但是会造成网络负担。
- 硬件级ARP防御,企业级交换机支持在“端口”做动态ARP绑定,在DHCP动态分配IP时,动态绑定IP地址和Mac地址,只有数据包的IP地址和Mac地址一致才能通过;或者做静态ARP绑定。
Switch(config)#ip dhcp snoopingSwitch(config)#int range f0/1 - 24(接口数量) #批量端口命令控制Switch(config-if-range)#shutdown




