wiressharkip协议报文分析说明 wireshark 协议分析_IP


DHCP交互过程共分为4步

第一步:Client端在局域网内发起一个DHCP Discover包,目的是想发现能够给它提供IP的DHCPServer。

第二步:可用的DHCPServer接收到Discover包之后,通过发送DHCPOffer包给予Client端应答,意在告诉Client端它可以提供IP地址。

第三步:Client端接收到Offer包之后,发送DHCPRequest包请求分配IP。

第四步:DHCPServer发送ACK数据包,确认信息。

Wireshark抓包分析

先断开主机的网络连接,然后再连接网络。DHCP(DynamicHost ConfigurationProtocol),动态主机配置协议,是一个应用层协议。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网。

DHCPClient:DHCP客户端,通过DHCP协议请求IP地址的客户端。DHCP客户端是接口级的概念,如果一个主机有多个以太接口,则该主机上的每个接口都可以配置成一个DHCP客户端。交换机上每个Vlan接口也可以配置成一个DHCP客户端。
DHCPServer:DHCP服务端,负责为DHCP客户端提供IP地址,并且负责管理分配的IP地址。
DHCPRelay:DHCP中继器,DHCP客户端跨网段申请IP地址的时候,实现DHCP报文的转发功能。

wiressharkip协议报文分析说明 wireshark 协议分析_IP_02


wiressharkip协议报文分析说明 wireshark 协议分析_DHCP_03


wiressharkip协议报文分析说明 wireshark 协议分析_wireshark_04

DHCP Discover数据包

在Discover阶段,可以看出客户端发出的是广播复制。可以看出DHCP是基于UDP协议的,采用67(DHCP服务器端)和68(DHCP客户端)两个端口号。

DHCP Offer包

当DHCP服务器收到一条DHCPDiscover数据包时,用一个DHCPOfferr包给予客户端响应。 这一数据报中客户客户端获取到了最重要的IP地址信息。除此之外,服务器还发送了子网掩码,路由器,DNS,域名,IP地址租用期等信息。
DHCP服务器仍然使用广播地址作为目的地址,因为此时请求分配IP的Client并没有自己ip,而可能有多个Client在使用0.0.0.0这个IP作为源IP向DHCP服务器发出IP分配请求,DHCP也不能使用0.0.0.0这个IP作为目的IP地址,于是依然采用广播的方式,告诉正在请求的Client们,这是一台可以使用的DHCP服务器。

DHCP Request包

当Client收到了DHCPOffer包以后(如果有多个可用的DHCP服务器,那么可能会收到多个DHCPOffer包),确认有可以和它交互的DHCP服务器存在,于是Client发送Request数据包,请求分配IP。

此时的源IP和目的IP依然是0.0.0.0和255.255.255.255。

wiressharkip协议报文分析说明 wireshark 协议分析_服务器_05

DHCP ACK包

服务器用DHCPACK包对DHCP请求进行响应。

DHCP缺点

DHCP可以很好的进行IP地址的分配,但是DHCP协议已存在一些缺点,如:

1、DHCP协议不支持跨网段进行地址分配

2、DHCP协议不能获取非DHCP客户端的IP地址,在地址池设置不合理的情况下可能会造成地址冲突。

基于上述的缺陷,我们需要合理对IP地址池进行设置,并预留一些IP地址,分配给需要固定IP的服务器。