广播与广播域概述

  • 广播

    • 将广播地址作为目的地址的数据帧
  • 广播域

    • 网络中能接受到同一个广播所有节点的集合
  • MAC地址广播

    • 广播地址为FF-FF-FF-FF-FF-FF
  • IP地址广播

    • 255.255.255.255
    • 广播IP地址为IP地址网段的广播地址,如192.168.1.255/24,IP地址中主机位0和255作为保留,一个代表网段,一个为广播地址。

交换机无法控制广播,广播在同一网段中传输,只有路由器能隔离广播(物理隔离)


ARP协议

ARP(Address resolution protocol)将一个已知的IP地址解析成MAC地址。

ARP解析过程

简单来说就是广播请求,单播应答。

  • PC1发送数据给PC2,查看缓存没有PC2的MAC地址
  • PC1发送ARP广播请求
  • 所有终端收到ARP请求消息
    • PC2回复ARP应答(单播)
    • 其他主机丢弃
  • PC1将PC2的MAC地址保存到缓存中,发送数据。

当目标IP和源IP在同一网段时,发送广播包询问目标IP的MAC地址,如果不在同一网段,则发送广播包询问网关的MAC地址


防御ARP攻击

ARP欺诈和攻击的原理是一样的,区别是ARP报文中的MAC地址的真实性。

通过伪造ARP数据报文修改目标的ARP缓存,单播应答或广播请求都可以。

静态ARP绑定

此方法缺点很多,首先必须双向绑定,否则攻击者可以对网关做ARP欺诈同样也能实现中间人攻击。除了在终端上绑定之外在路由器上也必须静态配置ARP缓存,如果是在域环境中还必须关闭DHCP服务器静态配置IP地址。

ARP防火墙

ARP防火墙的工作原理是自己这边对网关做静态ARP绑定,然后通过攻击者的手段不断向网关发送ARP数据报实现双向防御,不能从根源解决双向绑定,而且会对网关会造成较大负担。在大型网络中不可能会用这种东西。

硬件级防御

  • 交换机支持端口做动态ARP绑定(配合DHCP服务器)或做静态ARP绑定,在企业级交换机中通过检查DHCP的ACK包对目标的IP地址和MAC进行动态绑定,过滤所有ARP数据报,从根源解决了问题。一般的交换机工作在2层,无法对3层数据报做检查。
  • 如果攻击者不请求DHCP服务,静态绑定的话交换机也会将其第一个数据包做动态绑定,如果一开始就发送虚假的报文,那自己也收不到数据包了。

命令

只有特殊的带ARP防御功能的交换机才可以,一般的企业级交换机没有这个功能,命令如下:

  • 静态绑定
1
2
3
Switch(config)#arp 10.0.0.12 90fb.a695.4445 arpa f0/2
Switch(config)#arp 10.0.0.178 001a.e2df.0741 arpa f0/1
Switch(config)#arp 10.0.0.95 0013.240a.b219 arpa f0/3
  • 动态绑定
1
2
3
4
conf t
ip dhcp snooping
int range f0/1 - 48
switch(config-if-range)#

一般支持ARP防御的交换机也支持DHCP防御,可以对端口批量限制发送DHCP Offer包防止伪造DHCP服务器。