DHCP原理(含DHCP-snooping)

合集下载

DHCP Snooping功能与实例详解 -经典

DHCP Snooping功能与实例详解 -经典

DHCP Snooping功能与实例详解架设DHCP服务器可以为客户端自动分配IP地址、掩码、默认网关、DNS服务器等网络参数,简化了网络配置,提高了管理效率。

但在DHCP服务的管理上存在一些问题,常见的有:●DHCP Server的冒充●DHCP Server的DOS攻击,如DHCP耗竭攻击●某些用户随便指定IP地址,造成IP地址冲突1、DHCP Server的冒充由于DHCP服务器和客户端之间没有认证机制,所以如果在网络上随意添加一台DHCP 服务器,它就可以为客户端分配IP地址以及其他网络参数。

只要让该DHCP服务器分配错误的IP地址和其他网络参数,那就会对网络造成非常大的危害。

2、DHCP Server的拒绝服务攻击通常DHCP服务器通过检查客户端发送的DHCP请求报文中的CHADDR(也就是Client MAC address)字段来判断客户端的MAC地址。

正常情况下该CHADDR字段和发送请求报文的客户端真实的MAC地址是相同的。

攻击者可以利用伪造MAC的方式发送DHCP请求,但这种攻击可以使用Cisco 交换机的端口安全特性来防止。

端口安全特性(Port Security)可以限制每个端口只使用唯一的MAC地址。

但是如果攻击者不修改DHCP请求报文的源MAC地址,而是修改DHCP报文中的CHADDR字段来实施攻击,那端口安全就不起作用了。

由于DHCP服务器认为不同的CHADDR值表示请求来自不同的客户端,所以攻击者可以通过大量发送伪造CHADDR的DHCP请求,导致DHCP服务器上的地址池被耗尽,从而无法为其他正常用户提供网络地址,这是一种DHCP耗竭攻击。

DHCP耗竭攻击可以是纯粹的DOS攻击,也可以与伪造的DHCP服务器配合使用。

当正常的DHCP服务器瘫痪时,攻击者就可以建立伪造的DHCP服务器来为局域网中的客户端提供地址,使它们将信息转发给准备截取的恶意计算机。

甚至即使DHCP请求报文的源MAC地址和CHADDR字段都是正确的,但由于DHCP请求报文是广播报文,如果大量发送的话也会耗尽网络带宽,形成另一种拒绝服务攻击。

dhcp的基本概念

dhcp的基本概念

dhcp的基本概念DHCP的基本概念DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于动态分配IP地址和其他网络配置信息。

它可以自动为计算机分配IP地址、子网掩码、默认网关、DNS服务器等信息,从而简化了网络管理。

一、DHCP的基本原理DHCP工作原理是:当计算机加入网络时,它会向DHCP服务器发送一个广播请求(DHCP Discover),请求获得IP地址和其他网络配置信息。

DHCP服务器收到请求后,会回复一个广播包(DHCP Offer),其中包含可用的IP地址和其他配置信息。

计算机选择其中一个IP地址,并向DHCP服务器发送请求确认(DHCP Request)。

最后,DHCP服务器向计算机发送确认消息(DHCP Acknowledge),完成IP地址和其他配置信息的分配过程。

二、 DHCP的优点1.方便管理:使用DHCP可以自动为计算机分配IP地址和其他网络配置信息,简化了网络管理工作。

2.节省资源:使用静态IP地址需要手动配置每台计算机,而且可能会浪费一些未被使用的IP地址。

而使用动态IP地址可以更好地利用可用资源。

3.易于维护:如果需要更改网络配置信息,管理员只需更改DHCP服务器上的设置即可,无需逐个更改每台计算机上的设置。

三、 DHCP的组成部分1.DHCP客户端:运行在计算机上,用于向DHCP服务器请求IP地址和其他网络配置信息。

2.DHCP服务器:运行在网络中的一台计算机上,用于分配IP地址和其他网络配置信息。

3.DHCP中继代理:用于将DHCP广播包转发到其他子网,以便跨子网分配IP地址。

四、 DHCP的工作模式1.动态分配模式(Dynamic Allocation):DHCP服务器从一个可用的IP地址池中选择一个未被使用的IP地址,并将其分配给DHCP客户端。

这种模式适用于大多数情况下,因为它可以更好地利用可用资源。

2.静态分配模式(Static Allocation):管理员手动为每台计算机配置固定的IP地址,这种模式适用于需要保持固定IP地址的设备,如打印机、服务器等。

DHCP-Snooping特性使用不当造成PC机无法获取IP地址

DHCP-Snooping特性使用不当造成PC机无法获取IP地址

DHCP-Snooping特性使用不当造成PC机无法获取IP地址DHCP-Snooping特性使用不当造成PC机无法获取IP地址DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,该协议采用Client-Server模型,是基于UDP层的协议,兼容并扩充了BOOTP(BOOTstrap Protocol)协议。

DHCP Client采用知名端口号68,DHCP Server采用知名端口号67。

当网络中有DHCP Relay 设备时,DHCP的主要过程如下:DHCP协议使用在PC机与DHCP Relay设备之间,当Client收到Relay设备转发的DHCP Ack 报文后,对报文中提供的配置参数进行检查,同时进行配置,完成DHCP过程;如果Client 收到Nak报文,则重新开始整个过程。

需要注意的是DHCP Relay设备回给Client的报文有可能是单播,也有可能是广播,这完全取决于Client是否将发出的 Discover报文里面的Bootp flags字段进行置位。

如果该字段数值为1,则DHCP Relay将 Offer或者Ack/Nak报文广播给Client;反之,如果该字段数值为0,则DHCP Relay将 Offer或者Ack/Nak报文单播给Client。

以上,只是简单介绍客户端通过DHCP动态获取地址的过程,主要为了给DHCP-Snoooping这个交换机新增的特性做铺垫。

从字面上看,DHCP-Snooping和IGMP-Snooping完成的功能类似,都是对特定报文进行侦听。

当交换机开启了DHCP-Snooping后,会对DHCP报文进行侦听,并可以从接收到的DHCP Request或DHCP Ack报文中提取并记录IP地址和MAC地址信息。

