最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

DHCP报文分析

来源:动视网 责编:小OO 时间:2025-10-01 10:06:36
文档

DHCP报文分析

DHCP报文分析一、在windows下对DHCP过程的抓包进步骤:1、首先打开wireshark进行抓包;2、在cmd中执行ipconfig/release,该命令的作用是用来释放IP,如果出现如下提示信息,表明本地连接没有设置成自动获取;在网络连接中将本地连接设成自动获取,再次执行ipconfig/release,释放IP成功。Wireshark抓包如图:3、执行命令ipconfig/renew,发起一个DHCP过程,分析从这里开始。DHCP通常有Discover、Offer、Request
推荐度:
导读DHCP报文分析一、在windows下对DHCP过程的抓包进步骤:1、首先打开wireshark进行抓包;2、在cmd中执行ipconfig/release,该命令的作用是用来释放IP,如果出现如下提示信息,表明本地连接没有设置成自动获取;在网络连接中将本地连接设成自动获取,再次执行ipconfig/release,释放IP成功。Wireshark抓包如图:3、执行命令ipconfig/renew,发起一个DHCP过程,分析从这里开始。DHCP通常有Discover、Offer、Request
DHCP报文分析

一、在windows下对DHCP过程的抓包进步骤:

1、首先打开wireshark进行抓包;

2、在cmd中执行ipconfig /release,该命令的作用是用来释放IP,如果出现如下提示信息,表明本地连接没有设置成自动获取;

在网络连接中将本地连接设成自动获取,再次执行ipconfig /release,释放IP成功。

Wireshark抓包如图:

3、执行命令ipconfig /renew,发起一个DHCP过程,分析从这里开始。

DHCP通常有Discover、Offer、Request、Ack四个阶段,wireshark抓包如下:

此外还有重新登陆和更新租约,这里不作解释。

二、DHCP协议的报文格式如下,括号内为长度:

OP(1)Htype(1)Hlen(1)Hops(1)
Transaction  ID(4)
Seconds(2)Flags(2)
Ciaddr(4)
Yiaddr(4)
Siaddr(4)
Giaddr(4)
Chaddr(16)
Sname()
File(128)
Options(variable)
下面结合在windows下对DHCP过程的抓包进行分析:

I、现在,客户机没有地址,它就会发出一个DHCP Discover报文,该报文是广播报文,所有的具有DHCP Server功能的服务器都会收到该报文。

dhcp有8种类型的报文,每种报文的格式相同,只是报文中的某些字段取值不同。dhcp报文格式基于bootp(引导程序协议)的报文格式

Bootstrap Protocol(Discover) 表明发送的是Discover报文。

1、Message type(opt):消息类型,为1时表示是Client的请求,为2时表示是Server的应答;

2、Hardware type(Htype):Client 的网络硬件地址类型,0x01表示Client 的网络硬件是10MB的以太网类型(Ethernet);

3、Hardware address length(Hlen):Client 的网络硬件地址长度,6表示Client 的网络硬件地址长度是6bytes(即以太网类型的6 bytes的MAC地址);

注:MAC地址,也叫硬件地址,是由48比特/bit长(6字节/byte,1byte=8bits),16进制的数字组成.0-23位叫做组织唯一标志符(organizationally unique,是识别LAN(局域网)节点的标识。24-47位是由厂家自己分配.其中第40位是组播地址标志位。

4、HOPS:跳数,即经过的中继数,表示当前的DHCP报文经过的DHCP RELAY(中级)的数目,每经过一个DHCP中继,此字段就会加1,此字段的作用是DHCP报文不要经过太多的DHCP RELAY,协议规定,当“hops”大于4(现在也有规定为16)时,这个DHCP报文就不能再进行处理,而是丢弃;

5、Transaction id:事务ID,Client每次发送DHCP请求报文时选择的随机数,用来匹配server的响应报文是对哪个请求报文的响应。Client会丢弃“ID”不匹配的响应报文。

可以总结一下:第一个报文Relase的Transaction ID:0x50488e40

              第二个报文discover的Transaction ID: 0x71936d7d

              第三个报文offer的Transaction ID: 0x71936d7d

              第四个报文Requst的Transaction ID: 0x71936d7d

              第五个报文ack的Transaction ID: 0x71936d7d

6、Seconds elapsed(Seconds):秒数,用来表示client开始DHCP请求后的时间流逝秒数;

7、Bootp flags(Flags):标志,在 BOOTP中此字段是保留不用的,在DHCP协议中也只使用了其左边的最高位;

8、Client IP address(Cliaddr):客户机IP地址;

9、Your (client)IP address(Yiaddr):分配给client的IP地址;

10、Next Server IP address(Siaddr):服务器IP地址;

11、Relay Agent IP address(Giaddr):中继代理IP地址;

12、Client MAC address(Chaddr):客户机硬件地址MAC;

13、Client hardware address padding:客户机硬件MAC填充地址;

14、Host name(Sname): 服务器的主机名;

15、Boot file name(File):Client的启动配置文件名;

16、Magic cookie:是魔术使用cookie是服务器可以知道该用户是否合法用户以及是否需要重新登录;

17、Options选项:括号内的53是该选项的注册code,用来标识一个选项。如果用户想要在发送或接收的报文中添加选项,则需在程序中增加独一无二的选项code。

Dhcp message typecode = 53, length = 1, value= 1-8,此字段表示DHCP报文类型。

18、Discover过程选项包括:

1)消息类型:

2)client MAC:

3)Request IP Address:申请的IP地址

4)Host name:

,即主机名称;

5)Parameter Request List:

等信息。

DHCP是基于UDP的过程,客户端发启的bootpc端口是68,目标端口是67

II、所有被广播到的服务器收到DHCP DISCOVER报文后都会发送DHCP offer报文,向客户机提供IP地址供其选择 (cisco用单播来实现),Tp-link使用的是组播实现;

报文Offer:

Message type:为2,即服务器回复客户端;

Your (client)IP address:即服务器给客户端提供的IP地址;

Client MAC address:表示客户端的MAC地址;

选项也和Discover报文中的有所不同,包括:

Message type:

Renewal Time Value:,即想要继续租约原来分配的IP地址,则提出续约申请的期限为4天;

Rebinding Time Value:,即如果上次申请续约失败,再次申请绑定原来分配到的IP地址的期限为7天;

IP Address Lease Time:,即租约时间;

DHCP Server Identifier:即服务器IP地址;

Router:,即跳数;

III、客户端收到服务器提供的IP地址后会从中选择一个,然后广播发送DHCP request报文,告诉服务器选择了IP地址,并拒绝其他服务器的IP地址。客户端还没有IP地址故采用广播发送。

值得注意的是这个报文的选项中增加了选项Server IP:表明选择了该服务器提供的IP地址

IV、服务器收到DHCP REQUEST确认数据报之后也会回答客户机,即发送DHCP ACK报文,确认客户端申请IP地址成功。没有被选中的服务器就将自己提供的IP地址收回。cisco用得也是广播。

文档

DHCP报文分析

DHCP报文分析一、在windows下对DHCP过程的抓包进步骤:1、首先打开wireshark进行抓包;2、在cmd中执行ipconfig/release,该命令的作用是用来释放IP,如果出现如下提示信息,表明本地连接没有设置成自动获取;在网络连接中将本地连接设成自动获取,再次执行ipconfig/release,释放IP成功。Wireshark抓包如图:3、执行命令ipconfig/renew,发起一个DHCP过程,分析从这里开始。DHCP通常有Discover、Offer、Request
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top