以太网交换安全:DHCP Snooping

一、DHCP Snooping的概念及功能

DHCP Snooping是一种用于增强网络中DHCP服务安全性的技术。以下是对以太网交换安全中的DHCP Snooping进行详细的介绍:

  1. 基本概述
    • 定义目的:DHCP Snooping是一种网络安全技术,旨在防止未经授权的DHCP服务器在网络中分配IP地址,从而保护网络不受中间人攻击和其他相关威胁。
    • 工作原理:通过监控DHCP交互过程中的报文,DHCP Snooping能够区分合法与非法的DHCP服务器,并确保只有经过验证的DHCP服务器才能为客户端分配IP地址。它通过建立和维护一个包含MAC地址、IP地址和VLAN信息的绑定表来实现这一目标。当设备收到来自非信任端口的DHCP响应时,会检查这些信息是否与绑定表中的记录匹配,如果不匹配则丢弃该报文。
  2. 主要功能
    • 过滤非法DHCP服务器:DHCP Snooping能够识别并阻止非法DHCP服务器发出的响应,确保网络中的设备只能从管理员指定的合法DHCP服务器获取IP地址。
    • 信任接口功能:DHCP Snooping的信任功能能够保证客户端从合法的服务器获取IP地址。网络如果存在私自架设的DHCP服务器仿冒者,则可能导致DHCP客户端获取错误的IP地址和网络配置参数,无法正常通信。DHCP Snooping信任功能可以控制DHCP服务器应答报文的来源,以防止网络中可能存在的DHCP服务器仿冒者为DHCP客户端分配IP地址及其他配置信息                                                                                              DHCP Snooping信任功能将接口分为信任接口和非信任接口
    • 生成并维护绑定表:开启DHCP Snooping功能的交换机会从收到的DHCP ACK报文中提取关键信息,如客户端的MAC地址、分配的IP地址等,并与接口编号和VLAN等信息一起组成DHCP Snooping绑定表。这张表记录了DHCP客户端与服务器之间的各种关系,可以用于防范非法用户的攻击。
    • 源MAC校验:除了基本的绑定表功能外,DHCP Snooping还支持源MAC地址校验。这意味着交换机会检查收到的DHCP请求报文中的二层源MAC地址是否与CHADDR字段中的硬件地址一致,如果不一致则丢弃该报文,以防止仿冒DHCP报文攻击。
  3. 应用场景
    • 防止DHCP Server仿冒者攻击:由于DHCP协议本身缺乏认证机制,网络上可能存在伪造的DHCP服务器。DHCP Snooping可以通过配置信任和非信任接口来防止这种情况的发生,从而保证客户端只能从合法的DHCP服务器获取IP地址。
    • 防止非DHCP用户攻击:静态获取IP地址的用户(非DHCP用户)可能对网络造成多种攻击。通过开启根据DHCP Snooping绑定表生成接口静态MAC表项的功能,可以有效防止这类攻击。
    • 防止DHCP报文泛洪攻击:如果攻击者短时间内向设备发送大量的DHCP报文,可能会对设备的性能造成冲击。DHCP Snooping可以通过检测DHCP报文的上送速率来防止这种攻击。
    • 防止仿冒DHCP报文攻击:已获取到IP地址的合法用户可能通过发送伪造的DHCP Request或Release报文来进行续租或释放IP地址。DHCP Snooping可以通过匹配操作来判别这些报文是否合法,从而防止仿冒攻击。
    • 防止DHCP Server饿死攻击和更改CHADDR值的Dos攻击:如果设备接口下存在大量攻击者恶意申请IP地址,可能会导致DHCP Server中的IP地址快速耗尽。通过配置允许接入的最大DHCP用户数和检测Request报文中的CHADDR字段与帧头MAC地址是否一致,可以有效防止这种攻击。

二、 实验

命令配置

合法服务器
[dhcp server]dhcp enable        //打开DHCP
[dhcp server]int g0/0/0
[dhcp server-GigabitEthernet0/0/0]ip add 10.1.1.254 24
[dhcp server-GigabitEthernet0/0/0]dhcp select interface   //基于接口的DHCP
非法服务器
[Attacker]dhcp enable
[Attacker]int g0/0/0
[Attacker-GigabitEthernet0/0/0]ip add 192.168.1.254 24
[Attacker-GigabitEthernet0/0/0]dhcp select interface
LSW1
[SW1]dhcp enable
[SW1]dhcp snooping enable   //开启DHCP snooping功能
[SW1]vlan 1     //进入VLAN1
[SW1-vlan1]dhcp snooping enable
[SW1-vlan1]dhcp snooping trusted interface g0/0/1    //将G0/0/1的接口设为信任接口
[SW1]int g0/0/3
[SW1-GigabitEthernet0/0/3]dhcp snooping max-user-number 1    //将接口的最大MAC地址学习数为1
[SW1]dis dhcp snooping user-bind all     //查看DHCP snooping的绑定表
DHCP Dynamic Bind-table:
Flags:O - outer vlan ,I - inner vlan ,P - map vlan
IP Address       MAC Address     VSI/VLAN(O/I/P) Interface      Lease           

