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地址分配。
相关文章:
HCIP——以太网交换安全(四)DHCP Snooping
目录 一、DHCP Snooping的知识点 二、DHCP Snooping实验拓扑 三、总结 一、DHCP Snooping的知识点 1.1、DHCP snooping 概述: ①DHCP Snooping使能DHCP的一种安全特性,用于保证DHCP客户端从合法的DHCP服务端获取IP地址。DHCP服务器记录DHCP客户端IP…...
k8s worker 节点关机 sts 管理的 pod 无法迁移
背景 1.28.2 版本 k8s 中的一台 worker 节点内存异常,需要关机换内存,正好可以测试一下 pod 的迁移。 发现 deployment 管理的 pod 是能够重新创建飘到其他节点上的,但是 statefulset 管理的 pod 一直处于 Terminating 状态无法迁移&#…...
排序04 视频播放建模
视频播放时长 用p拟合y,t是用户的实际观看时长,用y和p熵作为损失函数,使得p接近y。 输出z,对z做sigmoid变换。 exp(z)可以视为对播放时长的预估 视频完播 回归方法 二元分类方法 调整:预估完播率不能直接使用...
【常见大模型API调用】第三篇:清华智谱--智谱AI
1. 公司及模型介绍 智谱AI是一家由清华大学计算机系知识工程实验室的技术成果转化而来的AI知识智能技术开发商。智谱AI致力于打造新一代认知智能大模型,专注于做大模型的中国创新。 2024年1月16日,智谱AI在首届技术开放日上发布了新一代基座大模型GLM-…...
LayerSkip – Meta推出加速大型语言模型推理过程的技术
我们提出的 LayerSkip 是一种端到端的解决方案,可加快大型语言模型(LLM)的推理速度。 首先,在训练过程中,我们采用了层间丢弃技术(layer dropout),早期层间丢弃率较低,后期层间丢弃率较高。 其次…...
环境变量与本地变量(Linux)
引言 在当今的计算机技术领域,Linux操作系统以其稳定性和灵活性而广受欢迎。它不仅是服务器和开发者的首选平台,也是探索计算机科学和系统编程的宝库。在这个强大的操作系统中,环境变量与本地变量扮演着至关重要的角色,它们是管理…...
【完-网络安全】Windows防火墙及出入站规则
文章目录 防火墙入站和出站的区别域网络、专用网络、公用网络的区别 防火墙 防火墙默认状态一般是出站允许,入站阻止。 入站和出站的区别 入站就是别人来访问我们的主机,也就是正向shell的操作 出站就是反向shell,主机需要主动连接kali&am…...
Vue学习记录之十七 css中样式穿透及新特征介绍
一、scoped原理 在vue页面的css中,有一个设置为scoped,使用以后dom的节点会出现下面的规则。其实我们打完包就是一个html页面,如果不做处理,将会导致css混乱。 给HTML的DOM节点加一个不重复data属性(形如:data-v-123)来表示他的唯一性在每句css选择器的末尾(编译后的生成的…...
Nature 正刊丨海洋涡旋中常见的地下热浪和寒潮
01摘要 由于全球变暖,极端海洋温度事件变得越来越普遍,造成了灾难性的生态和社会经济影响1,2,3,4,5。尽管基于卫星观测对表层海洋热浪(MHW)和海洋寒潮(MCS)进行了广泛的研究6,7,但我们对这些极…...
代码随想录算法训练营第六十二天| prim算法,kruskal算法
训练营六十二天打卡,图论比较难,坚持下来胜利就在眼前! 53.卡码网【寻宝】 题目链接 解题过程 没做过类似的题目,跟着答案敲了一遍最小生成树 可以使用 prim算法 也可以使用 kruskal算法计算出来。prim算法 是从节点的角度 采用…...
Newstar_week1_week2_wp
week1 wp crypto 一眼秒了 n费马分解再rsa flag: import libnum import gmpy2 from Crypto.Util.number import * p 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297…...
今天我们研究一段代码(异或位运算)
let a 18 // 甲 let b 20 // 乙a a ^ b b a ^ b a a ^ b console.log("a",a) // a 20 console.log("b",b) // b 18今天我们就研究上面这一段代码,简单解释一下,初始化一个a 18 b 20, 中间经过了三次的异或之后…...
pycharm中使用ctrl+鼠标滚轮改变字体大小
文章目录 pycharm使用ctrl鼠标滚轮改变字体大小1.打开pycharm选择file2.选择setting4.选择keymap,然后再右边的输入框中输入increase进行增大字体4.鼠标选择后,点击添加鼠标快捷方式,然后设置鼠标滚轮往上增大字体。5.设置缩小字体࿰…...
【算法-动态规划】打家劫舍专题
文章目录 1.打家劫舍1.1一维数组1.2三变量法1.3双数组法 2.打家劫舍22.1双数组法2.2 三变量法 3.打家劫舍33.1动态规划3.2双变量法 4.删除相邻数字的最大分数4.1双状态数组4.2一维数组4.3三变量法 1.打家劫舍 198. 打家劫舍 - 力扣(LeetCode) 1.1一维数…...
关于技术管理者的一些思考
前 言 在软件开发领域,当一名资深工程师有机会成为一名技术管理者的时候,通常他/她的反应是什么?兴奋、担扰、无奈还是推托,具体是什么心情也许对结果并不重要,更加重要是在一刻,我们一定要问问我们内心的…...
Alpha-CLIP: A CLIP Model Focusing on Wherever You Want CVPR 2024
在原始的接受RGB三通道输入的CLIP模型的上额外增加了一个alpha通道。在千万量级的RGBA-region的图像文本对上进行训练后,Alpha-CLIP可以在保证CLIP原始感知能力的前提下,关注到任意指定区域。 GitHub - SunzeY/AlphaCLIP: [CVPR 2024] Alpha-CLIP: A CLI…...
Golang | Leetcode Golang题解之第495题提莫攻击
题目: 题解: func findPoisonedDuration(timeSeries []int, duration int) (ans int) {expired : 0for _, t : range timeSeries {if t > expired {ans duration} else {ans t duration - expired}expired t duration}return }...
04 go语言(golang) - 变量和赋值过程
变量 在Go语言中,变量的定义和初始化是编程的基础部分。Go提供了多种方式来声明和初始化变量,以适应不同的使用场景。 基本变量声明 使用var关键字: 使用var关键字可以在函数内部或外部声明变量。如果在函数外部声明,该变量为全…...
语言/图像/视频模型一网打尽!BigModel大模型开放平台助力开发者轻松打造AI新应用!
2024年8⽉28⽇,在ACM SIGKDD(国际数据挖掘与知识发现⼤会,KDD)上会议现场,智谱AI重磅推出了新⼀代全⾃研基座⼤模型 GLM-4-Plus、图像/视频理解模型 GLM-4V-Plus 和⽂⽣图模型 CogView3-Plus。这些新模型,已…...
Go语言Linux环境搭建以编写第一个Go程序
目录 文章目录 目录Go语言入门1、说明2、CentOS7安装Go3、编写第一个程序3.1、编写程序3.2、运行程序3.3、生成二进制文件4、编写第一个web程序4.1、编写代码4.2、运行程序4.3、测试访问4.4、生成二进制配置Vim-go语法高亮1)、下载和设置Vundle.vim(vim安装插件的工具)2)、…...
AST 是什么?费曼 + 大白话 + 画图,30 秒彻底懂
我用最简单、最形象、最不绕弯的方式给你讲清楚,保证你马上能听懂👇一、AST 代码的骨架结构图全称:Abstract Syntax Tree 抽象语法树一句话:AST 就是把代码拆成逻辑结构,去掉所有标点、空格、格式,只保留 …...
OpenClaw压力测试:Qwen3-14B在并发请求下的响应延迟分析
OpenClaw压力测试:Qwen3-14B在并发请求下的响应延迟分析 1. 测试背景与目标 上周在部署OpenClaw对接本地Qwen3-14B模型时,遇到一个实际问题:当我同时触发多个自动化任务时,系统响应明显变慢,甚至偶尔会出现任务失败。…...
vite-plugin-federation实战:构建React+Vue混合应用完整教程
vite-plugin-federation实战:构建ReactVue混合应用完整教程 【免费下载链接】vite-plugin-federation Module Federation for vite & rollup 项目地址: https://gitcode.com/gh_mirrors/vi/vite-plugin-federation 想要在Vite项目中实现模块联邦…...
C++27执行策略演进全图谱(从C++17到C++27 TS23742的5次关键修订与ABI兼容性断崖预警)
第一章:C27执行策略的范式跃迁与标准定位C27正将执行策略(Execution Policies)从“并行化提示”升格为“可验证执行契约”,标志着标准库算法语义模型的根本性重构。这一转变不再仅依赖实现对std::execution::par_unseq等策略的启发…...
渗流完美降雨边界:单、双重渗透介质降雨边界处理的改进探索
渗流完美降雨边界——基于单、双重渗透介质降雨边界处理的改进 [1]模型简介:使用数值模拟软件COMSOL复现论文(窦智,刘一民,周志芳,等.基于单、双重渗透介质降雨边界处理的改进[J].岩土力学,2022,43(03):789-798.),该文献针对传统降…...
嵌入式ONPS协议栈:轻量级TCP/IP实现与优化
1. ONPS协议栈概述ONPS是一款专为资源受限的嵌入式系统设计的开源网络协议栈,由国内开发者完全自主开发实现。作为一名长期从事嵌入式网络开发的工程师,我第一次接触ONPS时就对其轻量级设计和完整的功能实现印象深刻。与常见的LwIP等协议栈相比ÿ…...
10分钟零成本搭建KIMI AI免费API:个人智能助手完整指南
10分钟零成本搭建KIMI AI免费API:个人智能助手完整指南 【免费下载链接】kimi-free-api 🚀 KIMI AI 长文本大模型逆向API【特长:长文本解读整理】,支持高速流式输出、智能体对话、联网搜索、探索版、K1思考模型、长文档解读、图像…...
如何永久保存B站缓存视频?m4s-converter开源工具完整使用指南
如何永久保存B站缓存视频?m4s-converter开源工具完整使用指南 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经遇到过这样的…...
arduino新手福音:在快马平台零基础点亮第一盏led灯
作为一个刚接触Arduino的小白,最近在尝试点亮人生第一盏LED灯时,发现传统方式需要下载IDE、配置驱动、研究接线图,光是环境搭建就劝退了不少人。直到遇到InsCode(快马)平台,才发现原来入门可以这么简单——不用安装任何软件&#…...
WordPress用Linux服务器还是Windows服务器更好?
对于绝大多数 WordPress 用户来说,Linux 服务器是更好的选择。 WordPress 本身是用 PHP 编写的,最初就是为 Linux 环境(特别是 LAMP/LEMP 架构)设计的。虽然它也可以在 Windows 上运行,但在性能、成本、生态支持和安全…...
