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

以太网交换安全:MAC地址漂移与检测(实验:二层环路+网络攻击)

一、什么是MAC地址漂移?

MAC地址漂移是指网络中设备的MAC地址在运行过程中发生变化的现象

MAC地址是用于唯一标识网络中的设备。

MAC地址漂移是指交换机上一个VLAN内有两个端口学习到同一个MAC地址,后学习到的MAC地址表项覆盖原MAC地址表项的现象。
当一个MAC地址在两个端口之间频繁发生迁移时,即会产生MAC地址漂移现象:正常情况下,网络中不会在短时间内出现大量MAC地址漂移的情况。出现这种现象一般都意味着网络中存在环路,或者存在网络攻击行为。

二、MAC地址漂移如何防止?

如果是环路引发的MAC地址漂移,解决的方法是部署防环技术,如STP,消除二层环路,假如是网络攻击等其他因素引起的MAC地址漂移可以配置接口MAC地址的学习优先级和配置不允许相同优先级接口MAC地址漂移

(1)在默认时接口MAC地址学习的优先级均为0,数值越大优先级越高。当同一个MAC地址被两个个接口学习到后,接口MAC地址学习优先级高的会被保留,MAC地址学习优先级低的被覆盖。
(2)在配置不允许相同优先级接口MAC地址漂移时,如果安全网络设备下电,则交换机仍会学习到伪造网络设备的MAC地址,当网络设备再次上电时将无法学习到正确的MAC地址。因此该特性需谨慎使用,如果交换机的接口连接的网络设备是服务器,当服务器下电后,另外的接口学习到与服务器相同的MAC地址,当服务器再次上电后就不能学习到正确的MAC地址。

三、MAC地址漂移如何进行检测 ?

交换机支持MAC地址漂移检测机制,分为以下两种方式:
。基于VLAN的MAC地址漂移检测
。配置VLAN的MAC地址漂移检测功能可以检测指定VLAN下的所有的MAC地址是否发生漂移。。当MAC地址发生漂移后,可以配置指定的动作,例如告警、阻断接口或阻断MAC地址。全局MAC地址漂移检测
。该功能可以检测设备上的所有的MAC地址是否发生了漂移。
·若发生漂移,设备会上报告警到网管系统。
。用户也可以指定发生漂移后的处理动作,例如将接口关闭或退出VLAN。

四、实验

由环路引起的MAC地址漂移

由于华为交换机默认打开STP所以实验开始我们要用undo stp enable将交换机的STP关闭

LSW2和LSW4交换机都是一样的操作

实验配置

LSW1命令

[LSW1-GigabitEthernet0/0/2]mac-learning priority 3   //配置接口的优先级为3

LSW2命令

