HCIP——以太网交换安全(四)DHCP Snooping

目录

一、DHCP Snooping的知识点

二、DHCP Snooping实验拓扑

三、总结

一、DHCP Snooping的知识点

1.1、DHCP snooping 概述:

①DHCP Snooping使能DHCP的一种安全特性,用于保证DHCP客户端从合法的DHCP服务端获取IP地址。DHCP服务器记录DHCP客户端IP地址与MAC地址等参数的对应关系,防止网络针对DHCP攻击。

②目前DHCP协议在应用的过程中遇到很多安全的问题,网络中存在一些针对DHCP的攻击,如DHCP Server仿冒者攻击、DHCP Server的拒绝服务攻击、仿冒DHCP报文攻击等。

1.2、DHCP snooping信任功能

1.3、DHCP Snooping绑定表

二层接入设备使用了DHCP Snooping功能后,从收到DHCP ACK报文中的提取关键信息(包括PC的MAC地址以及获取到的IP地址等),并获取与PC连接的使用了DHCP Snooping功能的接口信息(包括接口编号以及接口所属的VLAN),根据这些信息生成DHCP Snooping绑定表。

1.4、DHCP饿死攻击

①攻击原理:攻击者持续大量地向DHCP Server申请IP地址,知道耗尽DHCP Server地址池中的IP地址,导致DHCP Server不能给正常的用户进行分配。

②漏洞分析:DHCP Server向申请者分配IP地址使,无法区分正常的申请者与恶意的申请者。

1.5、DHCP Snooping 防饿死攻击

解决方法:对于饿死攻击,可以通过DHCP Snooping的MAC地址限制功能来防止。该功能通过限制交换机接口上允许学习到的最多MAC地址数目,防止通过变换MAC地址,大量发送DHCP请求。

1.6、改变CHADDR值Dos攻击

①攻击原理:攻击者持续大量地向DHCP Server申请IP地址,知道耗尽DHCP Server不能给正常的用户进行分配。

②漏洞分析:DHCP Server向申请者分配IP地址时,无法区分正常的区分申请者与恶意申请者。

1.7、DHCP Snooping防改变CHADDR值的Dos攻击的解决方法是

可以在设备配置DHCP Snooping功能,检查DHCP Request报文中的CHADDR字段,如果该字段数据帧头部的源MAC相匹配,转发报文,否则,丢弃报文。如图所示

 

1.8、DHCP中间人攻击

就是DHCP中间人攻击本质上是一种Spoofing IP/MAC攻击。要想防止DHCP中间人攻击,其实就是要防止Spoofing IP/MAC攻击。

1.9、DHCP Snooping配置方法

需要在支持DHCP Snoping功能的交换机上进行配置,包括设置信任端口、非信任端口以及生成和管理DHCP Snooping绑定表等步骤。

 二、DHCP Snooping实验

 2.1、实验拓扑图:

2.2、实验要求

1.配置合法dhcp服务器以及非法dhcp服务器的dhcp功能;

2.在SW1开启dhcp snooping功能,并且将连接合法dhcp服务器的端口设置为信任接口;

3.在G0/0/3口设置通过dhcp获取ip地址的最大数量为1,修改PC1的mac地址,模拟网络攻击。

 2.3、详细步骤和命令

(1)在合法DHCP服务器上的配置

<Huawei>system-view

[Huawei]undo info-center enable

[dhcp serrver]sys dhcp server

[dhcp server]dhcp en

[dhcp server]int g0/0/0

[dhcp server-GigabitEthernet0/0/0]ip address 10.1.1.254 24

[dhcp server-GigabitEthernet0/0/0]dhcp select interface

(2)在非合法DHCP服务器上的配置

<Huawei>system-view

[Huawei]undo info-center enable

[SW2]sys Attacker

[Attacker]int g0/0/0

[Attacker]dhcp en

[Attacker]int g0/0/0

[Attacker-GigabitEthernet0/0/0]ip address 192.168.1.254 24

(3)在LSW1上开启DHCP Snooping功能,并将连接合法DHCP服务的端口设置为信任接口

<Huawei>sys

[Huawei]undo info-center en

[Huawei]sys SW1

[SW1]dhcp en

[SW1]dhcp snooping enable

[SW1]vlan 1

[SW1-vlan1]dhcp snooping enable

[SW1-vlan1]dhcp snooping trusted interface g0/0/1

[SW1-vlan1]q

注:在这里为什么要设置信任端口呢?缺省情况下,默认所有的接口都是不信任的,因此要设置信任端口

