关于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. qt5--数据类型转换

    QString-->Char*        str.toUtf8().data() pointf=QPointF(point);       //将QPoint转换为QPointF point ...

  2. 剑指Offer-快速排序

    剑指Offer上的快速排序的Partition函数与我在数据结构书上学到的不一样,因此就想要探索下这两种不同的处理方式. 1.基本思想 快速排序的基本思想是基于分治法.在待排序表L[1...n]中任取 ...

  3. 百度之星 初赛三 最短路 2 Dijkstra

    打比赛的时候切的,不过竟然 wa 了 14 次~ 挺简单的,直接在跑 $Dijkstra$ 的时候记录一下路径最大值就好了. #include <bits/stdc++.h> #defin ...

  4. 3.JSP

        JSP(Java Server Pages)页面是指扩展名为.jsp的文件,在一个JSP中可以包含指令标识,HTML代码, JavaScript代码,嵌入的Java代码,注释和JSP动作标识等 ...

  5. 【BZOJ3944】 Sum

    Description Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 Output 一共T行,每行两个用空格分隔的数ans1,ans ...

  6. reactjs 的 css 模块化工具 styled-components 升级后 createGlobalStyle 废除,使用 createGlobalStyle 的方案

    在 styled-components 升级到 4 版本后设置全局属性的 createGlobalStyle 这个 api 被废除,替代的 api 是 createGlobalStyle 与过去组织代 ...

  7. [CSP-S模拟测试]:集合合并(记忆化搜索)

    题目传送门(内部题133) 输入格式 第一行一个正整数$n$. 第二行$n$个正整数$a_i$,表示一开始有$S_i=\{a_i\}$ 输出格式 输出一个非负整数表示最大的收益之和 样例 样例输入: ...

  8. Contacts解析

    显示联系人相关类packages/apps/Contacts/src/com/android/contacts/activities/PeopleActivity.javapackages/apps/ ...

  9. Docker—备份、恢复及迁移

    用容器生成镜像 [root@git docker]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e950a988d ...

  10. python连redis测试

    python 版本 3.x执行环境需要安装redis模块: pip install redis 执行脚本前,有redis-cli中查询key值: 执行脚本: ********************* ...