[LSW2]mac-address flapping detection
[LSW2]mac-address flapping aging-time 500
[LSW2int g0/0/2
[LSW2-GigabitEthernet0/0/2]mac-address flapping trigger error-down
//配置检测到mac地址漂移的动作为关闭接口
[LSW2]int g0/0/3
[LSW2-GigabitEthernet0/0/3]mac-address flapping trigger error-down
[LSW2]error-down auto-recovery cause mac-address-flapping interval 500

//自动恢复接口的时间为500秒

注:在教材中配置检测发生漂移动作的处理动作时这个action(有些交换机)没法使用,我们可以用trigger来代替它

测试

用终端去连通server,可以发现连不通,因为当前的网络处于二层环路状态,所以连不通。

当交换机检测到MAC地址漂移后就会进行配置动作(关闭接口),配置动作完成后终端就能连通server

下面可以看到接口已经关闭

[LSW2]dis mac-address flapping record  //查看mac地址漂移日志

由网络攻击引起的MAC地址漂移

在配置上与上面的配置差不多,只是不需要关闭stp,且要将两个终端的MAC地址改为一样的

其中一个是伪装的攻击者

LSW5命令
[LSW5-GigabitEthernet0/0/1]mac-learning priority 3
LSW6命令
[LSW6]mac-address flapping detection
[LSW6]mac-address flapping aging-time 60
[LSW6]int g0/0/2
[LSW6-GigabitEthernet0/0/2]mac-address flapping trigger error-down
[LSW6-GigabitEthernet0/0/2]int g0/0/3
[LSW6-GigabitEthernet0/0/3]mac-address flapping trigger error-down
[LSW6]error-down auto-recovery cause mac-address-flapping interval 60

测试

与上面的实验一样也是终端去pingserver,不过在上面的实验是要设备之间能够连通,这个实验是要攻击者ping不到server

当交换机检测到MAC地址漂移后启用动作,PC4连通不了了

[LSW6]dis mac-address flapping record  //查看mac地址漂移日志

至此,实验结束

五、总结

总的来说,MAC地址漂移是一种需要及时检测和处理的网络现象,它可能由多种因素引起,对网络的稳定性和性能产生负面影响。通过配置MAC地址漂移检测功能、查看告警信息、分析漂移记录以及采取适当的防止措施,可以有效地管理和解决MAC地址漂移问题。

相关文章:

以太网交换安全:MAC地址漂移与检测(实验:二层环路+网络攻击)

一、什么是MAC地址漂移? MAC地址漂移是指网络中设备的MAC地址在运行过程中发生变化的现象。 MAC地址是用于唯一标识网络中的设备。 MAC地址漂移是指交换机上一个VLAN内有两个端口学习到同一个MAC地址,后学习到的MAC地址表项覆盖原MAC地址表项的现象。…...

NeRF三维重建—神经辐射场Neural Radiance Field(二)体渲染相关

NeRF三维重建—神经辐射场Neural Radiance Field(二)体渲染相关 粒子采集部分 粒子采集的部分我们可以理解为,在已知粒子的情况下,对图片进行渲染的一个正向的过程。 空间坐标(x,y,z)发射的光线通过相机模型成为图片上…...

软件测试工程师:如何写出好的测试用例?

软件测试用例(Test Case)是软件测试过程中的一种详细文档或描述,用于描述在特定条件下,对软件系统或组件进行测试的步骤、输入数据、预期输出和预期行为。编写高质量的测试用例是确保软件质量的关键步骤之一。以下是一些编写优秀测试用例的建议&#xff…...

「图::连通」详解并查集并实现对应的功能 / 手撕数据结构(C++)

目录 概述 成员变量 创建销毁 根节点访问 路径压缩 启发式合并 复杂度 Code 概述 并查集,故名思议,能合并、能查询的集合,在图的连通性问题和许多算法优化上着广泛的使用。 这是一个什么数据结构呢? 一般来讲,并查集是…...

基于PSO粒子群优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) PSO优化过程: PSO优化前后,模型训练对比: 数据预测对比: 误差回归对比&a…...

PyTorch 的 DataLoader 类介绍

DataLoader 类 功能与作用 PyTorch 是一个流行的开源机器学习库,它提供了一个名为 DataLoader 的类,用于加载数据集并将其封装成一个可迭代的对象。DataLoader 可以自动地将数据集划分为多个批次,并在训练过程中迭代地返回这些批次。是用于加…...

【设计模式系列】命令模式

目录 一、什么是命令模式 二、命令模式的角色 三、命令模式的典型应用场景 四、命令模式在Runnable中的应用 一、什么是命令模式 命令模式(Command Pattern)是一种行为设计模式,它将一个请求或简单操作封装为一个对象。这个模式提供了一种…...

uniapp中使用lottie实现JSON动画

uniapp中使用lottie实现JSON动画 不喜欢废话直接开干一、引入相关依赖二、在项目的目录新建目录结构三、操作步骤四、编写自定义组件代码五、组件的使用提一嘴更多lottie-web常用方法添加点击事件 不喜欢废话直接开干 一、引入相关依赖 npm install lottie-web # 如果有问题可…...

AcWing275

题目重述 这道题的核心是利用方格取数模型的思想,将两条路径的传递过程映射为同时出发的两条路径,避免重复格子的经过。题解通过以下步骤解题: 路径映射:从 (n, m) 回到 (1, 1) 的路径,可以转换成 (1, 1) 到 (n, m) …...