另外,DHCP-Snooping允许将某个物理端口设置为信任端口或不信任端口。

信任端口可以正常接收并转发DHCP Offer 报文,而不信任端口会将接收到的DHCP Offer报文丢弃。

51CTO下载-1+DHCP原理(含dhcp-snooping)

51CTO下载-1+DHCP原理(含dhcp-snooping)
DHCP UDP:67/68 IP Ethernet

DHCP原理
BOOTP报文介绍(续)

DHCP原理
BOOTP报文介绍(续)
主要字段解释: OP 消息类型,=1时表示BootRequest;=2时表示 BootReply Htype和Hlen 硬件地址类型和地址长度,实际上表示物理层网络 的类型,一般为以太网,长度为6bytes Hops 跳数,通常为0;中继时会修改,一般不用。 Xid 会话id,随机数,用于确定Serv和Client的对应关系
DHCP报文介绍(续)
DHCP常见OPTION DHCP Message Type,DHCP协议交互的控制报 文类型 Tag=53,Len=1,Data=1~7(只用了3bit)

DHCP原理
DHCP报文介绍(续)
DHCP Message Type是本文的一个重点,Data Value取值如下: Value=1,标示DHCP Discover Value=2,标示DHCP Offer Value=3,标示DHCP Request Value=4,标示DHCP Decline Value=5,标示DHCP ACK Value=6,标示DHCP NAK Value=7,标示DHCP Release
DHCP原理

课程内容
DHCP简介
DHCP原理
DHCP扩展介绍
实验与练习
本章小结

DHCP简介
为什么会有DHCP?
所有基于TCP/IP协议族实现的网络,其通信的一个 重要基础就是IP地址,但对于大多数非专业的用户 而言,IP地址是什么都不甚了解,要正确设臵或者 修改就更难了 但用户主机需要访问网络时,其网卡的IP却又是必 不可少的 DHCP-Dynamic Host Control Protocol动态主 机配臵协议,就是用于简化主机IP地址设臵的协议。 通过DHCP,用户可以实现各项必要网络参数IP、 DNS、Wins等的“零设臵”,做到“即插即用

Cisco交换机DHCP+Snooping功能详解+实例

Cisco交换机DHCP+Snooping功能详解+实例

一、采用DHCP服务的常见问题架设DHCP服务器可以为客户端自动分配IP地址、掩码、默认网关、DNS服务器等网络参数,简化了网络配置,提高了管理效率。

但在DHCP服务的管理上存在一些问题,常见的有:●DHCP Server的冒充●DHCP Server的DOS攻击,如DHCP耗竭攻击●某些用户随便指定IP地址,造成IP地址冲突1、DHCP Server的冒充由于DHCP服务器和客户端之间没有认证机制,所以如果在网络上随意添加一台DHCP服务器,它就可以为客户端分配IP地址以及其他网络参数。

只要让该DHCP服务器分配错误的IP地址和其他网络参数,那就会对网络造成非常大的危害。

2、DHCP Server的拒绝服务攻击通常DHCP服务器通过检查客户端发送的DHCP请求报文中的CHADDR(也就是Client MAC address)字段来判断客户端的MAC地址。

正常情况下该CHADDR 字段和发送请求报文的客户端真实的MAC地址是相同的。

攻击者可以利用伪造MAC的方式发送DHCP请求,但这种攻击可以使用Cisco 交换机的端口安全特性来防止。

端口安全特性(Port Security)可以限制每个端口只使用唯一的MAC 地址。

但是如果攻击者不修改DHCP请求报文的源MAC地址,而是修改DHCP报文中的CHADDR字段来实施攻击,那端口安全就不起作用了。

由于DHCP服务器认为不同的CHADDR值表示请求来自不同的客户端,所以攻击者可以通过大量发送伪造CHADDR的DHCP请求,导致DHCP服务器上的地址池被耗尽,从而无法为其他正常用户提供网络地址,这是一种DHCP耗竭攻击。

DHCP耗竭攻击可以是纯粹的DOS攻击,也可以与伪造的DHCP服务器配合使用。

当正常的DHCP服务器瘫痪时,攻击者就可以建立伪造的DHCP服务器来为局域网中的客户端提供地址,使它们将信息转发给准备截取的恶意计算机。

甚至即使DHCP请求报文的源MAC地址和CHADDR字段都是正确的,但由于DHCP请求报文是广播报文,如果大量发送的话也会耗尽网络带宽,形成另一种拒绝服务攻击。

爆肝了,一口气搞懂什么是DHCPSnooping

爆肝了,一口气搞懂什么是DHCPSnooping

爆肝了,一口气搞懂什么是DHCPSnoopingDHCP Snooping是DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)的一种安全特性,用于保证DHCP客户端从合法的DHCP服务器获取IP地址,并记录DHCP客户端IP地址与MAC地址等参数的对应关系。

DHCP Snooping可以抵御网络中针对DHCP的各种攻击,为用户提供更安全的网络环境和更稳定的网络服务。

目录•为什么需要DHCP Snooping?•DHCP Snooping应用场景有哪些?•DHCP Snooping是如何工作的?为什么需要DHCP Snooping?目前DHCP协议(RFC2131)在应用的过程中遇到很多安全方面的问题,网络中存在一些针对DHCP的攻击,如DHCP Server仿冒者攻击、DHCP Server的拒绝服务攻击、仿冒DHCP报文攻击等。

为了保证网络通信业务的安全性,引入DHCP Snooping技术。

在DHCP Client和DHCP Server之间建立一道防火墙,以抵御网络中针对DHCP的各种攻击。

DHCP Snooping应用场景有哪些?防止DHCP Server仿冒者攻击导致用户获取到错误的IP地址和网络参数攻击原理由于DHCP Server和DHCP Client之间没有认证机制,所以如果在网络上随意添加一台DHCP服务器,它就可以为客户端分配IP地址以及其他网络参数。

如果该DHCP服务器为用户分配错误的IP地址和其他网络参数,将会对网络造成非常大的危害。

如下图所示,DHCP Discover报文是以广播形式发送,无论是合法的DHCP Server,还是非法的DHCP Server都可以接收到DHCP Client发送的DHCP Discover报文。