(4)使用PC1和PC2获取IP地址

 

可以看到两台PC获取的IP地址都为合法服务器分配的IP地址。

(5)也可以数据抓包来查看

下面这张图片接口是指向合法DHCP服务器的接口G0/0/1

 

下面这张图片接口是指向非合法DHCP服务器的接口G0/0/2

从上面两张图就可以看出了

(6)查看DHCP Snooping生成的绑定表项

可以看到SW1生成了DHCP Snooping的绑定表项

(7)在G0/0/3口设置通过dhcp获取ip地址的最大数量为1,修改PC1的mac地址,模拟网络攻击

[SW1]int g0/0/3

[SW1-GigabitEthernet0/0/3]dhcp snooping max-user-number 1

[SW1-GigabitEthernet0/0/3]

修改PC1的MAC地址,重新获取IP地址,将MAC地址修改为5489-98F4-648D,然后再重新获取IP地址

可以看到,IP地址已经无法获取了,因为设备发出去的DHCP请求报文MAC地址与DHCP Snooping绑定表不一致,从而防止DHCP饿死攻击。

三、总结

总的来说,DHCP Snooping技术提供了一种有效的方法来保护网络不受DHCP相关攻击的影响,通过限制和监控DHCP流量,确保只有授权的DHCP服务器可以管理网络中的IP地址分配

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/892724.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pycharm 找不到conda环境

参考&#xff1a;新版Pycharm解决Conda executable is not found-CSDN博客

[C++刷题] 基础小知识点(1) 乘方函数pow()

乘方 pow() 该函数在math.h头文件中 例如: 求圆的面积公式 s3.14*pow(r,2); 例题: #include<iostream> using namespace std; #include<math.h>) int main() {int h;int r;cin >> h >> r;double v h * 3.14 * pow(r, 2);int ret 0;if (v > 200…

slam系列4:nerf和3dgs

常用的3维表示法&#xff1a; NeRF属于是density的模型&#xff0c;模型的参数如下&#xff1a; 传统的 3D 模型表示方法&#xff0c;如 离散的Mesh 和点云&#xff0c;以及连续的 Nerf&#xff0c;通常面临着一个主要问题&#xff1a;随机采样过程中产生的噪声&#xff0c;这…

P5430 7.68T U.2 NVME SBFPF2BU076T001 Solidigm固态硬盘

SBFPF2BU076T001 Solidigm P5430 7.68T U.2 NVME企业级固态硬盘 Solidigm针对企业应用推出D5-P5430固态硬盘&#xff0c;针对主流和读取密集型应用程序进行了优化&#xff0c;面向大量企业工作它采用PCIe Gen 4总线与QLC类型NAND颗粒&#xff0c;提供大量的存储密度并降低总拥…

《云计算网络技术与应用》实训6-1:配置KVM虚拟机使用NAT网络

任务1、计算节点基础环境准备 1. 使用VMware安装CentOS 7虚拟机&#xff0c;安装时记得开启CPU虚拟化&#xff0c;命名为“KVMC6”。 2. &#xff08;网卡配置和之前的一样&#xff0c;都用100网段&#xff09;网关设置为192.168.100.1&#xff0c;地址段为192.168.100.10-25…

数据分析:R语言计算XGBoost二分类模型的SHAP值

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍SHAP用途计算方法:应用加载R包导入数据建模平均SHAP值计算单个样本的每个特征的SHAP值蜜蜂图依赖图单个样本的SHAP解释(Force Plot)其他方法计算SHAP值单个个体预测结果系统信息…

轻松掌握:如何查找家中WiFi的IP地址

在如今数字化生活的时代&#xff0c;WiFi已成为我们日常生活中不可或缺的一部分。无论是上网冲浪、在线学习、还是远程办公&#xff0c;稳定的WiFi连接都显得尤为重要。然而&#xff0c;有时我们可能需要了解家中WiFi的IP地址&#xff0c;以便进行网络设置、故障排查或进行其他…

基于springboot留守儿童爱心网站

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 系统展示 【2024最新】基于JavaSpringBootVueMySQL的&#xff0c;前后端分离。 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;…

爬虫之数据提取

HTML数据提取 这一片文章, 我们一起学习如何利用HTML标签来提取数据。 我们打开二手房网站: 我们打开开发者工具, 找到请求: 这次我们找的请求, 和以前的不一样了, 所以这里面带大家找一找, 以前我们找的请求都是json格式的响应数据, 那今天由于我们要学习如何提取html数据, …

Jenkins实践(三):分包编译部署到Maven私仓