Windows系统部署redis自启动服务【亲测可用】

文章目录 引言I redis以本地服务运行(Windows service)使用MSI安装包配置文件,配置端口和密码II redis服务以终端命令启动缺点运行redis-server并指定端口和密码III 知识扩展确认redis-server可用性Installing the Service引言 服务器是Windows系统,所以使用Windows不是re…...

深入了解机器学习 (Descending into ML):线性回归

人们早就知晓,相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更为频繁。数十年来,专业和业余昆虫学者已将每分钟的鸣叫声和温度方面的数据编入目录。Ruth 阿姨将她喜爱的蟋蟀数据库作为生日礼物送给您,并邀请您自己利用该数据库训练一…...

每日OJ题_牛客_集合_排序_C++_Java

目录 牛客_集合_排序 题目解析 C代码 Java代码 牛客_集合_排序 集合_牛客题霸_牛客网 (nowcoder.com) 题目解析 笔试题可直接用set排序&#xff0c;面试可询问是否要手写排序函数&#xff0c;如果要手写排序&#xff0c;推荐写快排。 C代码 #include <iostream> …...

鸿蒙网络编程系列27-HTTPS服务端证书的四种校验方式示例

1. 服务端数字证书验证的问题 在鸿蒙客户端对服务端发起HTTPS请求时&#xff0c;如果使用HttpRequest的request发起请求&#xff0c;那么就存在服务端数字证书的验证问题&#xff0c;你只有两个选择&#xff0c;一个是使用系统的CA&#xff0c;一个是使用自己选定的CA&#xf…...

scala继承

Scala中继承的定义为在原有类的基础上定义一个新类&#xff0c;原有类称为父类&#xff0c;新类称为子类。 当子类从父类中继承的方法不能满足需要时&#xff0c;子类需要有自己的行为&#xff0c;怎么办&#xff1f; 此时使用override可以重写父类方法。 class Aniaml(){va…...

【Hive】2-Apache Hive概述、架构、组件、数据模型

Apache Hive概述 什么是Hive Apache Hive是一款建立在Hladoop之上的开源数据仓库系统&#xff0c;可以将存储在Hadoop文件中的结构化、半结构化数据文件映射为一张数据库表&#xff0c;基于表提供了一种类似SQL的查询模型&#xff0c;称为Hive查询语言(HQL)&#xff0c;用于访…...

关于目前面试八股文的一些心得体会

现在是2024年10月&#xff0c;自22年开始&#xff0c;明显感觉到整个计算机行业&#xff0c;越来越卷了。一方面&#xff0c;随着信息的传播&#xff0c;越来越多的新人涌入了这个赛道&#xff0c;另一方面&#xff0c;众所周知的原因&#xff0c;不管大厂还是小厂在经历寒冬之…...

大数据-178 Elasticsearch Query - Java API 索引操作 文档操作

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…...

PHP(一)从入门到放弃

参考文献&#xff1a;https://www.php.net/manual/zh/introduction.php PHP 是什么&#xff1f; PHP&#xff08;“PHP: Hypertext Preprocessor”&#xff0c;超文本预处理器的字母缩写&#xff09;是一种被广泛应用的开放源代码的多用途脚本语言&#xff0c;它可嵌入到 HTML…...

基于深度学习的生物启发的学习系统

基于深度学习的生物启发学习系统&#xff08;Biologically Inspired Learning Systems&#xff09;旨在借鉴生物大脑的结构和学习机制&#xff0c;设计出更高效、更灵活的人工智能系统。这类系统融合了生物神经科学的研究成果&#xff0c;通过模仿大脑中的学习模式、记忆过程和…...

10_实现readonly

在某些时候&#xff0c;我们希望定义一些数据是只读的&#xff0c;不允许被修改&#xff0c;从而实现对数据的保护&#xff0c;即为 readonly 只读本质上也是对数据对象的代理&#xff0c;我们同样可以基于之前实现的 createReactiveObject 函数来实现&#xff0c;可以为此函数…...

IceC:面向嵌入式平台的轻量级ICE兼容中间件

