动态主机配置协议(DHCP:Dynamic Host Configuration Protocol),提供了一种动态分配网络配置参数的机制。
DHCP协议是一种client/server模式的网络协议
DHCP基本工作流程:发现阶段、提供阶段、请求阶段、确认阶段。

DHCP的6种报文
DHCP discover、DHCP offer、DHCP request、DHCP Ack、DHCP nak、DHCP release。
DHCP discover:DHCP client寻找DHCP sever的阶段。
报文 UDP报文,目的端口号为67,源端口号为68。目的IP地址为有限广播地址255.255.255.255,源IP地址为0.0.0.0.UDP通信无连接不可靠,所以DHCP有消息重传机制。
DHCP offer:提供阶段是DHCP Server 向 DHCP cliednt提供ip地址的阶段。封装在目的端口号为68、源端口号为67的UDP报文中,UDP封装在单播IP报文中,目的ip255.255.255.255源IP为主机ip。协议字段0x11,IP报文封装在广播帧中,MAC地址为sever所对应的地址类型字段0x800。
携带DHCP CLIENT,交易号,transaction id。
DHCP request,广播帧源MAC地址为PC1 mac地址,类型字段0x800,荷载数据广播ip报文。Ip广播目的地址255.255.255.255,源ip地址0.0.0.0,协议字段0x11,荷载数据udp,目的端口号67,源端口号68。荷载DHCPREQUEST,携带DHCP sever标识(sever identifier)。
DHCPACK 确认阶段,R1上的DHCP sever会向PC1上的DHCP client发送一个DHCPACK消息。DHCPACK消息封装在目的端口号为68,源端口号为67的udp报文中,udp又封装在广播ip报文中。Ip报文封装在单播帧里,帧的源mac地址对应dhcp sever所对应的单播mac地址,目的mac地址为pc1的mac地址,类型字段值为0x800.PC1收到DHCPACK消息后,意味着PC首次获得IP地址。PC会检验ip唯一性。
Pc重启后,只需要直接进入第3阶段(请求阶段),以广播帧及广播IP报文的方式发送DHCPREQUEST消息(携带sever identifier)表示希望继续使用上次分配给自己的地址,收到DHCPACK后可以开始继续使用IP地址。若SEVER不能够让PC1继续使用IP地址,回应DHCPNACK。PC1重新从发现阶段开始申请IP地址。

续租:
T1 租期一半,开始单播向sever发送DHCPREQUEST,直到87.5%T2
T2 租期87.5%,广播方式发送DHCPREQUEST,继续请求续租。
租约到期,重新从开始阶段申请IP。

DHCP安全
DHCP Snooping部署在交换机上,其作用类似于在DHCP客户端与DHCP服务器端之间构筑了一道虚拟的防火墙。
DHCP Snooping将交换机上的端口分为两种类型,即信任端口(Trusted端口)和非信任端口(Untrusted端口);与合法的DHCP Server相连接的端口应配置为Trusted端口,其他端口应配置为Untrusted端口。
交换机从Trusted端口接收到DHCP响应报文(例如DHCP Offer报文、DHCP Ack报文等等)后,会转发这些报文,从而保证合法的DHCP Server可以正常地分配IP地址及提供其他网络参数;交换机从Untrusted端口接收到DHCP响应报文(例如DHCP Offer报文、DHCP Ack报文等等)后,会丢弃这些报文,从而阻止仿冒的DHCP Server分配IP地址及提供其他网络参数。

针对dhcp攻击行为:
DHCP饿死攻击:攻击者持续大量地向DHCP Server申请IP地址,直到耗尽DHCP Server地址池中的IP地址,导致DHCP Server不能给正常的用户进行分配。
漏洞分析:DHCP Server是针对CHADDR来分配IP地址的,对于不同的CHADDR,DHCP Server会分配不同的IP地址;DHCP Server无法区分什么样的CHADDR是合法的,什么样的CHADDR是非法的。利用这个漏洞,攻击者每申请一个IP地址时,就在DHCP消息的CHADDR字段中填写一个不同的值,以此来冒充是不同的用户在申请IP地址。
阻止饿死攻击,DHCP Snooping技术支持在端口下对DHCP Request报文的源MAC地址与CHADDR进行一致性检查:如果二者相同,则转发报文;如果二者不相同,则丢弃。如果要在某端口下实施源MAC地址与CHADDR的一致性检查,可以在该端口下使用命令dhcp snooping check dhcp-chaddr enable。
还可能存在这样一种饿死攻击,就是攻击者不断同时变换MAC地址和CHADDR,并且每一次变换时,都让CHADDR与MAC地址相同,如此一来,便可以躲过上述源MAC地址与CHADDR的一致性检查!
全局模式下:DHCP snooping enable
全局模式下:dhcp snooping check dhcp-chaddr enable vlan 1

