图解DHCP工程抓包的过程
创始人
2024-07-15 07:01:25
0

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

它的工作过程是这样的:

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

如果client不是***次登陆网络,他会把他上次使用过的ip封装在option50(windows 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 地址请求过程,从而出现网络中断,关于租约时间太短而出现的网络中断问题请参考我的报告。#p#

通过上面的分析我们发现DHCP过程中的报文几乎全是广播包,只能在同一个网段中传播,但是如果网络中划分了数个vlan呢?有两种解决方法:

1,  在每个vlan中安装一台DHCP server,这种方法适合在特别大型的网络中使用。

2,  只安装一台DHCP server,通过使用DHCP relay来中继DHCP报文。

DHCP relay原理:

DHCP Relay 为在DHCP Server 和DHCP Client 间传输DHCP 报文的设备。局域网内的Client 可以通过DHCP Relay 与其他子网的DHCP Server 通信,最终取得合法的IP 地址。这样,多个网络上的DHCP Client 可以使用同一个DHCP Server,既节省了成本,又便于进行集中管理。以下是DHCP relay的工作过程。

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

Client 和Relay 间的所有报文,从初始状态获取IP 地址时,discover和request都是广播的,offer 和ack 根据请求报文中的广播标志位来决定广播还是单播,如果请求标注位为广播,则offer 和ack 就是广播的,否则就是单播的。所以不能说一定就是广播的。到达50%lease 续租时,request 和ack 都是单播的。使用DHCP Relay 进行地址申请时的步骤与直接进行地址申请的步骤类似,只是Relay 路由器收到Client 的请求报文后,将收到该报文的接口的地址填入该报文,然后进行单播转发。Server 根据该接口的地址来确定分配给Client 地址的网段,即分配的IP 地址与Relay 路由器收到请求报文的接口的地址属同一网段。当收到来自Server 单播的DHCPoffer、DHCPack 或DHCPnak 报文时,DHCPRelay 路由器将会对Client 进行单播传送报文。当DHCP Client 启动并进行DHCP 初始化时,它在本地网络广播配置请求报文。如果本地网络存在DHCP Server,则可以直接进行DHCP 配置,不需要DHCP Relay。如果本地网络没有DHCP Server,但有DHCP Relay 设备,此设备收到该广播报文后,进行适当处理,即将收到报文的接口的地址填入该报文,并单播转发给指定的、其它物理子网的DHCP Server。DHCP Server 根据Client 提供的信息进行相应的配置,并通过DHCPRelay 将配置信息发送给Client,完成对Client 的动态配置。

为了更好的学习DHCP relay我构建了如下试验拓扑:

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

如上所示,ROUTER上架设了DHCP server,地址是192.168.2.1它有两个地址池分别是

  1. ip dhcp server pool fox1  
  2. network 192.168.1.0 255.255.255.0  
  3. default-router 192.168.1.1  
  4. ip dhcp server pool fox2  
  5. network 192.168.3.0 255.255.255.0  
  6. default-router 192.168.3.1 

在SW上有两个用户vlan,分别是vlan10 和vlan30,SW(三层交换机)上,地址分别是192.168.1.5和 192.168.3.5 。用SW作DHCP relay#p#

DHCP工程抓包如下:

1,寻找DHCP server,vlan30 client端报文如下:

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

server端报文如下:

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

2,DHCP server发送offer给客户端

vlan30 client截包如下:

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

DHCP server截包如下:

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

3,client端决定接受该ip地址,响应了DHCP server

client端截包如下:

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

DHCP server端截包如下:

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

4,DHCP server确认了client端的响应,正式完成了整个DHCP过程。

client端截包如下:

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

DHCP server端截包如下:

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

整个DHCP工程抓包过程完成了,如上lease是24hours。

当vlan30的用户漫游至vlan10时会被分配到vlan10相对应的地址。截包如下:

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

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...