DHCP Client发送DHCP Discover报文示意图DHCP Client发送DHCP Discover报文示意图如果此时DHCP Server仿冒者回应给DHCP Client仿冒信息,如错误的网关地址、错误的DNS(Domain Name System)服务器、错误的IP等信息,如图2所示。

DHCP snooping

DHCP snooping

一、机制概述DHCP都非常熟悉了,对于DHCP客户端而言,初始过程中都是通过发送广播的DHCP discovery消息寻找DHCP服务器,然而这时候如果内网中存在私设的DHCP服务器,那么就会对网络造成影响,例如客户端通过私设的DHCP 服务器拿到一个非法的地址,最终导致PC无法上网。

在DHCP snooping环境中(部署在交换机上),我们将端口视为trust或untrust两种安全级别,也就是信任或非信任接口。

在交换机上,将连接合法DHCP 服务器的接口配置为trust。

只有trust接口上收到的来自DHCPserver的报文(如DHCPOFFER, DHCPACK, DHCPNAK, 或者DHCPLEASEQUERY)才会被放行,相反,在untrust接口上收到的来自DHCPserver的报文将被过滤掉,这样一来就可以防止非法的DHCPserver接入。

同时在部署了DHCP Snooping了交换机本地,还能维护一张DHCPsnooping的绑定数据库(binding database),用于保存侦听到的DHCP交互的表项,信息包括(针对untrust接口的):MAC地址、IP地址(DHCP 分配的)、租期、绑定类型、VLAN号、接口编号(DHCP客户端也就是连接客户端PC的untrust接口)。

这个DHCP snooping banding databse除了可以做一些基本的安全接入控制,还能够用于DAI等防ARP欺骗的解决方案。

一台支持DHCP snooping的交换机,如果在其untrust接口上,收到来自下游交换机发送的、且带有option82的DHCP报文,则默认的动作是丢弃这些报文。

如果该交换机开启了DHCP snooping并且带有option82的DHCP报文是在trusted接口上收到的,则交换机接收这些报文,但是不会根据报文中包含的相关信息建立DHCP bingdingdatabse表项。

DHCP

DHCP

原理描述目录1.5.3.3.4.4 原理描述1.5.3.3.4.4.1 DHCP Server1.5.3.3.4.4.2 DHCP Relay1.5.3.3.4.4.3 DHCP Snooping1.5.3.3.4.4.4 DHCP报文介绍1.5.3.3.4.4.5 IP地址的分配与获取1.5.3.3.4.4 原理描述DHCP ServerDHCP RelayDHCP SnoopingDHCP报文介绍IP地址的分配与获取父主题:DHCP1.5.3.3.4.4.1 DHCP ServerDHCP Server即DHCP服务器,负责客户端IP地址的分配。

客户端向服务器发送配置申请报文(包括IP地址、子网掩码、缺省网关等参数),服务器根据策略返回携带相应配置信息的报文,请求报文和回应报文都采用UDP进行封装。

DHCP客户端与服务器的交互模式DHCP客户端为了获取合法的动态IP地址,在不同阶段与服务器之间交互不同的信息,通常存在以下三种模式(根据RFC2131实现):DHCP客户端首次登录网络DHCP客户端首次登录网络时,主要通过四个阶段与DHCP服务器建立联系。

发现阶段,即DHCP客户端寻找DHCP服务器的阶段。

客户端以广播方式发送DHCPDISCOVER报文,只有DHCP服务器才会进行响应。

提供阶段,即DHCP服务器提供IP地址的阶段。

DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中挑选一个尚未分配的IP地址分配给客户端,向该客户端发送包含出租IP地址和其它设置的DHCP OFFER报文。

选择阶段,即DHCP客户端选择IP地址的阶段。

如果有多台DHCP服务器向该客户端发来DHCP OFFER报文,客户端只接受第一个收到的DHCP OFFER报文,然后以广播方式向各DHCP服务器回应DHCP REQUEST报文,该信息中包含向所选定的DHCP服务器请求IP地址的内容。

确认阶段,即DHCP服务器确认所提供IP地址的阶段。

DHCP与DHCP_Snooping

DHCP与DHCP_Snooping

Switch(Config)#interface ethernet 0/0/1 Switch(Config- Ethernet 0/0/1)#ip dhcp snooping trust

设置dhcp包的转发速p snooping limit rate 200

显示DHCP探测状态;
DHCP-Snooping将交换机端口划分为两类: 1. 非信任端口:通常为连接终端设备的端口,如PC, 网络打印机等 2. 信任端口:连接合法DHCP服务器的端口或者连 接汇聚交换机的上行端口 信任端口可以正常接收并转发DHCP Offer报文, 而不信任端口会将接收到的DHCP Offer报文丢弃。 这样,可以完成交换机对假冒DHCP Server的屏蔽 作用,确保客户端从合法的DHCP Server获取IP地 址。

地址池 在用户定义了 DHCP 范围及排除范围后,剩余 的地址欧成了一个地址池,地址池中的地址可以动 态的分配给网络中的客户机使用


租约 租约是 DHCP 服务器指定的时间长度,在这个 时间范围内客户机可以使用所获得的 IP 地址。当 客户机获得 IP 地址时租约被激活。在租约到期前 客户机需要更新 IP 地址的租约,当租约过期或从 服务器上删除则租约停止。

Switch(Config)#ip dhcp snooping binding user 00-03-0f-1234-56 address 192.168.1.16 255.255.255.0 vlan 1 interface Ethernet0/0/16

设置端口 ethernet0/0/1为 DHCP Snooping信任 端口,默认是非信任端口;


启动DHCP Snooping功能: 启动DHCP Snooping绑定功能: 在交换机端口 Ethernet0/0/16 配置静态绑定:

DHCP SNOOPING工作原理测试

DHCP SNOOPING工作原理测试

DHCP SNOOPING工作原理测试一.工作原理:A.在指定VLAN启用DHCP Snooping后,将端口分为Trusted接口和Untrusted接口,默认VLAN所有接口都变为Untrusted接口,需要手动设置Trusted接口。

B.对于Untrusted接口,只能接收DHCP的请求消息,不会向这个接口发送出DHCP的请求消息。

