图解DHCP工程抓包的过程(1)


对于DHCP的学习,我们已经开展了一段时间了。那么这里我们就来讲解一下DHCP工程抓包的一些内容。这里我们主要DHCP (Dynamic Host Configuration Protocol)是一种动态的向Internet终端提供配置参数的协议。在终端提出申请之后,DHCP可以向终端提供IP地址、网关、DNS服务器地址等。

它的工作过程是这样的:

1,首先要DHCP discover。客户机drcom)在本网段内广播DHCPdiscover报文以发现网络中的DHCP服务器(T64G),DHCP Relay可将此报文广播到其他的网段。

如果client不是第一次登陆网络,他会把他上次使用过的ip封装在option50windows xp中),如果该地址未被分配,那么DHCP server必须优先为client分配该地址。

详解DHCP工程抓包的原理和过程

2,当 DHCP server监听到客户端发出的 DHCP discover 广播后,它会从那些还没有租出的地址范围内,选择最前面的空置 IP ,连同其它 TCP/IP 设定,响应给client一个 DHCP offer 的报文。

此时DHCP server还会ping一下这个预分配的地址以确保这个地址没有被使用。否则会更换另外的地址给client。在这个DHCP offer中还会包含其它的TCP/IP的设定,不过对于这些设定是否使用由 client决定。(192.168.131.254为DHCP网关地址)

详解DHCP工程抓包的原理和过程

3,如果收到多个DHCPoffer报文,DHCPclient会根据报文的内容从其中选择一个给与响应。此时client还会发送一个免费arp报文再一次检查网络中是否有冲突的地址,

详解DHCP工程抓包的原理和过程

如果有冲突就发送一个DHCP decline报文拒绝DHCP server,并且重新开始DHCP进程。否则就发送一个DHCP request报文给DHCP server来确认接受该ip地址。

4,当 DHCP server接收到client的 DHCP request 之后,会向客户端发出一个 DHCPack 响应,以确认 IP 租约的正式生效。

详解DHCP工程抓包的原理和过程

这时client会进行最后一次免费arp检查,如果没有冲突,也就结束了一个完整的 DHCP 工作过程。

详解DHCP工程抓包的原理和过程

在了解DHCP工程抓包之前,我们再来分析一下以下内容。如果DHCP server不能满足DHCP request报文的要求就必须发送一个DHCP nak报文使client重新DHCP进程。一旦client从DHCP server处取得lease,在lease到期50%前都可以使用,当lease到了87.5%时client使用DHCP request报文来续约,DHCP server则用DHCP ack报文来确认。如果没有收到DHCP server的ack报文,client在lease到期85%时必须再次使用DHCP request报文来续约,DHCP server则用DHCP ack来确认,否则client必须放弃该ip地址。而client想要退约时直接使用DHCP release报文通知DHCP server,DHCP server回收该地址以备下次使用。因此如果租约时间设置太短,client将会频繁想DHCP server续约,当DHCP server来不及响应client的续约请求后就会因为地址老化而需要重新进行DHCP 地址请求过程,从而出现网络中断,关于租约时间太短而出现的网络中断问题请参考我的报告。


相关内容

    暂无相关文章