DHCP过程详解Wireshark的抓包分析

DHCP:Dynamic Host Configure Protocol 动态主机配置协议,简单来说就是主机获得IP地址过程。属于应用层协议。

        DHCP采用UDP的68(客户端)和67(服务器)端口进行通信

【过程】

DHCP过程主要为DHCP Discover -->DHCP Offer --> Request -->DHCP Ack四个过程

              DHCP过程详解Wireshark的抓包分析_第1张图片

通过Wireshark抓取DHCP获取IP过程的数据报文

1.开Wireshark抓包

2.PC已有当前IP,使用cmd命令释放IP(ipconfig /release),并重新获取IP(ipconfig/renew)

                          

                          

3.停止抓包,使用bootp过滤报文。

DHCP过程详解Wireshark的抓包分析_第2张图片

 (1)DHCP Release  释放IP时发出的报文

DHCP过程详解Wireshark的抓包分析_第3张图片

 (2)DHCP Discover

发现阶段:用户发送DHCP Discover消息请求地址,将自己的mac地址封装在DHCP的报文里进行广播寻找DHCP Server,并表示自己需要获得一个IP地址。

获取IP时,PC会发送DHCP Discover 广播报文。由于此时客户端IP被释放,源ip为:0.0.0.0 ;

特别注意的是,PC会随机出一个Transaction ID,如果之后收到的OFFer报文中的Transaction ID与PC模拟出的不同,PC会将该Offer报文直接丢弃。

 (3)DHCP offer报文

提供阶段:响应所受到的DHCP Discover消息,把准备提供的IP地址携带在DHCP offer消息中,并将此消息发送给客户端。

DHCP过程详解Wireshark的抓包分析_第4张图片

 (4)DHCP Require报文

请求阶段:在收到的所有offer中选择接受第一个到达的Offer,并向相应的DHCP Server发送DHCP Request消息,表示自己愿意接受该offer。

DHCP过程详解Wireshark的抓包分析_第5张图片

 (5)DHCP ACK报文

确认阶段:确认在提供阶段所提供的IP地址是否可以分配给客户端。如果可以,则发送DHCP Ack消息。表示IP地址分配成功;如果不可以,则发送DHCP ACK消息。表示IP地址分配失效。

如果收到了DHCP ACK消息,就可以开始使用所分配的IP地址:如果收到了DHCP NAK消息,就表示IP地址获取失败,需要重新进入到发现阶段。

DHCP过程详解Wireshark的抓包分析_第6张图片

 【地址租期】
DHCP服务器提供的每个IP地址都有相应的租用期,在Offer报文中的IP Address Lease Time中可以看到。地址租期时间过长会导致地址资源长期被占用,租期过短会导致DHCP请求包过多,增加网络负担。还要结合当前使用场景来设置。一般来说,对DHCP客户端数量较大,且断开网络比较频繁的场所,如机场、商铺等,一般把DHCP租期配置较短,这样IP地址能很快被回收。

【IP续租过程】
客户端会在地址租期还有1/2的时候,向DHCP服务器发送DHCP Request报文;如果收到服务器的DHCP Ack后,客户端的IP地址租期重新回满。
如果未收到Ack,可继续使用该IP,在租期还有1/4时发出第二次Request报文;如果收到Ack,租期回满;
如果未收到Ack,在租期还有1/8时发出第三次Request报文,如果收到Ack,租期回满
如果未收到Ack,租期结束后IP被回收。

广播与单播:

 DHCP服务器的offer与ack阶段既可以使用单播的方式又可以使用广播的方式,这主要取决于服务器在offer阶段对BROADCAST位的置位情况,如果置位为1,则DHCP服务器使用广播的方式回应,否则使用单播的方式回应。

微软操作系统上的DHCP服务器的回复包即可以是单播,也可以是广播

你可能感兴趣的:(数通,wireshark,p2p,网络)