C.对于Untrusted接口,从接口进入的DHCP的响应消息也会被drop掉D.对于Trusted接口,没有任何限制,也不做检测。

---测试后觉得这个不确切,Trusted接口如果没有DHCP请求包进入,不会发出DHCP 响应包---当DHCP服务器和DHCP客户端都属于Trusted接口,DHCP客户端是能正常获取IP 地址的---也就是说Trusted口有DHCP请求包进入时,才会发出DHCP响应包另外测试中还发现:①对于思科路由器,如果修改接口mac,交换机不知道是伪造的,最后拿到IP的进入dhcp snooping binding绑定表②但是不知道为什么貌似交换机能识别windows主机修改了自己的mac地址---虽然它从DHCP服务器那里成功的获取了IP地址,但是dhcp snooping binding表里面不会增加记录---把交换机清空配置,重启这种情况没有出现,我还以为交换机怎么能识别出来的呢---重启交换机后,windows主机照也能冲掉路由器在交换机dhcp snooping binding 表的记录③同一VLAN ,CAM表不会记录重复的mac地址条目,后到的会冲掉之前的---即使windows修改接口MAC地址会被DHCP snooping发现,但是CAM表是被更新的---如果属于不同的VLAN重复的mac地址是会被CAM表记录的二.测试拓扑:三.验证:A.交换机在VLAN开启DHCP Snooping之后,VLAN所有接口默认都为Untrust接口----不用验证,省略B.Untrust接口只接收DHCP请求的数据包,不会发出DHCP请求的数据包---这个可以把R1作为DHCP客户端,R2作为DHCP服务器端,连接PC1的接口默认Untrust和修改为Trust来进行验证①如果没有开启DHCP Snooping,在PC上面能够抓到所有的DHC广播包②开启DHCP Snooping后,如果连接PC1的接口为Untrusted口,在它上面抓包,收不到任何DHCP的广播包③开启DHCP Snooping后,如果连接PC1的接口为Trusted口,在它上面抓包,可以抓到DHCP Discover包和DHCP Request包(都是有客户端发送的广播包,收不到服务器发送的广播包),并且可以看到开启DHCP Snooping之后,DHCP Discover包增加了82选项④关于82选项---交换机开启DHCP Snooping之后默认是会添加的,可以在交换机上通过SW1(config)#no ip dhcp snooping information option 取消掉---对于思科路由器作为DHCP服务器情况,因为它能识别82选项,当发现DHCP Discover 包含82选项,而又不是由DHCP Relay发送过来的,不会给客户端分派IP地址,除非通过如下全局命令或接口命令信任82选项:R2(config)#ip dhcp relay information trust-allR2(config-if)#ip dhcp relay information trusted---值得注意的是,如果交换机开启了DHCP Snooping,又没有关闭82选项,那么在作为DHCP中继的路由器全局或接口也得开启信任82选项,否则路由器不会中继DHCP Discover包---像微软的DHCP服务器,其压根就识别不了82选项,因而会忽略掉82选项C.对于Untrust接口,从接口进入的DHCP响应包会丢弃---这个不好测试,只能通过DHCP中继来测试①当交换机没有开启DHCP Snooping时,PC1可以收到R2发给它的DHCP Offer包(DHCP 响应包)②当交换机开启DHCP Snooping且不配置任何口为信任口时,PC1无法收到DHCP包,并且有如下日志:Mar 1 18:42:53.774: %DHCP_SNOOPING-5-DHCP_SNOOPING_UNTRUSTED_PORT:DHCP_SNOOPING drop message on untrusted port, message type: DHCPOFFER, MAC sa: 0002.0002.0002③当交换机开启DHCP Snooping,仅配置连接R2的接口为信任口时,PC1无法收到DHCP 包④当交换机开启DHCP Snooping,同时配置连接R2和PC1的接口为信任口时,PC1可以收到R2发给它的DHCP Offer包(DHCP响应包)D.对于Trusted接口,没有任何限制,也不做检测。

深度解析DHCP Relay和Snooping

深度解析DHCP Relay和Snooping

一、DHCP relay首先分析一下DHCP relay是什么协议。

在使用DHCP协议,客户机可以向DHCP服务器动态的请求配置信息,包括分配的IP地址,子网掩码,缺省网关等信息。

由于DHCP请求报文以广播方式进行的,这种类型报文的转发局限于一个网段内,不可以跨网段工作,因此,为进行动态主机配置需要在所有网段上都设置一个DHCP服务器,这显然是不经济的。

DHCP 中继的引入解决了这一问题,它在处于不同网段间的DHCP客户机和服务器之间承担中继服务,将DHCP协议报文跨网段中继到目的DHCP服务器,于是许多网络上的DHCP客户机可以共同使用一个DHCP服务器。

DHCP协议是以客户/服务器模式工作的,当DHCP客户启动时,发送配置请求报文,DHCP 中继收到该报文并适当处理后发送给指定的位于其它网络上的DHCP服务器。

服务器根据客户提供的必要信息,再次通过DHCP中继发送配置信息给客户机,完成对主机的动态配置。

DHCP RELAY功能示意图如下所示:DHCP RELAY实现的主要功能为:1、配置IP辅助地址用户通过命令行界面,在接口配置模式下,为接口配置IP辅助地址,即指明DHCP SERVER 的IP地址。

在接口控制块中维护辅助地址信息,供DHCP中继时使用。

各接口可以配置多个IP辅助地址(每个接口可配置的的IP辅助地址最大个数为20,可以根据具体产品需要调整该值),IP辅助地址将被保存在接口控制块中。

2、处理DHCP中继报文DHCP中继代理不是对所有收到的DHCP报文都作中继处理,在中继前需要识别需要处理的DHCP报文。

需要强调的是在服务器端如回应报文发送给DHCP中继,则回应报文目的端口设为67。

DHCP中继模块通过Socket收发DHCP中继报文。

从各接口接收的DHCP协议报文,都是由Socket接收。

对DHCP报文识别后,交由中继模块处理。

通常DHCP请求报文的源地址是0,DHCP中继代理必须可以接收IP源地址为0的报文。

