关于DHCP攻击有如下几类攻击方式:
 
一、耗尽DHCP地址池
   通过随机生成源MAC地址,然后伪造DHCPDISCOVER数据包。耗尽DHCP服务器地址池。   免费的攻击工具:  Yersinia 和 Gobbler
     Gobbler是专门用于攻击DHCP的工具。具有回应DHCP服务器周期发送的ARP请求数据包和ICMP echo(回显)数据包   的能力。从而对抗DHCP服务器回收IP地址的功能。
 
二、利用DHCP无赖服务器劫持流量
   假冒DHCP服务器抢先响应客户端的DHCPDISCOVER消息。这样就可以给目标客户端分配IP地址、网关、DNS服务器等信息。引导受害者访问伪造的网站从而窃取受害者敏感信息。
 
对策:
针对第一种攻击,普通攻击模式 在攻击者接入的交换机LAN口会学习到大量MAC地址。利用之前MAC地址攻击一章提到的交换机的限制端口学习MAC数量配置即可解决。
               高级攻击模式 攻击者使用单一MAC地址通过对Client Hardware Address(客户硬件地址)的关键字随机填充。使得单一MAC打到每个DHCPDISCOVER数据包都对DHCP服务器单独而有效。
               对于此种教高级的攻击模式,端口安全的配置已经无法有效解决。此时我们使用DHCP Snooping机制来解决此问题。至于DHCP Snooping 自己去找资料学习吧...
 
另外第二种攻击方式也可以利用DHCP Snooping解决
 

DHCP Snooping是DHCP(Dynamic Host Configuration Protocol)的一种安全特性,通过截获DHCP Client和DHCP Server之间的DHCP报文并进行分析处理,可以过滤不信任的DHCP报文并建立和维护一个DHCP Snooping绑定表。该绑定表包括MAC地址、IP地址、租约时间、绑定类型、VLAN ID、接口等信息。

DHCP Snooping通过记录DHCP Client的IP地址与MAC地址的对应关系,保证合法用户能访问网络,作用相当于在DHCP Client和DHCP Server之间建立一道防火墙。

DHCP Snooping可以解决设备应用DHCP时遇到DHCP DoS(Denial of Service)攻击、DHCP Server仿冒攻击、DHCP仿冒续租报文攻击等问题。
 

攻击类型

DHCP Snooping工作模式

DHCP Server仿冒者攻击

配置接口状态为信任(Trusted)/不信任(Untrusted)

改变CHADDR值的DoS攻击

检查DHCP报文的CHADDR字段

仿冒DHCP续租报文攻击

检查DHCP Request报文是否匹配DHCP Snooping绑定表

DHCP报文洪泛攻击

限制DHCP报文的上送速率

交换机安全学习笔记 第五章 DHCP缺陷攻击的更多相关文章

  1. 交换机安全学习笔记 第六章 IPV4 ARP攻击

    ARP欺骗攻击 常用工具:  dsniff(Linux/windows).ettercap(Linux/windows).cain(仅windows). ARP欺骗攻击的目的是嗅探发往某主机的所有IP ...

  2. Programming Entity Framework-dbContext 学习笔记第五章

    ### Programming Entity Framework-dbContext 学习笔记 第五章 将图表添加到Context中的方式及容易出现的错误 方法 结果 警告 Add Root 图标中的 ...

  3. [HeadFrist-HTMLCSS学习笔记]第五章认识媒体:给网页添加图像

    [HeadFrist-HTMLCSS学习笔记]第五章认识媒体:给网页添加图像 干货 JPEG.PNG.GIF有何不同 JPEG适合连续色调图像,如照片:不支持透明度:不支持动画:有损格式 PNG适合单 ...

  4. 【马克-to-win】学习笔记—— 第五章 异常Exception

    第五章 异常Exception [学习笔记] [参考:JDK中文(类 Exception)] java.lang.Object java.lang.Throwable java.lang.Except ...

  5. 《Spring实战》学习笔记-第五章:构建Spring web应用

    之前一直在看<Spring实战>第三版,看到第五章时发现很多东西已经过时被废弃了,于是现在开始读<Spring实战>第四版了,章节安排与之前不同了,里面应用的应该是最新的技术. ...

  6. opencv图像处理基础 (《OpenCV编程入门--毛星云》学习笔记一---五章)

    #include <QCoreApplication> #include <opencv2/core/core.hpp> #include <opencv2/highgu ...

  7. 学习笔记 第五章 使用CSS美化网页文本

    第五章   使用CSS美化网页文本 学习重点 定义字体类型.大小.颜色等字体样式: 设计文本样式,如对齐.行高.间距等: 能够灵活设计美观.实用的网页正文版式. 5.1 字体样式 5.1.1 定义字体 ...

  8. [汇编学习笔记][第五章[BX]和loop指令]

    第五章[BX]和loop指令 前言 定义描述性符号“()”来表示一个寄存器或一个内存单元的内容,比如: (ax)表示ax中的内容,(al)表示al的内容. 约定符号ideta表示常量. 5.1 [BX ...

  9. [Python学习笔记][第五章Python函数设计与使用]

    2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可 ...

随机推荐

  1. C# out关键字

    在c#中"out"关键字可以通过参数一次返回多个值. using System; namespace ConsoleApplication1 { internal class Pr ...

  2. 【winform-窗体快捷键】定义功能窗体快捷键,非全局

    这里的快捷键并非系统全局快捷键.仅是普通的当窗体在焦点内发生.有很多种方法,这里列举几种项目中使用到的方法. Alt+*(一般控件快捷键) 这个比较简单,只需为该控件的Text属性声明时加上”(&am ...

  3. Python 操作 MySQL 数据库Ⅳ

    执行事务 事务机制可以确保数据一致性. 事务应该具有4个属性:原子性.一致性.隔离性.持久性.这四个属性通常称为ACID特性. 原子性(atomicity).一个事务是一个不可分割的工作单位,事务中包 ...

  4. “M_PI_2”: 重复定义的宏

    问题警告:“M_PI_2”: 重复定义的宏 分析:在Visual Studio上使用math.h库时与其他库数学库冲突,我们可以通过添加宏定义“_USE_MATH_DEFINES”来消除math.h定 ...

  5. (转载)rabbitmq与springboot的安装与集成

    原文地址:https://segmentfault.com/a/1190000016991529 一.前言 RabbitMQ是一个开源的消息代理软件(面向消息的中间件),它的核心作用就是创建消息队列, ...

  6. [CTS2019]氪金手游

    [CTS2019]氪金手游 各种情况加在一起 先考虑弱化版:外向树,wi确定 i合法的概率就是wi/sw sw表示子树的w的和,和子树外情况无关 这些概率乘起来就是最终合法的概率 如果都是外向树, f ...

  7. laravel 发送html邮件是a标签中的url不显示问题

  8. directshow播放摄像头卡死问题

    最近遇到一个坑,directshow显示摄像头的时候,使用无窗口模式结果在浏览器插件里面界面卡死,但是控制台下面的句柄传过去却能正常播放 刚开始以为是调用的参数问题,琢磨了几天硬是搞不定,最后想到插件 ...

  9. leetcode-easy-others-190. Reverse Bits-NO

    mycode 不会... 参考: 1. 思路: 将十进制的n转换成二进制(str) -> 利用切片.反向获取不包含0b的反转后的二进制字符串 -> 补上0(共32位) 2. class S ...

  10. Appium测试框架

    介绍 读作['æpɪəm],是selenium的扩展,同样基于WebDriver协议,详见:http://appium.io/. 关于WebDriver终端操作,详见:https://www.w3.o ...