NCRE-3 计算机等级考试三级网络技术抢救方略:DHCP报文分析相关

DHCP报文分析

DHCP,Dynamic Host Configuration Protocol,动态主机配置协议,是用来进行ip地址的动态分配的一种方式。由网络站点提出DHCP请求,从DHCP服务器上自动获取一个TCP/IP属性信息,如ip地址,默认网关,域名,dns服务器等。网络站点登出以后,就将地址释放,从而每次的ip地址都可能是不同的。动态地址分配可以有效的利用ip地址资源。

考核方式是通过ipconfig /… 相关命令得到的结果进行分析

ipconfig /all 查看本地连接的tcp/ip参数
ipconfig /release 释放动态获取的tcp/ip参数
ipconfig /renew 重新获取tcp/ip参数

physical addr:48bit,分成6组,每组一个byte,写成两个十六进制数hex,如:1c:1b:0d:e5:04:55
DHCP enable:yes 表示动态获取ip
DHCP server:DHCP服务器的地址

DHCP工作流程

Client / Server

这里写图片描述

客户端 首次获取 TCP/ip的过程:discover,offer,request,ack

这4次交互都是用广播的方式进行,因为这个过程中client还没有ip地址,要进行获取。

discover:源地址0.0.0.0,目的255.255.255.255,找dhcp服务器

offer:源地址服务器地址,目的255.255.255.255,提供tcp/ip配置参数

request:广播,确定与此dhcp建立关系,并协商租约(此处之所以广播是因为要告知其他的dhcp server,选择了该dhcp,其他可以释放)

ack:确认应答。

报文分析

首次获取TCP/IP参数

四步都是广播发送。

报文摘要中 DHCP:requestDHCP:reply 分别代表客户端发起和服务器的回复。Type中是具体的是哪一种,discover,offer,request,ack。

boot record type = 2 (reply) , 1 (request)
分别表示服务器回应和客户端的请求

Client self-assigned address = [ 0.0.0.0 ]
由于是首次分配,所以没有ip地址,用0.0.0.0

Client address 根据用ipconfig查到的信息,就是ip address。

客户端刷新TCP/IP参数

首先Client发一个DHCP request,然后服务器DHCP ack。
这两次交互都是单播发送 。(因为已有ip地址)

执行ipconfig /renew 以后的报文分析:

目的地址单播,所以request是从Client ip到DHCP server ip,reply反之。

hardware address length : 6 bytes

客户端硬件地址可以在ipconfig /all中可以找到,这里注意DHCP报文中是无短横线连接的,直接十六进制数排好即可。

客户端重新获取TCP/IP参数

先释放 /release 再 /renew。

由于首先需要请求释放,所以有五次交互: request,discover,offer,request,ack

这里的第一个request是从已有的客户端ip到服务器的ip,是一个单播报文。

之后和首次获取一样,广播,并且客户端源地址为0.0.0.0

举个栗子:

这里写图片描述

执行了release 和 renew以后的报文:

这里写图片描述

只要还能在雨后的苹果树下呼吸,就还可以生活。 —— 作家,亚历山大 索尔仁尼琴

2018年03月23日15:44:36

原文地址:https://www.cnblogs.com/morikokyuro/p/13256771.html