DHCP Snooping功能和实例详解

DHCP Snooping功能和实例详解

DHCP Snooping功能与实例详解一、采用DHCP服务的常见问题架设DHCP服务器可以为客户端自动分配IP地址、掩码、默认网关、DNS服务器等网络参数,简化了网络配置,提高了管理效率。

但在DHCP 服务的管理上存在一些问题,常见的有:●DHCP Server的冒充●DHCP Server的DOS攻击,如DHCP耗竭攻击●某些用户随便指定IP地址,造成IP地址冲突1、DHCP Server的冒充由于DHCP服务器和客户端之间没有认证机制,所以如果在网络上随意添加一台DHCP服务器,它就可以为客户端分配IP地址以及其他网络参数。

只要让该DHCP服务器分配错误的IP地址和其他网络参数,那就会对网络造成非常大的危害。

2、DHCP Server的拒绝服务攻击通常DHCP服务器通过检查客户端发送的DHCP请求报文中的CHADDR (也就是Client MAC address)字段来判断客户端的MAC地址。

正常情况下该CHADDR字段和发送请求报文的客户端真实的MAC地址是相同的。

攻击者可以利用伪造MAC的方式发送DHCP请求,但这种攻击可以使用Cisco 交换机的端口安全特性来防止。

端口安全特性(Port Security)可以限制每个端口只使用唯一的MAC地址。

但是如果攻击者不修改DHCP请求报文的源MAC地址,而是修改DHCP报文中的CHADDR字段来实施攻击,那端口安全就不起作用了。

由于DHCP服务器认为不同的CHADDR值表示请求来自不同的客户端,所以攻击者可以通过大量发送伪造CHADDR的DHCP请求,导致DHCP服务器上的地址池被耗尽,从而无法为其他正常用户提供网络地址,这是一种DHCP耗竭攻击。

DHCP耗竭攻击可以是纯粹的DOS攻击,也可以与伪造的DHCP服务器配合使用。

当正常的DHCP服务器瘫痪时,攻击者就可以建立伪造的DHCP服务器来为局域网中的客户端提供地址,使它们将信息转发给准备截取的恶意计算机。

DHCPSNOOPING专题

DHCPSNOOPING专题

DHCP SNOOPING专题1DHCP/DHCP SNOOPING 概述1.1 DHCPDHCP(动态主机配置协议)能够让网络上的主机从一个DHCP服务器上获得一个可以让其正常通信的IP地址以及相关的配置信息。

RFC2131详细的描述了DHCP。

DHCP采用UDP作为传输协议,主机发送消息到DHCP服务器的67号端口,服务器回消息给主机的68号端口。

DHCP的工作主要分为以下几步:1.主机发送一个请求IP地址和其他配置参数的广播报文DHCPDiscover;2.DHCP服务器回送一个包含有效IP地址及配置的单播报文DHCPOffer;3.主机选择最先到达的DHCPOffer的那个服务器,并向它发送一个单播报文DHCPRequest,表示接受相关配置;4.选中的DHCP服务器回送一个确认的单播报文DHCPAck。

至此,主机就可以利用从DHCP服务器获得的IP地址和相关配置进行通信。

DHCP服务器为主机分配的IP地址有三种形式:1.管理员将一个IP地址分配给一个确定的主机;2.随机的将地址永久性分配给主机;3.随机将地址分配给主机使用一段时间。

我们常用的是第3种形式。

地址的有效使用时间段称为租用期。

租用期满之前,主机必须向服务器请求继续租用,服务器接受请求才能继续使用,否则无条件放弃。

由于默认情况下,路由器不会将收到的广播包从一个子网发送到另一个子网。

而当DHCP服务器和客户主机不在同一个子网时,充当客户主机默认网关的路由器必须将广播包发送到DHCP服务器所在的子网,这一功能就称为DHCP中继。

1.2 DHCP SNOOPINGDHCP Snooping是一种通过建立和维护DHCP Snooping绑定表,过滤不可信任的DHCP 信息,从而保证网络安全特性的技术。

DHCP Snooping就像是非信任的主机和DHCP服务器之间的防火墙。

通过DHCP Snooping来区分连接到末端客户或防火墙的非信任接口和连接到DHCP服务器或者其他交换机的受信任接口。

DHCP过程

DHCP过程

DHCP几个概念:DHCP Client:DHCP客户端,通过DHCP协议请求IP地址的客户端。

DHCP客户端是接口级的概念,如果一个主机有多个以太接口,则该主机上的每个接口都可以配置成一个DHCP 客户端。

交换机上每个Vlan接口也可以配置成一个DHCP客户端。

DHCP Server:DHCP 服务端,负责为DHCP客户端提供IP地址,并且负责管理分配的IP地址。

DHCP Relay:DHCP中继器,DHCP客户端跨网段申请IP地址的时候,实现DHCP 报文的转发功能。

DHCP Security:DHCP安全特性,实现合法用户IP地址表的管理功能DHCP Snooping:DHCP监听,记录通过二层设备申请到IP地址的用户信息DHCP工作原理:发现阶段:即DHCP客户端寻找DHCP服务端的过程,对应于客户端发送DHCP Discovery,因为DHCP Server对应于DHCP客户端是未知的,所以DHCP 客户端通过UDP67端口发出的DHCP Discovery报文是广播包(包中包含客户机的MAC地址和计算机名等信息),源地址为0.0.0.0(客户端此时还没有任何IP地址数据)目的地址为255.255.255.255。

网络上的所有支持TCP/IP的主机都会收到该DHCP Discovery报文,但是只有DHCP Server会响应该报文。

DHCP discovery等待时间预设为1s,也就是客户机将第一个DHCP discovery包发出去之后,在1s内没得到回应的话,则会进行第二次广播,客户机会将这一广播包重新发送四次,以2,4,8,16为间隔,加上1-1000毫秒之间随机长度时间。

如果仍没有得到DHCP Server回应,客户机会从169.254.0.0/16这个自动保留的私有地址中选用一个IP地址,并每隔5分钟重新广播一次,如果收到某个服务器的响应,则继续IP租用过程。

如果网络中存在多个DHCP Server,则多个DHCP Server均会回复该DHCP Discovery报文。