1. IceC&#xff1a;面向资源受限嵌入式平台的轻量级ZeroC ICE兼容中间件 1.1 设计定位与工程必要性 IceC并非ZeroC ICE的全功能移植&#xff0c;而是在AVR&#xff08;如ATmega328P&#xff09;和ESP8266等典型资源受限平台约束下&#xff0c;对ICE通信模型进行深度裁剪与重构…...

The Agency:助您改变工作流程的 AI 专家团队

The Agency&#xff1a;助您改变工作流程的 AI 专家团队 触手可及的完整 AI 代理机构——从前端奇才到 Reddit 社区达人&#xff0c;从创意灵感注入师到现实检验员。每位代理都是具备个性、流程和可靠交付成果的专业专家。 repo:https://github.com/msitarzewski/agency-agents…...

【UE6.5 C++27 调试终极指南】:20年引擎老兵亲授GDB/LLDB/Visual Studio三端协同调试黄金流程

第一章&#xff1a;UE6.5 C27 调试体系演进与核心挑战Unreal Engine 6.5 正式引入对 ISO/IEC 14882:2027&#xff08;C27&#xff09;标准的实验性支持&#xff0c;并重构了底层调试基础设施&#xff0c;以应对现代C语言特性带来的可观测性断层。传统基于符号表与行号映射的调试…...

matlab anybody opensim包括人机耦合建模、缩放、运动学_逆动力学分析,以及自由度扩建、肌肉重建、RRA_CMC仿真,从理论到代码手把手教会运动生物力学数据代处理

matlab anybody opensim包括人机耦合建模、缩放、运动学/逆动力学分析&#xff0c;以及自由度扩建、肌肉重建、RRA/CMC仿真&#xff0c;从理论到代码手把手教会运动生物力学数据代处理、辅导 paper 包含运动学动力学分析&#xff0c;肌电数据处理由于 OpenSim 的核心算法&#…...

自动化测试框架选型:为什么我们最终选择了Playwright?

在软件质量保障体系中&#xff0c;UI自动化测试框架的选型是一个至关重要的技术决策。面对市场上众多的选择&#xff0c;如老牌的Selenium、现代的Cypress以及后起之秀Playwright&#xff0c;如何做出既符合当下技术趋势&#xff0c;又能满足团队长期发展需求的选择&#xff0c…...

像素剧本圣殿惊艳效果:Glitch标题下生成的元宇宙主题互动剧本

像素剧本圣殿惊艳效果&#xff1a;Glitch标题下生成的元宇宙主题互动剧本 1. 创作工具的革命性突破 在数字内容创作领域&#xff0c;一款名为"像素剧本圣殿"的工具正在掀起创作方式的革新浪潮。这款基于Qwen2.5-14B-Instruct大模型深度优化的专业剧本创作工具&…...

如何将数据从小米传输到三星?完整教程

从小米手机换到三星设备似乎很麻烦&#xff0c;尤其是在传输所有重要数据的时候。好在有几种可靠的方法可供选择&#xff0c;包括三星的智能切换功能。但是三星智能切换功能能兼容小米吗&#xff1f; 在本指南中&#xff0c;我们将解答这个问题&#xff0c;并探索如何轻松高效…...

告别破解风险,用快马AI五分钟搭建你的专属数据库管理工具原型

最近在做一个需要频繁操作数据库的小项目&#xff0c;原本想用Navicat这类工具&#xff0c;但正版价格不菲&#xff0c;破解版又担心安全和法律风险。正好发现InsCode(快马)平台可以快速生成代码原型&#xff0c;就尝试用它5分钟搭建了一个简易的数据库管理工具。 为什么选择W…...

2025最权威的五大AI写作网站实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在学术研究范畴之内&#xff0c;AI论文写作器件正渐渐趋于普遍&#xff0c;而免费的资源给研…...

5分钟上手BilibiliDown:Windows/Mac/Linux三平台通用的B站视频下载神器

5分钟上手BilibiliDown&#xff1a;Windows/Mac/Linux三平台通用的B站视频下载神器 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.…...