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

DHCP snooping、DHCP安全及威胁防范

DHCP snooping、DHCP安全及威胁防范

[SW1]display dhcp snooping user-bind all,查看DHCP snooping表项。

DHCP snooping:

表项是通过服务器发送给客户端的ACK报文生成的。

只能在交换机上开启,路由器不支持,并且建议在接入交换机开启(汇聚和核心交换机开启没有意义)

主要原理:当DHCP服务器给客户端回复ACK报文时,会在交换机连接终端的接口生成snooping表项。

snooping表项包含:MAC地址,IP地址,接口编号,VLAN-ID,租期信息。

snooping表项的老化时间根据租期而定,同时如果终端发送释放报文那么绑定表也会随之删除。

书签-DHCP主要的攻击方式:

一、DHCP饿死攻击:攻击者伪装成主机向DHCP Server服务器请求IP分配,耗尽服务器的地址池地址,是的正常PC无法请求到可以使用的IP。

1、防御饿死攻击:

可以通过开启DHCP请求消息中数据链路层MAC地址和报文中CHADDR字段一致性检查,如果不一致就会认为是攻击,丢弃该报文。

[SW1]dhcp enable //首先,全局使能DHCP功能

[SW1]dhcp snooping enable //全局使能DHCP Snooping功能

[SW1-GigabitEthernet0/0/1]dhcp snooping enable //接口下使能DHCP snooping功能

[SW1-vlan1]dhcp snooping enable //在vlan视图下使能DHCP snooping,即在该vlan下的所有接口都使能

[SW1-GigabitEthernet0/0/1]dhcp snooping check dhcp-chaddr enable //开启chaddr一致性检查

如何判断发生了饿死攻击:可以通过检查DHCP服务器地址池分配是否存在异常来判断是否发生了饿死攻击!!!

防御变异的饿死攻击:

对于攻击者将帧源MAC和CHADDR的MAC同时修改的场景,一致性检查无效,实际该场景没有预防措施。

对于这种场景我们可以通过限制接口snooping表项数量来控制。

[SW1-GigabitEthernet0/0/1]dhcp snooping max-user-number 1~1024个;//限制该接口学习snooping表项的数量

2、DHCP客户端伪造DHCP报文攻击:

攻击者仿冒合法用户发送request报文续租IP导致IP无法被正常回收,久而久之,将没有空闲IP分配给合法终端;

攻击者仿冒合法用户发送release报文释放IP地址,导致合法用户异常下线。

[SW1-GigabitEthernet0/0/1]dhcp snooping check dhcp-request enable //开启DHCP请求消息与绑定表匹配查询。

3、非DHCP客户端伪造DHCP报文攻击:

[SW1-GigabitEthernet0/0/1]dhcp snooping sticky-mac,//开启设备基于DHCP snooping表项粘滞功能的MAC地址表学习机制,默认关闭MAC地址表学习功能,且报文不予转发。

功能相似:[SW1-GigabitEthernet0/0/1]mac-address learning disable action discard;

特别注意:一旦配置这条命令,这个接口就只能连接DHCP客户端,对于静态IP配置的终端无法进行通讯。

4、DHCP报文泛洪攻击:

[SW1]DHCP snooping check dhcp-rate enable //全局开启接口处理DHCP报文的频率功能。用来防止PC一秒钟发送成千上万次的正常的DHCP请求

[SW1]dhcp snooping check dhcp-rate 1~100 //每秒钟处理1~100和DHCP数据包

5、仿冒DHCP Server攻击:

私接路由器等设备,成为假的DHCP Server给同网络的终端分配地址。(交换机出来的网线接入到路由器LAN口,LAN口默认开启了DHCP功能)

信任接口和非信任接口

启用了DHCP snooping功能的交换机所有接口默认情况下都是非信任接口 该接口没有snooping表项

        5.1 非信任接口收到DHCP请求消息时,只转发给信任接口。

              非信任接口收到DHCP响应消息时,直接丢弃

        5.2 信任接口收到了DHCP请求消息时,会转发给其他的信任接口,如果没有,将丢弃

              信任接口收到了DHCP响应消息时,会发给非信任接口

[SW1-GigabitEthernet0/0/3]dhcp snooping trusted //将该接口配置为信任接口

6、DHCP中间人攻击:

[SW1]arp dhcp-snooping-detect enable //全局开启基于DHCP snooping绑定表的动态ARP检测。

相关文章:

DHCP snooping、DHCP安全及威胁防范

DHCP snooping、DHCP安全及威胁防范 [SW1]display dhcp snooping user-bind all,查看DHCP snooping表项。 DHCP snooping: 表项是通过服务器发送给客户端的ACK报文生成的。 只能在交换机上开启,路由器不支持,并且建议在接入交…...

用eclipse创建Web项目,通过Servlet实现Web访问的功能。

要使用Eclipse和Tomcat 10创建一个简单的Web项目,并通过Servlet实现Web访问功能,你需要遵循以下详细步骤: 1. 安装和配置Eclipse和Tomcat 10 确保你已经安装了Eclipse IDE for Java EE Developers和Tomcat 10。如果还没有安装,请…...

tools.jar下载 Unable to create schema compiler