dhcp snooping

dhcp snooping

理解DHCPDHCP 协议被广泛用来动态分配可重用的网络资源,如 IP 地址。

一次典型的DHCP 获取 IP 的过程如下所示:DHCP Client 发出 DHCP DISCOVER广播报文给 DHCP Server,若 Client 在一定时间内没有收到服务器的响应,则重发 DHCP DISCOVER 报文。

DHCP Server收到 DHCP DISCOVER报文后,根据一定的策略来给 Client 分配资源(如 IP 地址),然后发出 DHCP OFFER报文。

DHCP Client 收到 DHCP OFFER报文后,发出 DHCP REQUEST请求,请求获取服务器租约,并通告其他服务器已接受此服务器分配地址。

服务器收到 DHCP REQUEST报文,验证资源是否可以分配,如果可以分配,则发送 DHCP ACK 报文;如果不可分配,则发送 DHCP NAK 报文。

DHCP Client收到DHCP ACK 报文,就开始使用服务器分配的资源。

如果收到 DHCP NAK,则重新发送 DHCP DISCOVER报文。

理解DHCP SnoopingDHCP Snooping 就是 DHCP 窥探,通过对 Client 和服务器之间的 DHCP 交互报文进行窥探,实现对用户的监控,同时 DHCP Snooping起到一个 DHCP 报文过滤的功能,通过合理的配置实现对非法服务器的过滤。

下边对 DHCP Snooping 内使用到的一些术语及功能进行一些解释:DHCP Snooping TRUST 口:由于 DHCP 获取 IP的交互报文是使用广播的形式,从而存在着非法服务器影响用户正常 IP 的获取,更有甚者通过非法服务器欺骗窃取用户信息的现象,为了防止非法服务器的问题,DHCP nooping 把端口分为两种类型, TRUST口和UNTRUST口,设备只转发TRUST口收到的DHCP Reply报文,而丢弃所有来自UNTRUST口DHCP Reply报文,这样我们把合法的DHCP Server 连接的端口设置为 TURST 口,其他口设置为 UNTRUST 口,就可以实现对非法DHCP Server 的屏蔽。

动态ARP检测原理及应用

动态ARP检测原理及应用

动态ARP检测原理及应用在一个局域网中,网络安全可以通过多种方式来实现,而采取DHCP snooping(DHCP防护)及DAI检测(ARP防护)这种技术,保护接入交换机的每个端口,可以让网络更加安全,更加稳定,尽可能的减小中毒范围,不因病毒或木马导致全网的瘫痪。

下面将详细的对这种技术的原理和应用做出解释。

一、相关原理及作用1、DHCP snooping原理DHCP Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,这些信息是指来自不信任区域的DHCP信息。

DHCP Snooping绑定表包含不信任区域的用户MAC地址、IP地址、租用期、VLAN-ID 接口等信息。

当交换机开启了 DHCP-Snooping后,会对DHCP报文进行“侦听”,并可以从接收到的DHCP Request或DHCP Ack报文中提取并记录IP 地址和MAC地址信息。

另外,DHCP-Snooping允许将某个物理端口设置为信任端口或不信任端口。

信任端口可以正常接收并转发DHCP Offer报文,而不信任端口会将接收到的DHCP Offer报文丢弃。

这样,可以完成交换机对假冒DHCP Server的屏蔽作用,确保客户端从合法的DHCP Server获取IP地址。

2、DHCP snooping作用DHCP snooping的主要作用就是隔绝私接的DHCP server,防止网络因多个DHCPserver而产生震荡。

DHCP snooping与交换机DAI技术的配合,防止ARP病毒的传播。

建立并维护一张DHCP snooping的“绑定表”,这张表可以通过dhcpack包中的ip和mac地址生成的,也可以通过手工指定。

它是后续DAI(Dynamic ARP Inspection)和IP Source Guard 基础。

这两种类似的技术,是通过这张表来判定ip或者mac地址是否合法,来限制用户连接到网络的。

简述dhcp的基本概念,及其工作原理。

简述dhcp的基本概念,及其工作原理。

DHCP基本概念及其工作原理1. DHCP的基本概念DHCP全称是Dynamic Host Configuration Protocol,即动态主机配置协议。

它是一种用来为局域网内的设备分配IP位置区域、子网掩码、网关、DNS等网络配置信息的协议,旨在简化网络管理员对IP 位置区域管理的工作,避免手动配置IP位置区域引起的错误和冲突。

2. DHCP的工作原理DHCP协议的工作原理可以概括为四个步骤:发现、提供、请求、确认。

2.1 发现当一个新设备加入局域网时,它首先会向网络中的DHCP服务器发送一个广播请求,请求分配IP位置区域和其他网络配置信息。

2.2 提供DHCP服务器收到设备的广播请求后,会向设备发送一个包含可用IP位置区域、子网掩码、网关、DNS等信息的DHCP提供消息。

2.3 请求设备收到DHCP服务器的提供消息后,会选择其中的一个提供并向DHCP服务器发送一个请求消息,请求使用该提供中的IP位置区域和网络配置信息。

2.4 确认DHCP服务器收到设备的请求消息后,会向设备发送一个确认消息,确认该设备可以使用所请求的IP位置区域和网络配置信息。

3. DHCP的工作机制DHCP的工作机制是基于分配和管理IP位置区域的原则,它采用了动态分配和租约制度来节省IP位置区域资源,并且能够自动更新和续约所分配的IP位置区域。

当设备不再需要IP位置区域或者租约到期时,分配给设备的IP位置区域会被收回并重新分配给其他设备,以便更好地利用有限的IP位置区域资源。

4. DHCP的优点DHCP协议的使用,可以让网络管理员更加方便地管理大量设备的IP位置区域分配,避免了手动配置IP位置区域带来的困难和错误。

另外,DHCP还支持动态更新和续约IP位置区域,能够更好地适应局域网内设备不断变化的情况,提高了IP位置区域的利用率和网络的灵活性。

5. 小结DHCP协议是一种用来自动分配和管理IP位置区域的网络协议,它采用动态分配和租约制度,能够更好地管理IP位置区域资源和适应网络设备的变化。

