当前位置: 首页 > news >正文

使用macof发起MAC地址泛洪攻击

使用macof发起MAC地址泛洪攻击

MAC地址泛洪攻击原理:

MAC地址泛洪攻击是一种针对交换机的攻击方式,目的是监听同一局域网中用户的通信数据。交换机的工作核心:端口- MAC地址映射表。这张表记录了交换机每个端口和与之相连的主机MAC地址之间的对应关系。通常情况下,交换机的每个端口只会连接一台主机,因而在CAM表中每个端口只对应一个MAC地址。由于交换机的缓存有限,因此它的CAM表中能保存的内容也是有限的。现在交换机都使用级联技术,也就是A交换机可以连接到B交换机的级联端口。这样B交换机的级联端口上就对应多台主机的MAC地址,从而在CAM表中产生大量的记录。MAC泛洪攻击就是由攻击者通过工具产生大量的数据帧,这些数据帧中的源MAC地址都是伪造的,而且不断变化。因而交换机将在攻击主机所连接端口上产生大量的MAC地址表条目,从而在短时间内将交换机的CAM表填满,无法再接收新的条目。

那么此时对于网络中的那些事先没有在交换机的MAC地址表中留下记录的主机,它们之间的数据通信就会全部采用广播的方式进行。

网络管理员可以采取措施来缓解MAC地址泛洪攻击,例如配置安全策略、使用入侵检测系统或更新交换机固件以应对此类威胁。

MAC地址泛洪攻击网络结构图

macof

通过eNSP中云与VMware相连,利用它可以将虚拟设备和外部真实网络连接到一起。这里简述一下将VMware中的Kali Linux2虚拟机连接到eNSP中。

将Kali Linux 2 虚拟机的连接方式设置为VMnet8(NAT),然后将云连接到VMnet8上。具体步骤如下:

(1)首先在VMware中Kali Linux2虚拟机的网络连接方式设置为NAT,然后启动。

(2)启动eNSP,新建一个网络拓扑如上图所示,并在其中添加一个交换机和两个PC机。

(3)向网络拓扑中添加一个云设备。

(4)云设备的配置如下图

macof1

(5)PC1设置如下图

macof2

PC2配置参照PC1,172.16.12.102 / 24。

MAC地址泛洪攻击步骤

在VMware中打开Kali Linux 2,以root身份运行macof,如下图所示:

macof3

由于华为S3700的CAM表很大,需要同时开启多个macof,这样才能快速将CAM表填满。如下图

macof4

交换机在遭到了攻击后,内部的CAM表很快就被填满。交换机退化成集线器,会将收到的数据包全部广播出去,从而无法正常向局域网提供转发功能。

此时在PC1端ping测试Kali端和PC2端是不通的,如下图:

macof5

如何防御MAC地址泛洪攻击

根据上面的实验分析,我们知道,如果限制每个端口对应的MAC地址数量就可以了。仍以ENSP中的S3700交换机为例,我们发现所有流量都来自于交换机的Ethernet 0/0/3端口,那么就可以在这个端口设置,保证端口最多学习8个mac地址,在交换机中配置如下:

[Huawei-Ethernet0/0/3] port-security enable
[Huawei-Ethernet0/0/3] port-security mac-address sticky
[Huawei-Ethernet0/0/3] port-security protect-action protect
[Huawei-Ethernet0/0/3] port-security max-mac-num 8

完成这个配置之后,再次启动macof进行攻击,发现虽然攻击者依然产生大量数据包,但是CAM表中只占8项,因而永远无法达到填满CAM表的目的。如下图

macof6

相关文章:

使用macof发起MAC地址泛洪攻击

使用macof发起MAC地址泛洪攻击 MAC地址泛洪攻击原理: MAC地址泛洪攻击是一种针对交换机的攻击方式,目的是监听同一局域网中用户的通信数据。交换机的工作核心:端口- MAC地址映射表。这张表记录了交换机每个端口和与之相连的主机MAC地址之间…...

力扣:1979. 找出数组的最大公约数(Java)