本文主要是针对springboot多模块项目&#xff0c;参数化构建、分包部署到maven私仓的记录。本文以上篇文章为基础进行记录。 系列文章&#xff1a; Jenkins入门&#xff08;一&#xff09;&#xff1a;从搭建到部署第一个Springboot项目(踩坑记录)_ub24.04安装jenkins-CSDN博…

LinkedList和链表(上)

1. 顺序表ArrayList的缺点和优点 优点: 1> 在给定下标进行查找的时候,时间复杂度是O(1) 缺点: 1> 插入数据必须移动其他数据,最坏情况下,插入到0位置,时间复杂度为O(N) 2> 删除数据也需要移动数据,最坏情况下,就是删除0位置.时间复杂度为O(N) 3> 扩容之后(1.5倍扩容…

《深度学习》OpenCV 物体跟踪 原理及案例解析

目录 一、物体跟踪 1、什么是物体跟踪 2、步骤 1&#xff09;选择跟踪算法 2&#xff09;初始化跟踪器 3&#xff09;在每个视频帧上执行跟踪 4&#xff09;可选的重新初始化 3、原理 二、案例实现 1、完整代码 1&#xff09;使用方式 2&#xff09;运行结果 2、关…

麒麟桌面版v10 SP1以docker方式安装达梦数据库

安装docker 0.切换root用户&#xff08;可以不切换&#xff0c;但要注意权限问题&#xff0c;我是用root&#xff09; ymym-pc:~/桌面$ whoami ym ymym-pc:~/桌面$ sudo -i rootym-pc:~# whoami root rootym-pc:~# 1.查看系统版本 [rootlocalhost opt]# cat /etc/os-release…

java类和对象(上)

前言&#xff1a; 不知道大家有没有将java方法的使用熟记入心呢&#xff1f;如果没有的话&#xff0c;可以打开博主的上一篇博文阅读哦&#xff0c;在这里谢谢大家一路的陪伴。也希望我的内容能够帮到你更快的掌握java语言的学习。接下来我们要讲的是java类和对象。让我们整理…

最新Mac优化清理工具CleanMyMac X 4.15.6 for mac中文版图文教程

CleanMyMac X mac版下载是一款功能更加强大的系统优化清理工具&#xff0c;软件只需两个简单步骤就可以把系统里那些乱七八糟的无用文件统统清理掉&#xff0c;节省宝贵的磁盘空间。CleanMyMac X for mac相比于 CleanMyMac3来说&#xff0c;功能增加了不少&#xff0c;比如新增…

Java并发 - AQS之CountDownLatch

文章目录 基本使用源码分析awaitcountDowngetCount 可重置的CountDownLatch总结 CountDownLatch是一个多线程同步工具类&#xff0c;允许一个或多个线程等待&#xff0c;直到在其他线程中执行的一组操作完成。主要用来解决一个线程或多个线程等待另外多个线程的场景。 初始化需…

在Linux中搭建WordPress并实现Windows主机远程访问

WordPreWordPress是一个基于PHP开发的开源平台&#xff0c;适用于在支持PHP与MySQL数据库的服务器上搭建个性化博客或网站。同时&#xff0c;它也能够作为功能强大的内容管理系统&#xff08;CMS&#xff09;被广泛应用。 虚拟机&#xff1a;VirtualBox 虚拟机安装&#x1f449…

win10中mysql数据库binlog恢复

win10中mysql数据库binlog恢复 昨天有朋友江湖救急&#xff0c;说测试库里的表不小心删除更新了数据。这里也复习下binlog数据恢复&#xff0c;当然需要一定的条件&#xff1a;首先mysql开启binlog&#xff0c;然后每天需要备份对应的数据库 1 单库单表准备 在恢复数据前&am…

QT开发--文件的读写操作

第十三章 文件的读写操作 Qt提供两种读写纯文本文件的方法&#xff1a; 1、直接使用 QFile 类的IO功能&#xff1b; 2、结合 QFile 和 QTextStream&#xff0c;利用流(Stream)进行操作。 13.1 文件读操作 13.1.1 使用QFile类 Qt封装了QFile类&#xff0c;方便我们对文件进行操…

鸿蒙OS启动流程

启动流程(基于openharmony4.1) 系统上电加载内核后&#xff0c;按照以下流程完成系统各个服务和应用的启动&#xff1a; 内核加载init进程&#xff0c;一般在bootloader启动内核时通过设置内核的cmdline来指定init的位置。init进程启动后&#xff0c;会挂载tmpfs&#xff0c;…