任务4.2 交换机DHCP Snooping配置

任务4.2 交换机DHCP Snooping配置

任务4.2 交换机DHCP Snooping配置ØDHCP基本概念ØDHCP攻击介绍ØDHCP Snooping原理ØDHCP及DHCP Snooping配置流程ØDHCP及DHCP Snooping配置命令•DHCP在应用的过程中存在安全方面的问题,如在遭受DHCP Server仿冒者攻击、DHCPServer拒绝服务攻击等都会影响网络的正常通信。

•DHCP Snooping可以有效防御DHCP各类攻击,保障DHCP环境的安全稳定。

•本次任务介绍DHCP Snooping的基本原理和配置方法。

ØDHCP环境下的角色•DHCP服务器:负责为DHCP客户端分配网络参数。

DHCP可以是专用服务器,也可以是支持DHCP服务的网络设备。

•DHCP客户端:自动获取IP地址等网络参数的设备。

如用户终端(计算机、IP电话)、AP等。

•DHCP中继。

负责转发DHCP服务器和DHCP客户端之间的DHCP报文,协助DHCP服务器向DHCP客户端动态分配网络参数的设备。

DHCP服务器和DHCP客户端不在同一网段,就需要DHCP中继设备转发协议报文。

DHCP角色ØDHCP地址池DHCP服务器可以为客户端分配的所有IP地址的集合。

包括IP地址范围、网关、DNS等网络参数。

•基于接口方式的地址池:地址池为DHCP服务器接口所属网段的IP地址,且地址池中地址只能分配给此接口下的客户端。

适用于DHCP服务器与客户端在同一个网段的场景。

•基于全局方式的地址池:在系统视图下创建的全局地址池,同一DHCP服务器可以配置多个地址池。

服务器接口调用全局地址池为其所连接的客户端分配地址。

无DHCP中继场景ØDHCP地址池DHCP服务器可以为客户端分配的所有IP地址的集合。

包括IP地址范围、网关、DNS等网络参数。

•基于接口方式的地址池:地址池为DHCP服务器接口所属网段的IP地址,且地址池中地址只能分配给此接口下的客户端。

01-09 DHCP Snooping配置