仿冒DHCP Server攻击:攻击者仿冒DHCP Server,向客户端分配错误的IP地址及提供错误的网关地址等参数,导致客户端无法正常访问网络。
漏洞分析:DHCP客户端接收到来自DHCP Server的DHCP消息后,无法区分这些DHCP消息是来自仿冒的DHCP Server,还是来自合法的DHCP Server。
DHCP Snooping将交换机上的端口分为两种类型,即信任端口(Trusted端口)和非信任端口(Untrusted端口);与合法的DHCP Server相连接的端口应配置为Trusted端口,其他端口应配置为Untrusted端口。
交换机从Trusted端口接收到DHCP响应报文(例如DHCP Offer报文、DHCP Ack报文等等)后,会转发这些报文,从而保证合法的DHCP Server可以正常地分配IP地址及提供其他网络参数;交换机从Untrusted端口接收到DHCP响应报文(例如DHCP Offer报文、DHCP Ack报文等等)后,会丢弃这些报文,从而阻止仿冒的DHCP Server分配IP地址及提供其他网络参数。
关键配置命令:交换机的端口默认是Untrusted端口。如果需要将交换机的某个端口配置为Trusted端口,可以在该端口视图下使用命令dhcp snooping trusted。如果需要将某个Trusted端口恢复为Untrusted端口,可以在该端口视图下使用命令undo dhcp snooping trusted。

DHCP中间人攻击:攻击者利用ARP机制,让PC-A学习到IP-S与MAC-B的映射关系,又让Server学习到IP-A与MAC-B的映射关系。如此一来,PC-A与Server之间交互的IP报文都会经过攻击者中转。
漏洞分析:从本质上讲,中间人攻击是一种Spoofing IP/MAC攻击,中间人利用了虚假的IP地址与MAC地址之间的映射关系来同时欺骗DHCP的客户端和服务器。
我们已经知道,DHCP中间人攻击本质上是一种Spoofing IP/MAC攻击。要想防止DHCP中间人攻击,其实就是要防止Spoofing IP/MAC攻击。
运行了DHCP Snooping的交换机会“侦听(Snooping)”往来于用户与DHCP Server之间的DHCP消息,并从中收集用户的MAC地址(这里的MAC地址是指DHCP消息中CHADDR字段的值)、用户的IP地址(这里的IP地址是指DHCP Server分配给相应CHADDR的IP地址)等信息,这些信息会集中存放在一个数据库中,该数据库也被称为DHCP Snooping绑定表。运行了DHCP Snooping的交换机会建立并动态维护DHCP Snooping绑定表,绑定表中除了包含了用户的MAC地址、用户的IP地址外,还包括IP地址租用期、VLAN-ID等等信息。
假设DHCP Server给PC-A分配了IP地址IP-A,给PC-B分配了IP地址IP-B,那么IP-A与MAC-A就形成了绑定关系,IP-B与MAC-B也形成了绑定关系,这种绑定关系都存放于DHCP Snooping绑定表中。攻击者为了让Server学习到IP-A与MAC-B的映射关系,会发送ARP请求报文(将ARP报文中的源IP地址填为IP-A,源MAC地址填为MAC-B)。交换机接收到ARP请求报文后,会检查该ARP请求报文中的源IP地址和源MAC地址,发现该IP/MAC(IP-A/MAC-B)映射关系不能匹配DHCP Snooping绑定表中的条目,于是会丢弃该ARP请求报文,这样就有效地防止了Spoofing IP/MAC攻击。
如果需要使用上面所描述的防止Spoofing IP/MAC攻击(进而防止中间人)的方法,就必须在交换机的系统视图下执行配置命令arp dhcp-snooping-detect enable。

