交换机Mac泛洪实验报告
交换机的概述及工作原理
交换机的概述:交换机是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。交换机工作于OSI参考模型的第二层,即数据链路层。交换机拥有一条高带宽的背部总线和内部交换矩阵,在同一时刻可进行多个端口对之间的数据传输。交换机的传输模式有全双工,半双工,全双工/半双工自适应。
2,交换机的工作原理:当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去。交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所有MAC地址与该交换机各端口的对应信息。某一数据帧需要转发时,交换机根据该数据帧的目的MAC地址来查找MAC地址表,从而得到该地址对应的端口,即知道具有该MAC地址的设备是连接在交换机的哪个端口上,然后交换机把数据帧从该端口转发出去。
交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。
交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。
如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪(flood)。
广播帧和组播帧向所有的端口转发。
交换机的存在的弊端
广播风暴
MAC地址表震荡
多帧复制
交换机Mac泛洪攻击
注:以下实验方法均在在ensp和虚拟机kali上共同进行完成为例。
方法一:macof进行mac泛洪攻击
打开kali终端下载并安装好macof。
命令如下:sudo apt install dsniff
在华为ensp上搭建实验所需的拓扑图(如下图所示)
配置Cloud云,建立起Kali和ensp互通(如下图所示)
4,pc机与虚拟主机kali之间相互ping通,证明二者已经能够相互通信。
5,使用macof对eth0进行泛洪攻击(命令为 macof -i eth0)
效果图如下:
对目标网络Mac地址进行泛洪
在ensp拓扑图中的交换机(s3700),通过display mac-address 命令,进行对比查看是否有大量不知明的Mac地址。
1,未对其进行泛洪前的mac地址表。
2,泛洪后的mac地址表
由mac地址表对比后,得出结果泛洪成功。
方法二:用python脚本进行Mac泛洪攻击。
在渗透主机(kali)python解释器中导入Scapy库,
输入From scapy.all import *。
建一个python文本(mac.py)
在这个mac.py的文件里写一个泛洪的脚本
运行这个脚本文件,对其进行泛洪。
查看mac地址表显示泛洪成功
四,防泛洪的措施
交换机命令解析:
port default vlan 200#将组里所有接口默认VLAN改为VLAN200
port-security enable#将组里所有端口安全打开
port-security mac-address sticky #将组里所有MAC都设置为粘连(类似绑定)
port-security max-mac-num 10#一个端口最大MAC数量为10个。
port-security protect-action protect#设置为如果违反端口安全则丢包
port-security protect-action restrict #设置为如果违反端口安全则向交换机发送日志并丢包
port-security protect-action shutdown #设置为如果违反端口安全则向交换机发送日志,丢包并将端口shutdown
需要管理员重新开启,Kali再次进行macof攻击:
查看mac地址表,显示防泛洪机制成功运作。
版权归原作者 小江编辑 所有, 如有侵权,请联系我们删除。