DHCP(动态主机配置协议)
是一个应用层协议。分配地址时,DHCP服务器和客户端需要在一个局域网内。服务器为不同网段的主机分配IP时,只要连接两个网段中间的路由器能转发DHCP配置请求即可,但这要求路由器配置中继功能。 端口号:67(DHCP服务器),68(DHCP客户端)
DHCP服务器提供三种IP分配方式:
(1)自动分配
自动分配是当DHCP客户端第一次成功地从DHCP服务器端分配到一个IP地址之后,就永远使用这个地址。
(2)动态分配
动态分配是当DHCP客户端第一次从DHCP服务器分配到IP地址后,并非永久地使用该地址,每次使用完后,DHCP客户端就得释放这个IP地址,以给其他客户端使用。
(3)手动分配
手动分配是由DHCP服务器管理员专门为客户端指定IP地址。
总结:其中,又分为静态分配和动态分配,自动分配和手动分配都为静态分配。
DHCP报文
DHCP一共有8种报文,(1)DHCP Discover(2)DHCP Offer(3)DHCP Request(4)DHCP ACK(5)DHCP NAK(6)DHCP Release(7)DHCP Decline(8)DHCP Inform。
这些报文分为:
请求报文(客户端发出的): DHCP Discover、DHCP Request、DHCP Release、DHCP Inform和DHCP Decline。
应答报文(服务器发出的): DHCP Offer、DHCP ACK和DHCP NAK。
各种类型报文的基本功能如下:
(1)DHCP DISCOVER: DHCP 客户端在请求 IP地址时并不知道 DHCP服务器的位置,因此DHCP客户端会在本地网络内以 广播方式发送 Discover 请求报文,以发现网络中的 DHCP服务器。所有收到 Discover 报文的 DHCP服务 器都会发送应答报文, DHCP 客户端据此可以知道网络 中存在的 DHCP 服务器的位置。
(2)DHCP OFFER: DHCP 服务器收到 Discover 报文后,就会在所配置的地址池中查找一个合适的 IP 地址,加上相应的租约期限和其他配置信息(如网关、 DNS 服务器等),构造一 个 Offer 报文,发送给 DHCP 客户端,告知用户本服务器可以为其提供 IP 地址。但这个报文只是告诉 DHCP客户端可以提供 IP地址,最终还需要客户端通过 ARP 来检测该 IP地址是否重复。
(3)DHCP REQUEST: DHCP客户端可能会收到很多 Offer 请求报文,所以必 须在这些应答中选择一个。通常是选择第一个 Offer 应答 报文的服务器作为自己的目标服务器,并向该服务器发 送一个广播的 Request 请求报文,通告选择的服务器, 希望获得所分配的 IP 地址。另外,DHCP客户端在成 功获取 IP地址后,在地址使用租期达到50% 时,会向 DHCP 服务器发送单播 Request 请求报文请求续延租约, 如果没有收到 ACK 报文,在租期达到87.5% 时,会再次发送 广播的 Request 请求报文以请求续延租约。
(4)DHCP ACK: DHCP 服务器收到 Request 请求报文后,根据 Request 报文 中携带的用户 MAC 查找有没有相应的租约记录,如果有则发送 ACK 应答报文,通知用户可以使用分配的 IP地址。
(5)DHCP NAK: 如果 DHCP服务器收到 Request 请求报文后,没有发现有相应的租约记录或者由于某些原因无法正常分配IP地址,则向 DHCP客户端发送NAK应答报文,通知用户无法分配合适的 IP地址。
(6)DHCP RELEASE: 一般出现在客户端下线等状况。当 DHCP 客户端不再需要使用分配 IP 地址时,就会主动向 DHCP 服务器发送 RELEASE 请求报文,告知服务器用户不 再需要分配 IP 地址,请求 DHCP 服务器释放对应的 IP 地址。
(7)DHCP DECLINE: DHCP 客户端收到 DHCP 服务器 ACK 应答报文后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则会向 DHCP服务器发送 Decline求报文,通知服务器所分配的IP地址不可用,以期获得新的IP地址。
(8)DHCP inform:DHCP客户端如果需要从DHCP服务器端获取更为详细的配置信息,则向 DHCP服务器发送Inform 求报文; DHCP服务器在收到该报文后,将根据租约进行查找到相应的配置信息后,向 DHCP客户端发送 ACK 答报文。目前基本上不用了。
分配的IP地址要符合以下原则:
地址空闲,同一网络下没有其他设备使用该地址。
DHCP通信分为四步:
(1)主机发送DHCPDISCOVER广播包在网络上寻找DHCP服务器;
(2)DHCP服务器向主机发送DHCPOFFER单播数据包,包含IP地址、MAC地址、域名信息以及地址租期;
(3)主机发送DHCPREQUEST广播包,正式向服务器请求分配已提供的IP地址;
(4)DHCP服务器向主机发送DHCPACK单播包,确认主机的请求。
DHCP同时也存在不少缺点:DHCP不能发现网络上非DHCP客户机已经在使用的IP地址;当网络上存在多个DHCP服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP转发。
DHCP攻击(了解)
针对DHCP的一种攻击办法是从服务器那里骗IP地址。攻击者的电脑可以不断发出DHCP请求,冒充成新入网的客户机。于是,DHCP服务器的地址池被耗干,无法分配地址给后来的用户。后来的用户再也没法使用网络服务。攻击者很可能会继续下连环套。攻击者占有了大量IP地址,可以装扮成新的DHCP服务器,把自己骗来的IP地址分配给网络上的新用户。
等等,好像有什么不对攻击者搞瘫一台DHCP服务器,就为了过一下cosplay的瘾?
当然不是。DHCP服务器还能提供其他网络设置参数。攻击者可以让自己成为DNS服务器或者网络出口。于是,客户机的域名解析和外网通信,必须经过攻击者的电脑。这个时候,攻击者的权限就很大了。他可以偷听通信、伪装成客户机、假扮成某个域名的网站。比如说,攻击者就可以篡改域名解析,让你在访问www.cnblogs.com/vamei时,实际上访问的是攻击者提供的一个网页。当你在这个网页上输入用户名和密码时,你的信息就完全泄露给了攻击者。
DHCP攻击让人防不胜防。DHCP协议在设计中并没有考虑到安全性的问题,所以很难从软件上杜绝DHCP攻击。某些品牌的交换机上,可以指定特定端口给合法的DHCP服务器,以免其他人伪装。当然,最重要的保护方式,还是防止攻击者连入局域网。
标签:主机,报文,IP地址,服务器,DHCP,动态,分配,客户端 From: https://www.cnblogs.com/dongtianci0801/p/17327840.html