--------------------------------------------------------------------------------
10.1.1.251       5489-98f4-648d  1   /--  /--    GE0/0/3        2024.10.17-15:25
10.1.1.250       5489-98b7-5bb8  1   /--  /--    GE0/0/4        2024.10.17-15:06
10.1.1.249       5489-982c-5138  1   /--  /--    GE0/0/5        2024.10.17-15:11
10.1.1.252       5489-98b7-5bb9  1   /--  /--    GE0/0/4        2024.10.17-15:25
10.1.1.248       5489-98b2-2984  1   /--  /--    GE0/0/6        2024.10.17-15:33
--------------------------------------------------------------------------------
print count:           5          total count:           5 

[dhcp server-GigabitEthernet0/0/0] dhcp select interface
这个意思是使用接口的ip作为网关,例如你vlanif的ip是192.168.100.1,那么下面的pc获取的地址就是192.168.100.254,网关就是192.168.100.1

[dhcp server-GigabitEthernet0/0/0]dhcp select global
这个是dhcp选择全局地址池,这个你要定义dhcp pool,具体的网关啥的需要你自己配置

三、测试

我们可以修改一个PC的MAC地址来达成实验的目的,首先查看一下PC1的IP地址,然后将PC1的MAC地址修改就可以看到,PC1获取不到IP地址了,这是因为我们限制PC1与交换机连接的接口最大学习数为1,所以我们PC1的MAC地址修改后它就获取不到了

PC2因为没有限制学习数所以可以更改MAC地址获取IP地址

四、总结

总的来说,DHCP Snooping是提升网络中DHCP服务安全性的重要技术手段之一。它通过监控和管理DHCP交互过程,确保只有经过验证的DHCP服务器才能为客户端分配IP地址,从而有效防止了多种针对DHCP的攻击行为

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript中的闭包、递归问题

一、函数定义和调用 1.函数的定义方式 方式一 函数声明方式 function 关键字(命名函数) function fn(){}方式二 函数表达式(匿名函数) var fn function(){}方式三 new Function() var f new Function(a,b,console.log(a b););//语法 var fn new Fu…

[Linux进程控制]进程创建|进程终止|进程等待