网络原理DHCP 安全相关推荐

  1. 路由工作原理+DHCP+静态路由配置

    路由工作原理+DHCP+静态路由配置 路由器 路由表 路由优先级 路由优先级的配置 浮动路由 路由的度量 DHCP DHCP第一种配置命令(global): DHCP第二种分配IP地址的配置命令(in ...

  2. 网络原理学习笔记--基本概念1

    学习网络原理过程中必须熟知的一些最基本的概念,理解这些概念对于学习信号传输.各种网络协议等都很有帮助 1) 模拟信号:就是连续变化的信号.例如,当我们说话时,声音大小是连续变化的,因此运送话音信息的声 ...

  3. 无线网络原理知识总结

    无线网络原理 无线网络传输技术 WLAN的MAC层关键技术 WLAN的组建 IEEE802.11协议 WLAN的勘测与规划 WLAN的安装与部署 蓝牙技术与组网 无线MESH技术 MANET路由协议 ...

  4. 动画:唐三藏西行之网络原理通信全过程

    贞观元年,玄奘结侣陈表,东土大唐的国王(指浏览器)让唐三藏(指要传输数据报文)西行求取真经(指目标 IP 地址). 这时,唐三藏只要自己的任务是取得真经,但是不知道取经具体的位置.于是唐三藏拿出了手写 ...

  5. 【Spark】网络原理概述

    网络原理概述 一.关键词 二.应用层 1. DNS:Domain Name System(域名系统) 2. DHCP协议:Dynamic Host Configuration Protocol: 动态 ...

  6. 【JavaEE初阶】第八节.网络原理网络层和数据链路层,应用层

    文章目录 前言 一.网络层协议 1.1 IP协议 1.2 IP地址: 1.3 路由选择: 二.数据链路层 2.1 以太网协议: 三.应用层: 3.1 应用层协议DNS: 3.2 DNS是如何完成转换的 ...

  7. Linux网络服务-DHCP

    DHCP 了解DHCP DHCP好处 DHCP工作原理 DHCP八种报文 DHCP安装dhcp DHCP场景应用实验 了解DHCP DHCP全称为Dynamic Host Configuration ...

  8. 【阿里云课程】分组网络原理,结构发展及设计改进

    大家好,继续更新有三AI与阿里天池联合推出的深度学习系列课程,本次更新内容为第10课中的一节,介绍如下: 分组网络原理与结构演变 本次课程是阿里天池联合有三AI推出的深度学习系列课程第10期,深度学习 ...

  9. 【阿里云课程】残差网络原理,结构发展及有效性理解

    大家好,继续更新有三AI与阿里天池联合推出的深度学习系列课程,本次更新内容为第10课中的一节,介绍如下: 残差网络原理与结构演变 本次课程是阿里天池联合有三AI推出的深度学习系列课程第10期,深度学习 ...

最新文章

  1. OFDM专题之输入的复信号从何而来?
  2. 基于TCP协议的通信模型
  3. Tomcat安装及Eclipse配置教程
  4. 桂林电子计算机与信息安全学院,桂林电子科技大学计算机与信息安全学院网络空间安全保研...
  5. 分享一个学习cocos-html5的链接
  6. 判断 小程序_怎么判断小程序开发公司靠不靠谱?
  7. Jupyter Notebook——如何显示目录的导航栏(安装 Jupyter Notebook extension)
  8. 【前端】数字媒体技术专业主要课程及就业方向
  9. 基于微流域划分的洪水淹没分析
  10. 营收与预测:线性回归建立预测收入水平的线性回归模型。
  11. 路由器450m和1200m有什么区别
  12. 什么是亚线性和超线性?
  13. 程序员的十一个层次,你感觉自己属于那一层?
  14. JavaScript(1)使用ducument.write()在页面上显示红色的“开启JavaScript学习之旅”。
  15. B+树索引实战:全值匹配查询
  16. cycJava基础以及集合总结
  17. 搭建一个vue小页面
  18. Kubernetes 调度 - 污点和容忍度详解
  19. rtsp流媒体播放器----ffmpeg相关代码走读(一)
  20. sqlserver中的常见函数用法

热门文章

  1. compostion-api(setup中) watch使用细节
  2. flutter构建的漫画app
  3. python手机自动化截图_Python Appium自动化测试 屏幕截图
  4. 机器学习案例——‘线性回归预测家庭用电与时间关系‘ 中格式化时间字符串问题
  5. 【Android 】零基础到飞升 | Gestures(手势)
  6. LG 2341 受欢迎的牛
  7. android 阅后即焚 防止截屏
  8. 【硬件相关】SPARC简介
  9. 众里资讯——盗版工具KMSpico暗藏恶意程序
  10. Windows10电脑音频出现故障:必须运行 Windows 音频服务和 Windows 音频终结点生成器服务,音频才能正常工作。至少其中一个服务未运行