目录 题目描述:输入:输出:代码实现: 题目描述: 给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。 两个数的 最大公约数 是能够被两个数整除的最大正整数。 输入: nums [2,5,6…...

电瓶车充电桩:潜藏的暴利行业,简单入门到月入万元!

近几年来,电瓶车凭借其环保、经济特点已成为居民出行的必备工具之一。而促使电瓶车快速普及的原因之一即是电瓶车充电桩的普及。如果留心观察的话,相信大家都可以看出,国内大部分小区都已安装了充电桩设备,电瓶车充电桩已实现了大…...

mac监听 linux服务器性能可视化(Grafana+Promethus+Node_exporter)

Grafana和promethus(普罗米修斯)的安装和使用 监控系统的Prometheus类似于一个注册中心,我们可以只需要配置一个Prometheus,而在其他服务器,只需要安装node_exporter,它们的数据流转就是通过exporter采集数据信息,然后告诉prometheus它的位置…...

【负载均衡在线OJ项目日记】运行功能开发

目录 前言 运行功能开发分析 获取子进程运行信息 程序运行资源限制 运行功能开发代码 前言 上篇文章我们对客户端服务器传来的临时文件进行编译,这篇文章主要对编译成功的代码在我们的服务器运行这块功能的开发。 运行功能开发分析 在运行功能开发之前我们默…...

Qt | QLineEdit 类(行编辑器)

01、上节回顾 Qt | QComboBox(组合框)02、QLineEdit 1、QLineEdit 类是 QWidget 类的直接子类,该类实现了一个单行的 输入部件,即行编辑器,见右图 2、验证器(QValidator 类)和输入掩码简介:主要作用是验证用户输入的字符是否符合验证器 的要求,即限制对用户的输入,比…...

Mamba结构的Demo源码解读

文章目录 前言一、mamba结构构建辅助函数解读1、dataclass方法解读2、Norm归一化LayerNormRMSNormRMSNorm源码 3、nn.Parameter方法解读 二、mamba原理二、mamba模型构建1、主函数入口源码解读2、Mamba类源码解读 三、ResidualBlock的mamba结构源码解读四、MambaBlock构成Resid…...

金仓面对面 | 人大金仓×安硕信息共话金融信用风险管理数字化转型之道

金仓面对面 在数字化浪潮的推动下,人大金仓携手行业先锋,共同开启一场关于创新与转型的思想盛宴——金仓面对面。这不仅是一场对话,更是一次智慧的火花碰撞,一次行业数字化转型洞察的深度挖掘。 行业精英汇聚:我们荣幸…...

JavaScript值类型与引用类型的区别

值类型(原始类型) 值类型包括:undefined、null、boolean、number、string、symbol 和 bigint。这些类型的特点是: 存储位置:值类型的数据直接存储在栈(Stack)中。复制行为:当一个值…...

每日一博 - 闲聊架构设计中的多级缓存设计

文章目录 方法论概述客户端缓存应用层缓存服务层缓存缓存设计的注意事项总结 思维导图戳这里 方法论概述 从客户端到服务层,缓存的应用广泛而重要。通过合理的缓存设计,能够有效地提高系统的性能并降低延迟。 客户端缓存 在客户端层面,浏览…...

轻松实现MySQL集群配置:一主一从与一主多从教程

在数据驱动的时代,数据库的高可用性和负载分散成为了维护在线服务稳定运行的关键。MySQL作为世界上最流行的开源关系型数据库管理系统,其集群配置是任何DBA或开发人员必须掌握的技能之一。本文将为您详细介绍如何轻松配置MySQL的一主一从和一主多从集群&…...

Leetcode刷题-(41~45)-Java

算法是码农的基本功,也是各个大厂必考察的重点,让我们一起坚持写题吧。 遇事不决,可问春风,春风不语,即是本心。 我们在我们能力范围内,做好我们该做的事,然后相信一切都事最好的安排就可以啦…...

【Android】源码解析Activity的结构分析

源码解析Activity的结构分析 目录 1、Activity、View、Window有什么关联?2、Activity的结构构建流程3 源码解析Activity的构成 3.1 Activity的Attach方法3.2 Activity的OnCreate 4、WindowManager与View的关系总结 1、一个Activity对应几个WindowManage&#xff0…...

小猪APP分发:重塑应用分发市场的创新力量

在移动互联网蓬勃发展的今天,应用分发平台作为连接开发者与用户的桥梁,扮演着至关重要的角色。然而,随着市场的饱和,如何在众多平台中脱颖而出,为开发者提供更宽广的舞台,同时确保用户能够便捷、安全地获取…...

区块链 | IPFS 工作原理入门

🦊原文:What is the InterPlanetary File System (IPFS), and how does it work? 🦊写在前面:本文属于搬运博客,自己留存学习。 1 去中心化互联网 尽管万维网是一个全球性的网络,但在数据存储方面&#…...

减速机齿数速算

1.齿轮相关参数 1.1 模数 , 因为 齿数*齿距 Pi*直径 所以:直径/齿数 齿距/PI 模数 国标现行标准(截止2024/5)是: GB/ 1357-2008 / ISO 54-1996 模数有国标的一个序列标准: 1.2.轴径 轴径的国标是&a…...

2万字长文:海豚调度器(DolphinScheduler)面试题深入了解

目录 海豚调度器的主要功能和特点 海豚调度器与Oozie、Azkaban等调度器相比的优势...

全双工音频对讲模块-支持空中升级、多级无线中继

SA618F30是一款高集成的大功率全双工无线音频模块,发射功率高达32dBm。该音频模块简化接口,只需外接音频功放或麦克风即可作为一个小型对讲机,方便快捷嵌入到各类手持设备中。支持多级无线中继,支持OTA空中升级。 SA618F30配备1W…...

Spring扩展点(二)Spring事务生命周期

Spring事务生命周期 Spring事务事务生命周期 接口 TransactionSynchronizationTransactionalEventListener(另一种监听事务周期的方式) Spring事务 Spring对JDBC事务做了封装,使其易于使用。主要分为声明式事务和编程式事务。 Transactiona…...

foobar2000 for Mac:卓越音乐播放器

当您在寻找一款音质卓越、功能丰富的音频播放器时,foobar2000 for Mac无疑是您的首选。它拥有简洁明了的界面设计,易于上手,同时支持多种音频格式,让您无需担心兼容性问题。 foobar2000 for Mac v2.6.4免激活版下载 foobar2000 fo…...

Mac上PPT讲稿一键变文稿:用AppleScript自动化导出备注到TXT(附完整代码)

Mac上PPT讲稿一键变文稿:用AppleScript自动化导出备注到TXT(附完整代码) 每次做完PPT,看着密密麻麻的备注栏,你是不是也头疼怎么把这些零散的讲稿整理成连贯的文档?作为一位经常需要准备培训材料的讲师&…...

别再只盯着GNSS了!用移远EC20模组实现基站定位的完整配置流程(含免费Token申请)

移远EC20模组基站定位实战:从零配置到室内场景精准落地 在物联网设备定位领域,GNSS卫星定位长期占据主导地位,但鲜为人知的是,像移远EC20这样的LTE模组还隐藏着一个被低估的功能——基站定位。当你的智能水表安装在地下室、共享设…...

《数据结构》| 第十章 排序算法实战指南

1. 排序算法入门:为什么我们需要这么多排序方法? 第一次接触排序算法时,很多人都会有这样的疑问:既然都能把数据排好序,为什么还要学这么多种算法?这就像装修时既有电钻又有锤子——每种工具都有最适合的使…...

AnythingtoRealCharacters2511效果展示:动漫角色真人化案例

AnythingtoRealCharacters2511效果展示:动漫角色真人化案例 你有没有想过,如果自己喜欢的动漫角色真的出现在现实世界里,会是什么样子?不是那种粗糙的3D建模,也不是简单的滤镜叠加,而是看起来就像用专业相…...

Qwen3-Reranker-8B实战教程:为LlamaIndex添加Qwen3重排序插件

Qwen3-Reranker-8B实战教程:为LlamaIndex添加Qwen3重排序插件 1. 为什么需要重排序? 如果你用过RAG(检索增强生成)系统,可能会遇到一个常见问题:检索出来的文档,排在最前面的不一定是最相关的…...

ESP32开发实战:5分钟搞定MicroPython调用C库驱动LED(附完整代码)

ESP32混合编程实战:用MicroPython调用C库实现高性能LED控制 在物联网设备开发中,ESP32凭借其出色的性价比和丰富的功能接口成为硬件开发者的首选。而MicroPython作为嵌入式领域的Python实现,以其简洁的语法和快速的开发周期赢得了大量开发者的…...

FLUX.1-dev LoRA微调指南:基于像素幻梦输出数据集训练专属风格

FLUX.1-dev LoRA微调指南:基于像素幻梦输出数据集训练专属风格 1. 前言:为什么需要LoRA微调 在像素艺术创作领域,每个艺术家都渴望拥有独特的视觉风格。FLUX.1-dev作为当前最先进的扩散模型,配合像素幻梦(Pixel Dream Workshop)…...

FastAPI 2.0流式响应源码深度拆解,从Starlette 1.12到Pydantic v2.6兼容层的5处隐式await丢失点(生产环境已验证)

第一章:FastAPI 2.0流式响应架构演进与问题定位全景FastAPI 2.0 对流式响应(StreamingResponse)进行了底层重构,核心变化在于将 ASGI 生命周期与异步生成器的生命周期解耦,并引入更严格的流控契约。此前版本中常见的内…...

OpenClaw+nanobot技能开发:从零编写自定义文件处理器

OpenClawnanobot技能开发:从零编写自定义文件处理器 1. 为什么需要自定义文件处理技能 上周我整理项目文档时,遇到了一个典型问题:需要将数百个Markdown文件按照"日期-标题"格式批量重命名。手动操作不仅耗时,还容易出…...

从“未知发布者”到“可信来源”:代码签名证书如何重塑用户信任?

一、用户信任危机:数字时代的核心挑战 在软件分发领域,"未知发布者"警告已成为开发者与用户之间的信任鸿沟。据2025年全球软件安全报告显示,73%的用户在看到此类警告时会直接放弃安装,即使软件来自知名企业。这种信任缺…...