一、关于DHCP协议简介

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),主要用来给用户来自动分配ip地址。使用udp协议工作。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做“双机热备”的

二、DHCP协议报文

    DHCP协议报文总共有13种,常见的报文有下面八种:

    DHCPDISCOVER报文:这是DHCP客户端首次登录网络时进行的第一个报文过程,用来寻找DHCP服务器;

    DHCPOFFER报文:DHCP服务器用来响应DHCPDISCOVER报文,此报文中携带了各种配置信息;

    DHCPREQUEST报文,此报文主要有以下几种作用:

    1、客户端初始化之后,发送广播的DHCPREQUEST的报文来回应服务器的DHCPOFFER报文;

    2、客户端重启初始化之后发送广播的DHCPREQUEST报文来确认先前分配的ip地址等配置信息;

    3、当客户端已经和某个ip地址绑定后,发送单播的DHCPREQUEST报文来延长IP地址的租期;

    DHCPACK报文:服务器对客户端的DHCPREQUEST报文的确认响应报文,客户端收到这个报文后,才真正获得了ip地址等配置信息;

    DHCPNAK报文:服务器对客户端的DHCPREQUEST报文拒绝响应的报文,比如服务器给客户端分配的ip地址超过了租借期限或者客户端移到了一个新的网络;

    DHCPDECLINE报文:当客户端发现服务器分配给它的ip地址冲突时,会使用此报文通知服务器,并且重新向服务器申请IP地址;

    DHCPRELEASE报文:客户端发送此报文主动释放服务器分配给它的IP地址;当服务器收到这个报文后可将这个IP地址分配给其他的客户端

    DHCPINFORM报文:客户端已经获得了IP地址,发送此报文的目的是为了从服务器获得其他的一些网络配置信息,如网关,DNS服务器等

其他的报文为:DHCPFORCERENEW、DHCPLEASEQUERY、DHCPLEASEUNASSIGNED、DHCPLEASEUNKNOWN、DHCPLEASEACTIVE

三、对DHCP报文的抓包分析

201801171516173769194637.png
201801171516173769632361.png
上面显示了DHCP客户端请求获得ip地址阶段的报文抓包分析。简单的学习一下dhcp协议,后面有机会再深入的研究一下。