目录 一、进程创建 1.fork函数 2.写实拷贝 二、进程终止 1.进程退出场景 2.进程常见退出方法 (1)从main函数返回 (2)_exit (3)调用exit 三、进程等待 1.进程等待的方法 (1&#xff…

12. MapReduce全局计数器

一. 计数器概述 在执行MapReduce程序时,控制台的输出中一般会包含如下内容。 这些输出就是MapReduce的全局计数器的输出信息。计数器是用来记录job的执行进度和状态的,它的作用可以理解为日志,方便用户了解任务的执行状况,辅助…

超好玩又简单-猜数字游戏(有手就行)

云边有个稻草人-CSDN博客 我的个人主页 目录 云边有个稻草人-CSDN博客 前言 猜数字游戏的游戏要求 1. 随机数的生成 1.1 rand 1.2 srand 1.3 time 1.4 设置随机数的范围 2. 猜数字游戏实现 2.1 游戏实现基本思路 2.2 代码实现 Relaxing Time! —————————…

基于Qt的多线程并行和循序运行实验Demo

致谢(Acknowledgement): 感谢Youtube博主Qt With Ketan与KDAB精心录制的Qt多线程处理应用教程,感谢Bilibili博主爱编程的大丙对Qt多线程与线程池内容深入浅出的讲解。 一、计算机线程相关概念 线程概念[1]: 在计算机科…

小米手机如何root

显摆结论,刷机有风险,行事需谨慎! 1、参考文献: 全网最细!小米6X刷机调教指南! - 哔哩哔哩 申请解锁小米手机 小米6x 小米6x 一键刷twrp 安装面具magisk 实现root_小米6一键刷入twrp工具-CSDN博客 开干 1、先先要解锁bootloader,这里有个大坑,很有可能,在你解锁…

2024年9月电子学会青少年软件编程Python等级考试(三级)真题试卷

2024年9月青少年软件编程Python等级考试(三级)真题试卷 选择题 第 1 题 单选题 以下python表达式的值为True的是?( ) A.all( ,1,2,3) B.any([]) C.bool(abc) D.divmod(6,0) 第 2 题 单选题 下列python代码的…

smuge error

0 Preface/Foreword 1 解决方法 第一步:跳过大文件下载,到时候统一使用快速批处理fast batch git lfs install --skip-smudge 故意敲错指令,会出现git lfs install 的usage: 第二步:clone仓库 下载结果:…

如何用猿大师办公助手实现OA系统中Word公文/合同在线编辑及流转?

在OA系统或者合同管理系统中,我们会经常遇到网页在线编辑Word文档形式的公文及合同的情况,并且需要上级对下级的公文进行批注等操作,或者不同部门的人需要签字审核,这就需要用到文档流转功能,如何用猿大师办公助手实现…

HTB:Analytics[WriteUP]

目录 连接至HTB服务器并启动靶机 1.How many open TCP ports are listening on Analytics? 2.What subdomain is configured to provide a different application on the target web server? 3.What application is running on data.analytical.htb? 4.What version of…

计算机网络IP地址分类,子网掩码,子网划分复习资料

IP 地址的概念 IP 地址是独立于硬件地址的逻辑地址,它是由软件提供的地址。 IP 地址是网络层地址。 IP 编址方案和分类 IP 地址由 32 位二进制数构成,分为前缀(网络地址)和后缀(主机地址) 同一网段中每台计算机的 IP 地址是唯一的网络地址的分配全球…

SQL中实现去重的多种方法

在开发中遇到需要进行数据去重的查询,或删除重复数据的情况,整理如下: 1. distinct关键字 selectdistinct user_id, create_date from order_info;2. 分组 selectuser_id,create_date from order_info group by user_id, create_date;3. 窗…

2023年合肥高新区区信息学竞赛(初中组)

考试刚结束,发一篇题解。。。 目录 第一题 K16068 汇编语言(assembly)- 2024高新初中T1 题目描述 输入格式 输出格式 输入输出样例 输入样例1:复制 输出样例1:复制 输入样例2:复制 输出样例2:复制 说明 【数据范围】 代码如下: 第二题 K16069 数气(go…

深入SpringBoot Web事务:从原理到实战的全面解析

全文目录: 开篇语前言摘要概述源码解析使用案例分享应用场景案例1. 电商系统2. 银行转账系统3. 嵌套事务的应用场景 优缺点分析优点缺点 核心类方法介绍核心参数说明 测试用例小结总结文末 开篇语 哈喽,各位小伙伴们,你们好呀,我是…

【贪心算法】(第十四篇)

目录 可被三整除的最⼤和(medium) 题目解析 讲解算法原理 编写代码 距离相等的条形码(medium) 题目解析 讲解算法原理 编写代码 可被三整除的最⼤和(medium) 题目解析 1.题目链接:. - …

轻松搞定 Mac 读写 NTFS 移动硬盘:免费实用的 Mounty NTFS-3G 完整指南20241029

轻松搞定 Mac 读写 NTFS 移动硬盘:免费实用的 Mounty & NTFS-3G 完整指南 引言 很多 Mac 用户在使用 NTFS 格式的硬盘或 U 盘时发现,虽然能读,却无法写入文件。大多数人会选择安装商业软件来实现 NTFS 写入,但其实有一些免费…

stm32入门教程--DMA 超详细!!!

目录 简介 工作模式 1、数据转运DMA 2、ADC扫描模式DMA 简介 工作模式 1、数据转运DMA 这个例子的任务是将SRAM的数组DataA,转运到另一个数组DataB中,这个基本结构里的各个参数应该如何配置呢? 首先是外设站点和存储器站点的起始地址、…

宇音天下最新力作 | VTX356语音识别合成芯片问世

北京宇音天下科技有限公司,依托在语音技术领域的丰富经验和技术积累,成功推出了一款具有里程碑意义的语音识别合成芯片——VTX356。这款芯片的问世,不仅彰显了公司在智能语音处理领域的专业实力,也预示着智能家居、车载电子、智能…

<Tauri>tauri2.0框架下,基于qwik(前端)和rust(后端)结合的桌面程序体验

关于qwik Qwik is a new kind of web framework that can deliver instant loading web applications at any size or complexity. Your sites and apps can boot with about 1kb of JS (regardless of application complexity), and achieve consistent performance at scale.…

一些面试题整理

第一章、基础 以下是对上述10道面试题的参考答案: 一、Java语言及性能调优 答案: 线程安全问题是指多个线程同时访问共享资源时可能出现的数据不一致或错误的情况。例如,多个线程同时对一个共享变量进行写操作,如果没有适当的同…