MAC(Media Access Control,介质访问控制)地址是识别LAN节点的标识,是传输数据时真正赖以标识发出数据的电脑和接收数据的主机地址。交换机之所以能够直接对目的节点发送数据包,而不是像集线器一样以广播方式对所有节点发送到数据包,最关键的技术就是交换机可以识别连在网络上的节点的网卡MAC地址,并把他们放到一个叫做MAC地址表的地方。这个MAC地址表存放于交换机的缓存中,并记住这些地址。
交换机的一个原理是会自动学习并记录MAC地址。而攻击者就利用交换机的MAC地址学习机制,不断的进行MAC地址刷新,迅速填满交换机的MAC地址表,以至崩溃,使交换机不得不使用广播发包,从而获取其他人的报文信息。
如果交换机设置了静态的MAC地址绑定,非表内请求将全部丢弃,开启未知单播泛洪保护,则此种攻击将无效。
1:终端运行macof -i eth0 可以多开终端运行,加速缓存的填充速度
2:攻击达到缓存被填满后,可以使用中间人攻击截取其他终端的数据传输