MAC泛洪攻击
MAC泛洪攻击主要是利用局域网交换机的mac学习和老化机制。
局域网中的pc1发送数据帧给pc2,经过交换机时,交换机会在内部mac地址表中查找数据帧中的目标mac地址,如果找到就将该数据帧发送到相应的端口,如果找不到,交换机就会向入端口以外的所有端口发送此数据帧。
交换机的mac学习机制
内部mac表都是有大小的,一般8k左右,一但mac表满了,其他mac地址就加不进来。
内部mac表是将主机的mac地址和连接到交换机上的端口号进行绑定,这样可以根据mac地址找到端口进行转发。
一开始的时候,没有主机连接,交换机内的mac表是空白的,这时候就要进行学习。
下面咱们幻想出一个场景: PC1这时候想往PC2发送数据,数据帧经过交换机的时候,交换机会把数据帧中的源mac地址和进入的端口号记录到mac表中; 由于一开始mac表中没有PC2的mac地址和端口绑定,所以交换机会将这个数据帧进行全网转发,就是所谓的广播,也叫泛洪。
交换机将所有数据帧进行全网转发后,每台主机的协议栈会比对数据帧的目的mac地址是否和自身的一样,如果一样就进行应答,如果不一样,就进行丢弃(注意:那些mac地址不相同的主机网卡也会接收到数据帧,只是不予理会,对网卡进行抓包是能看到数据帧的)。
这个时候,PC2接收到了数据帧,并进行应答。应答数据帧经过交换机的时候,交换机会将应答数据帧的源mac地址和端口号学习到mac表中,也就是PC2的mac地址和端口号绑定。
交换机根据应答数据帧的目的mac地址,开始查询mac表,发现PC1的记录存在&