关于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. Python 练习实例3

    Python 练习实例3 题目:一个整数,它加上100后是一个完https://www.xuanhe.net/全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析: 假设该数为 x. ...

  2. mongodb性能测试:long时间戳与string格式时间

    string格式时间写入数据: { "_id" : ObjectId("5d314731a96f332d6c3193d4"), "news_id&qu ...

  3. Linux命令-文本编辑(一)

    Linux命令-文本编辑(一) Linux col命令 Linux col命令用于过滤控制字符. 在许多UNIX说明文件里,都有RLF控制字符.当我们运用shell特殊字符">&quo ...

  4. getFieldDecorator用法(一)——登录表单

    之前使用antd的ui表单,却没发现这么好用的用法,推荐给大家 import React from "react"; import { Card, Form, Input, But ...

  5. JavaWeb_(SSH论坛)_三、用户模块

    基于SSH框架的小型论坛项目 一.项目入门 传送门 二.框架整合 传送门 三.用户模块 传送门 四.页面显示 传送门 五.帖子模块 传送门 六.点赞模块 传送门 七.辅助模块 传送门 User表 id ...

  6. 微信小程序_(组件)form表单

    Form表单.switch开关.数值选择器效果 官方文档:传送门 点击提交表单(按钮,提交开关,数值选择器,输入文本中)的值,显示在控制台上,点击重置,重置表单中的值. 实现过程 form表单,添加f ...

  7. Android学习_7/24

    一.           活动的生命周期 1.        活动状态 运行:位于返回栈栈顶 暂停:不在栈顶,但仍可见 停止:不在栈顶,完全不可见 销毁:从栈中移除 2.        活动的生存期 ...

  8. DS博客大作业--树 (陈梓灿组)

    1.树的存储结构说明 定义的结构体中,name是用于存放文件名称,string类型是字符串类型,定义了child孩子结点和brother兄弟结点. 2.树的函数说明 1.main函数 main函数中主 ...

  9. SecureCRT For Mac安装、破解、使用详细总结

    转:https://blog.csdn.net/so_geili/article/details/83315852#_4 https://www.sednax.com/download.php

  10. JVM系列1:内存区域

    1.JVM运行区域内存划分 2.各内存区域详细介绍 2.1 程序计数器 程序计数器是一块很小的内存区域,它作为前线程所执行的字节码的行号指示器,指向当前class文件的执行代码的行数.字节码解释器工作 ...