DHCP数据包捕获

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
在wireshark过滤器里输入bootp进行对DHCP包的过滤,在windows命令行里输入ipconfig –renew来重新获取ip,获取ip成功后查看wireshark抓包结果。截图如下:
DHCP数据包捕获_第1张图片

可以看到,wireshark捕获了4个DHCP包,分别是discover、offer、request、ack。
这刚好就对应着主机向DHCP服务器请求分配IP的4个过程:DHCP服务器发现、DHCP服务器提供、DHCP请求、DHCP ACK。
接下来详细看看每个报文的具体内容:

一、Discover:DHCP服务器发现
DHCP数据包捕获_第2张图片

从包的信息可以看出,DHCP包的传输层协议是UDP,端口号是67。因为此时主机不知道自己的IP地址,也不知道DHCP服务器的地址,所以使用源地址0.0.0.0和广播目的地址255.255.255.255。

二、Offer:DHCP服务器提供
DHCP数据包捕获_第3张图片

DHCP服务器收到一个DHCP发现报文后,用一个DHCP提供报文进行响应。从包中可以看出服务器IP地址为192.168.1.1,分配给主机的IP地址是192.168.1.103。该报文的事务ID是0x8100beb0,和上一个发现报文的事务ID是一样的。
另外,还可以从Option字段里获得IP地址租用期、子网掩码、路由信息等。
DHCP数据包捕获_第4张图片

三、Request:DHCP请求
DHCP数据包捕获_第5张图片

主机收到Offer报文后,用一个DHCP请求报文进行响应,此时和DHCP发现报文一样,都是使用源地址0.0.0.0和广播目的地址255.255.255.255。并且重新选择一个新的事务ID以及回显配置参数。如请求的IP地址等。
DHCP数据包捕获_第6张图片

四、ACK:DHCP ACK应答
DHCP数据包捕获_第7张图片

最后,服务器用DHCP ACK报文对DHCP请求报文进行响应,证实所要求的参数。
至此,整个IP请求分配过程就完成了,客户端能够在租用期内使用DHCP分配的IP地址。

你可能感兴趣的:(网络编程)