网上查找了一堆下载tools.jar的都是忽悠人的,在这我就直接告诉大家,直接在电脑的JDK安装路径下的lib文件下复制就可以了。如果没有的话可以diss我我发给你...

【0278】checkpointer 共享内存(CheckpointerShmem)初始化(3)

0. 关于checkpointer 检查指针是Postgres 9.2的新特性。它处理所有检查点。自上次检查点以来,检查点在经过一定时间后自动分发,并且还可以发出信号来执行请求的检查点。(GUC参数要求每隔这么多WAL段就有一个检查点,这是通过后端在填充WAL段时发出信号来实现的; checkpointer…...

算法打卡day29|贪心算法篇03|Leetcode 1005.K次取反后最大化的数组和、134. 加油站、135. 分发糖果

算法题 Leetcode 1005.K次取反后最大化的数组和 题目链接:1005.K次取反后最大化的数组和 大佬视频讲解:K次取反后最大化的数组和视频讲解 个人思路 思路清晰,因为是取反当然是取越小的负数越好,那么先按绝对值排序。如果是负数就取反&#…...

【hexo博客6】自定义域名 购买、配置、更新部署

【hexo博客6】自定义域名 购买、配置、更新部署 写在最前面自定义域名购买域名DNS配置Github 配置 更新部署博客 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅&#…...

Django使用pyJwt进行token校验

1.登录成功后返回token,这里使用authenticate进行校验是否存在该用户 def login(request):try:data json.loads(request.body)username data.get(username)password data.get(password)if not all([username, password]):return to_response(status400, msg参数…...

❤️算法笔记❤️-(每日一刷-26、删除有序数组的重复项)

文章目录 题目思路解法 题目 给你一个 非严格递增排列 的数组 nums ,请你** 原地** 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯…...

银河麒麟系统安装设备类型选择lvm简单模式之后,数据写入导致失败导致系统重启无法正常加载

银河麒麟系统安装设备类型选择lvm简单模式之后,数据写入导致失败导致系统重启无法正常加载 一 系统环境1.1 系统版本信息1.2 通过镜像安装的过程中选择设备类型选择的是lvm简单模式 二 问题描述三 问题修复过程3.1 挂载ISO镜像,引导到字符终端界面3.2 修…...

Mybatis-核心配置文件 / Mybatis增删改查

1. 核心配置文件 1.1. 概述 核心配置文件是MyBatis框架中用于集中定义全局配置信息的XML文件,其内部包含了一系列预设标签,用于设置数据库连接、对象映射、类型处理等关键参数。这些标签遵循特定的排列顺序,尽管并非所有标签都是强制性的&a…...

Nginx(面试)

NGINX 速记问答 Q 什么是Nginx?它的主要特点是什么? A Nginx是一个高性能的开源Web服务器和反向代理服务器。它以高并发、低内存消耗和高稳定性著称。 Q Nginx与Apache Web服务器有什么区别? A Nginx与Apache相比,更适用于处…...

net::ERR_SSL_PROTOCOL_ERROR

小程序 发起网络请求 解决: 如果还没有申请SSL证书,那就直接把https请求改为http 测试可以用 上线不推荐...

BaseDao封装增删改查(超详解)

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍对数据库中表中的数据进行增改删查询,封装一个工具类(BaseDao)的详细使用以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 &…...

【Python操作基础】——元组

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…...

光伏投融资该如何计算?

光伏投融资是光伏产业发展过程中的重要环节,其计算涉及到多个方面,包括项目规模、预期收益、成本分析、风险评估等。合理的投融资计算能够为光伏项目的实施提供资金保障,同时也能够降低投资风险,提高项目的经济效益。 首先&#x…...

【更新中】Leetcode中遇到的最短路径算法

dijsktra算法模板: def dijkstra(x):#x表示出发点dis[inf]*n #dis记录从x出发到各个点的最短距离,初始化为infdis[x]0 #源点到自己的距离为0vis[False]*n #检查各个点是否访问过for _ in range(n-1): #检查除了源点的其他n-1个点,更新dis…...

Git学习笔记之基础

本笔记是阅读《git pro》所写,仅供参考。 《git pro》网址https://git-scm.com/book/en/v2 git官网 https://git-scm.com/ 一、git起步 1.1、检查配置信息 git config --list查看所有的配置以及它们所在的文件 git config --list --show-origin可能有重复的变量名…...

STCubeIDE 编译bootloader

头文件重复引用解决办法。 参考:STM32CubeIDE IAP原理讲解,及UART双APP交替升级IAP实现-CSDN博客 移植到Air32时,RAM的大小(无论boot程序还是app 程序) 尽量不动,如果动了会影响最终的 APP 跳转 flash 大小可以随意修改&#xf…...

Python学习:函数

函数定义 在Python中,函数(Function)是一组用于完成特定任务或计算的语句块。定义函数可以让我们将一段代码重用多次,提高代码的可读性和可维护性。以下是定义函数的基本语法和结构: def function_name(parameters):&…...

docker run 使用 -p 命令一直显示端口被占用

解决办法 将 -p 换成 --net host 例如: docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /root/oneapi/data:/data justsong/one-api # 换成 docker run --name one-api -d --restart always --net...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

数据链路层的主要功能是什么

数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...