01-09 DHCP Snooping配置
9.11 维护DHCP Snooping 设备支持清除DHCP Snooping的统计信息、动态绑定表或备份DHCP Snooping动态绑定 表等功能。
9.12 配置举例 通过示例介绍DHCP Snooping的使用环境,配置思路与配置过程等。
9.13 常见配置错误 介绍DHCP Snooping常见的配置错误导致的故障问题(如连接DHCP服务器的接口未配 置为“信任”状态导致所有用户无法正常获取IP地址),并给出正确的配置。
由于DHCP Snooping绑定表记录了DHCP客户端IP地址与MAC地址等参数的对应关系, 故通过对报文与DHCP Snooping绑定表进行匹配检查,能够有效防范非法用户的攻击。
为了保证设备在生成DHCP Snooping绑定表时能够获取到用户MAC等参数,DHCP Snooping功能需应用于二层网络中的接入设备或第一个DHCP Relay上。
受益
l 设备具有防御网络上DHCP攻击的能力,增强了设备的可靠性,保障通信网络的正 常运行。
l 为用户提供更安全的网络环境,更稳定的网络服务。
9.2 原理描述
介绍DHCP Snooping的实现原理。
9.2.1 DHCP Snooping 的基本原理
DHCP Snooping分为DHCPv4 Snooping和DHCPv6 Snooping,两者实现原理相似,以下 以DHCPv4 Snooping为例进行描述。
DHCP Snooping信任功能将接口分为信任接口和非信任接口:
l 信任接口正常接收DHCP服务器响应的DHCP ACK、DHCP NAK和DHCP Offer报 文。另外,设备只会将DHCP客户端的DHCP请求报文通过信任接口发送给合法的 DHCP服务器。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主要字段解释: Sname 客户端希望启动后使用的hostname file file为空时,表示客户端只需要获得服务器分配的IP信息, 或者由服务器来统一指定程序的加载; file可以填入指定的名字“unix”“gateway”,用以控 制启动时需要加载的程序
DHCP原理
BOOTP简要处理流程
T2 expires Send Request Renewing ACK ACK
Sellect Offer Send Request Start2 Requesting
T1 expires Send Request Bound
ACK
DHCP原理
DHCP的协议流程(续)
INIT 客户机第一次启动之后,进入Init初始化状态,此时通过发 送DHCP Discover,用于探测和发现服务器,同时状态切 换到Selecting状态 该报文承载于UDP:67中,通过IP广播发送
DHCP原理
DHCP报文介绍(续)
DHCP常见OPTION Requested IP Address,DHCP客户端曾请求并使用 过的IP地址,通常出现在请求报文中。 Tag=50, Len=4,Data=ip.addr
DHCP原理
DHCP报文介绍(续)
DHCP常见OPTION IP Address Lease Time,用户请求分配IP地址的使用 时间(租约期),在DHCP客户端的请求报文和服务器的 回应报文中都有,但以服务器分配为准 Tag=51,Len=4,Data=time
DHCP原理
DHCP报文介绍
DHCP原理
DHCP报文介绍(续)
DHCP报文直接借用了BOOTP的报文格式,其中的核心内 容是OPTION DHCP OPTION格式 每个Option都由Tag、Len、Data三大部分组成:1、 Tag表示本Option的作用 2、Len表明后续Data的长度(Tag=0、255的option比 较特殊,没有对应Data,当然也不需要Len长度) 3、Data内容作为Tag的补充详细说明
DHCP原理
DHCP报文介绍(续)
DHCP常见OPTION End,Tag=255时,是一个特殊的Option,表示所有 的Options字段已经填充完毕,后面没有了。
DHCP原理
DHCP的协议流程
下面以DHCP客户端的角度来描述DHCP整个协议流程转 换机制
Start1 Discover Collect Offers Selecting NAK/ Timeout Init NAK NAK/ Timeout Rebinding
DHCP原理
BOOTP简要处理流程
Reply Received 客户端收到Reply回应之后,会进行判断: Ciadr、Chaddr、Xid是否和自己发送时的值相等,如 果不等,则丢弃 如果上述匹配关系正确,则读取Yiaddr地址给网卡设臵, 并进行后续的引导文件/程序的传输
DHCP原理
DHCP原理
BOOTP报文介绍
BOOTP协议承载在于OSI七层模型的传输层之上,使用 UDP协议 BOOTP客户端发起的报文,UDP:68 UDP:67 BOOTP服务器发起的报文, UDP:67 UDP:68
DHCP UDP:67/68 IP Ethernet
DHCP原理
DHCP原理
DHCP的协议流程(续)
Discover报文常见Option构成: Requested IP addr=MAY IP Addr Lease Time=MAY Client Ientifier=MAY Server Identifier=Must NOT Parameter Request List=MAY
BOOTP的缺点
BOOTP协议过程非常的简单,中间缺乏必要的安全控制机 制 BOOTP给每个用户分配的IP地址是“永久”的,不利于IP 地址资源的合理高效利用
随着网络的逐步发展,BOOTP逐渐被DHCP所取代
DHCP原理
DHCP和BOOTP的关系
BOOTP给客户端分配的IP地址是永久的,而DHCP分配的 IP地址资源则具有时效性、是动态的,有利于提高IP资源 的利用率 DHCP和BOOTP使用相同的UDP协议报头,服务器端口67, 客户端端口68,以至于很多程序对两者不做区分 DHCP和BOOTP使用几乎完全相同的Request和Reply消 息格式,只是DHCP的功能是依赖于报文的OPTION字段 来进行实现的;BOOTP也有自己的“OPTION”字段,称 之为Vend,DHCP Option兼容BOOTP Vend
DHCP原理
BOOTP简要处理流程(续)
BOOTP Reply 服务器收到Request请求之后,进行判断: 如果Client没有Ciaddr,且自己有可用IP,给对方分配 一个,填入Yiaddr;如果没有IP资源,丢弃 将Server自己的IP地址填入Siaddr Xid值与Request中完全相等 OP=2 将上述关键信息填写并封装到UDP报文中,目的UDP端 口号为68,源端口为67 将UDP封装到IP报文中,单播给客户端
Serv1 Serv2
DHCP Discover
Client
Client
Client
DHCP原理
DHCP的协议流程(续)
Discover报文常见参数构成: OP=1,BOOT Request Xid=Random,由Client确定 Ciaddr=0.0.0.0 Yiaddr=Siaddr=Giaddr=0.0.0.0 Chaddr=Client MAC Addr
课程内容
DHCP简介
DHCP原理
DHCP扩展介绍
实验与练习
本章小结
DHCP原理
DHCP要解决的问题
问题: DHCP目的是为了方便使用者,无需手工配臵IP等相关信 息,而DHCP又是一种基于IP运行的协议,在没有IP地址 的情况下,DHCP又如何交互呢? 我们先介绍一下BOOTP协议,即Bootstrap,它是DHCP 协议的前身,在早期常使用在无盘工作站组建的网络中
P原理
DHCP的协议流程(续)
INIT 由于该请求为广播形式,通常在发送时会设臵一个随机的 实验延迟(≤10秒),以避免各个DHCP Client同时发送 广播报文,对局域网造成不必要的影响
DHCP原理
DHCP的协议流程(续)
BOOTP报文介绍(续)
DHCP原理
BOOTP报文介绍(续)
主要字段解释: OP 消息类型,=1时表示BootRequest;=2时表示BootReply Htype和Hlen 硬件地址类型和地址长度,实际上表示物理层网络的类型, 一般为以太网,长度为6bytes Hops 跳数,通常为0;中继时会修改,一般不用。 Xid 会话id,随机数,用于确定Serv和Client的对应关系
BOOTP Requet 客户端发送请求前首先需要确定如下几个参数: Ciaddr,通常启动时没有IP,臵为0.0.0.0 Chaddr,本机网卡硬件地址,按实填写 Yiaddr、Siaddr、Giaddr均设为0.0.0.0 随机生成一个Xid值 OP=1 将上述关键信息填写并封装到UDP报文中,目的UDP端 口号为67,源端口为68 将UDP封装到IP报文中,其目的IP为全网广播,源地址 为0.0.0.0(未知,待分配)
DHCP原理
DHCP报文介绍(续)
DHCP常见OPTION DHCP Message Type,DHCP协议交互的控制报文类 型 Tag=53,Len=1,Data=1~7(只用了3bit)
DHCP原理
DHCP报文介绍(续)
DHCP Message Type是本文的一个重点,Data Value 取值如下: Value=1,标示DHCP Discover Value=2,标示DHCP Offer Value=3,标示DHCP Request Value=4,标示DHCP Decline Value=5,标示DHCP ACK Value=6,标示DHCP NAK Value=7,标示DHCP Release
DHCP原理
BOOTP报文介绍(续)
主要字段解释: Giaddr Gateway IP Addr,网关IP地址,通常只在BOOTP中继 时才会用到 Chaddr Client Hardware Addr,客户端硬件地址,通常在以太 网中就是MAC地址,由客户端自己填写
DHCP原理
BOOTP报文介绍(续)
DHCP原理
BOOTP报文介绍(续)
主要字段解释: Ciaddr Client IP Addr,客户端IP地址,由客户端在发送请求时填 写(如果有的话) Yiaddr Your IP Addr,客户端的IP地址;如果Ciaddr值为全0时, 由服务器在Reply报文中填写 Siaddr Server IP Addr,服务器IP地址
DHCP原理
DHCP报文介绍(续)
DHCP常见OPTION Server Identifier,服务器身份,通常在DHCP报文中 指定与哪个服务器进行交互通信 Tag=54,Len=4,Data=ip.adr
DHCP原理
DHCP报文介绍(续)
DHCP常见OPTION Parameter Request List,请求参数列表,标示客户端 需要服务器分配的内容 Tag=55,Len=n(n≥1),Data=parameters 其中,具体的参数内容使用代码来标示,如: 1为子网掩码、6为DNS-Server等等,有兴趣的可以查找 rfc获得更详细的内容
DHCP原理
课程内容
DHCP简介
DHCP原理
相关文档
最新文档