防止DHCPStarvationDHCPStarvation是用虚假的MAC地址广播DHCP请求。用诸如gobbler这样的软件可以很容易做到这点。如果发送了大量的请求,攻击者可以在一定时间内耗尽DHCPServers可提供的地址空间。这种简单的资源耗尽式攻击类似于SYNflood。接着,攻击者可以在他的系统上仿冒一个DHCP服务器来响应网络上其他客户的DHCP请求。耗尽DHCP地址后不需要对一个假冒的服务器进行通告,如RFC2131前面所说:“客户端收到多个DHCPOFFER,从中选择一个(比如说第一个或用上次向他提供offer的那个server),然后从里面的服务器标识(serveridentifier)项中提取服务器地址。客户收集信息和选择哪一个offer的机制由具体实施而定。”设置了假冒的DHCP服务器后,攻击者就可以向客户机提供地址和其他网络信息了。DHCPresponses一般包括了默认网关和DNS服务器信息,攻击者就可以他自己主机通告成默认网关和DNS服务器来做中间人攻击。攻击防范防范CAM溢出攻击的技术也可用于DHCPStarvation,比如限制端口上的MAC地址。RFC3118也提供了一种措施对DHCPmseeage进行认证,这些都会大大提升攻击的难度。另外,Catalyst系列的特征集,比如DHCPsnooping命令可以帮助防范DHCPStarvation。DHCPsnooping是一种用来过滤不受信任的DHCP信息并维持一个DHCPsnooping表的安全特性。表中包括MAC地址、IP地址、租约期、绑定类型、VLAN号,以及与本地交换机中的非信任端口的信息。另一种防御手段叫做IPSourceGuard,它可以应付DHCPstarvation和IPspoofing等攻击。和DHCPsnooping一样,IPSourceGuard在非信任端口上实施。除了被DHCPsnooping处理的DHCP报文,所有的IP通信都被拦截。一旦客户端从DHCP服务器收到合法的IP地址,就会在端口应用一条VLANACL。它把客户端IP和那些(服务器)IP绑定,其他来自于绑定IP范围之外的通信都会被过滤掉。一个阻止假冒的DHCP服务器来响应DHCP请求的方法是使用VALCs。虽然有IP欺骗的存在使VACLs不能完全消除假冒DHCP的可能性,但还是大大增加了攻击实施的难度。VACL能够限制DHCP应答只能来自于合法的DHCP服务器。另外一个防御假冒DHCPserver的更有效的方法就是使用DHCPsnooping。它提供了一个极好的防御手段,即通过将可能出现虚假DHCP服务器的端口全部放置到非信任区域来阻止那些服务器的DHCP应答,包括DHCPOFFERs,ACK’s或NAC’s.