精华内容
下载资源
问答
  • DHCP报文

    2018-02-26 11:08:53
    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)使用UDP协议工作,采用67(DHCP服务器文)和68(DHCP...DHCP客户端向DHCP服务器发送的报文称之为DHCP请求报文,而DHCP服务器向DHCP客户端发送的报...

     

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)使用UDP协议工作,采用67(DHCP服务器文)和68(DHCP客户端)两个端口号。546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务。

    DHCP客户端向DHCP服务器发送的报文称之为DHCP请求报文,而DHCP服务器向DHCP客户端发送的报文称之为DHCP应答报文。

    DHCP采用C/S(客户端/服务器)模式,可以为客户机自动分配IP地址、子网掩码以及缺省网关、DNS服务器的IP地址等,并能够提升地址的使用率。

    相关术语:否定应答(称为NAK;或称为NACK;或称为Negative-Acknowledgment)翻译为否定应答或者非应答。这种协议消息在数字通信中被使用。其作用是作为一种确认数据收到的应答,但表明有小错误存在的一种消息信号。 

    1.DHCP报文种类

    DHCP一共有8种报文,分别为DHCP Discover、DHCP Offer、DHCP Request、DHCP ACK、DHCP NAK、DHCP Release、DHCP Decline、DHCP Inform。各种类型报文的基本功能如下:

    DHCP报文类型

    说明

    DHCP Discover

    DHCP客户端在请求IP地址时并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送Discover请求报文,以发现网络中的DHCP服务器。所有收到Discover报文的DHCP服务器都会发送应答报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。

    (0.0.0.0,68) -> (255.255.255.255,67)

    DHCP Offer

    DHCP服务器收到Discover报文后,就会在所配置的地址池中查找一个合适的IP地址,加上相应的租约期限和其他配置信息(如自身IP、网关、子网掩码、DNS服务器等),构造一个Offer报文,发送给DHCP客户端,告知用户本服务器可以为其提供IP地址。但这个报文只是告诉DHCP客户端可以提供IP地址,最终还需要客户端通过ARP来检测该IP地址是否重复。

    (dhcp svr ip,67) -> (255.255.255.255, 68)

    DHCP Request

    DHCP客户端可能会收到很多Offer请求报文,所以必须在这些应答中选择一个。通常是选择第一个Offer应答报文的服务器作为自己的目标服务器,并向该服务器发送一个广播的Request请求报文,通告选择的服务器,希望获得所分配的IP地址。

    (0.0.0.0,68) -> (255.255.255, 67)

    另外,DHCP客户端在成功获取IP地址后,在地址使用租期过去1/2时,会向DHCP服务器发送单播Request请求报文请求续延租约。

    (IP ?,68) -> (dhcp svr ip, 67)

    如果没有收到ACK报文,在租期过去7/8时,会再次发送广播的Request请求报文以请求续延租约。

    (IP ?,68) -> (255.255.255, 67)

    DHCP ACK

    DHCP服务器收到Request请求报文后,根据Request报文中携带的用户MAC来查找有没有相应的租约记录,如果有则发送ACK应答报文,通知用户可以使用分配的IP地址。

    (dhcp svr ip,67) -> (255.255.255.255, 68)
    1/2时的ACK?

    7/8时的ACK?

    DHCP NAK

    如果DHCP服务器收到Request请求报文后,没有发现有相应的租约记录或者由于某些原因无法正常分配IP地址,则向DHCP客户端发送NAK应答报文,通知用户无法分配合适的IP地址。

    DHCP Release

    当DHCP客户端不再需要使用分配IP地址时,就会主动向DHCP服务器发送RELEASE请求报文,告知服务器用户不再需要分配IP地址,请求DHCP服务器释放对应的IP地址。

    (IP ?,68) -> (IP ?,67) 

    DHCP Decline

    DHCP客户端收到DHCP服务器ACK应答报文后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则会向DHCP服务器发送Decline请求报文,通知服务器所分配的IP地址不可用,以期获得新的IP地址。

    DHCP Inform

    DHCP客户端如果需要从DHCP服务器端获取更为详细的配置信息,则向DHCP服务器发送Inform请求报文;DHCP服务器在收到该报文后,将根据租约进行查找到相应的配置信息后,向DHCP客户端发送ACK应答报文。目前基本上不用了。

     

     

    2. DHCP SERVER与CLIENT的标准交互过程1)CLIENT首先发出广播的DHCPDISCOVER报文,广播的目的是让DHCP SERVER能够收到这个请求报文。在这个报文中,CLIENT可以在“选项”字段中加入“request paramter list”选项,表明自己想要获得的各种参数,而且四个IP地址字段都必须为0。
    2)由于DHCPDISCOVER报文是广播,那么所有的DHCP SERVER都能够收到,所有的DHCP SERVER都会响应一个DHCPOFFER报文,其中“你的IP地址”字段就是DHCP SERVER能够提供给CLIENT使用的IP地址,而且DHCP SERVER会把自己的IP地址放在“选项”字段中以便CLIENT区分不同的DHCP SERVER,发出此报文后,在DHCP SERVER上就会存在一个已分配IP地址的记录。
    3)CLIENT能够收到所有的DHCPOFFER报文,但CLIEN只能处理其中的一个,一般的原则是CLIENT接收、处理最先收到的那个DHCPOFFER报文。CLIENT会再发出一个广播的DHCPREQUEST报文,在“选项”字段中会加入选中的DHCP SERVER的IP地址和用户想要的IP地址,之所以广播是因为要通知所有的DHCP SERVER进行相应的处理。
    4)DHCP SERVER收到DHCPREQUEST报文,判断“选项”字段中的DHCP SERVER的IP地址是否与自己的地址相同,不相同,则不做任何处理,如果自己发出过DHCPOFFER报文,则清除相应IP地址记录;当“选项”字段中的DHCP SERVER的IP地址是与自己的IP地址相同时,DHCP SERVER就会响应一个DHCPACK报文,其内容同DHCPOFFER类似,并在“选项”字段中增加了IP地址使用租期选项。
    5、CLIENT收到DHCPACK报文后(经过上面的处理后,有且只有一个DHCPACK报文),会检查DHCP SERVER分配给自己的IP地址是否能够使用,如在以太网类型的网络中,CLIENT会发出免费的ARP请求来确定DHCP SERVER分配的IP地址是否已经被别人使用,如果可以使用,则CLIENT成功获得IP地址,并根据IP地址使用租期自动启动续延过程。
    6)如果CLIENT发现DHCP SERVER分配的IP地址已经被别人使用,则CLIENT会发出DHCPDECLINE报文通知DHCP SERVER禁用这个IP地址以免引起IP地址冲突。然后CLIENT又开始新的DHCP过程,从第1步开始。
    7)当CLIENT成功获取IP地址后,会根据IP地址使用租期自动启动续延过程,在使用租期过去50%时刻处,向DHCP SERVER发送单播DHCPREQUEST报文续延租期,如果成功即收到DHCP SERVER的DHCPACK报文,则租期相应向前延长,如果失败即没有收到DHCPACK报文,则CLIENT继续使用这个IP地址。在使用租期过去87.5%时刻处,向DHCP SERVER发送广播DHCPREQUEST报文续延租期,如果成功即收到DHCP SERVER的DHCPACK报文,则租期相应向前延长;如果失败即没有收到DHCPACK报文,则CLIENT继续使用这个IP地址。在使用租期到期时,CLIENT应自动放弃使用这个IP地址,并开始新的DHCP过程,从第1步开始。
    8、CLIENT在成功获取IP地址后,随时可以通过发送DHCPRELEASE报文释放自己的IP地址,DHCP SERVER收到DHCPRELEASE报文后,会回收相应的IP地址重新分配。
    当存在DHCP RELAY时,所有的DHCP报文都会经过DHCP RELAY进行转发,整个DHCP交互过程同上面类型,只是在报文封装时,稍有不同。
    由上面的叙述可以看出,DHCP SERVER的行为完全由CLIENT来驱动,DHCP SERVER无法控制CLIENT的行为。因此DHCP协议的安全性比较差。

     

     

     

     

     

     

     

    展开全文
  • 易语言模拟DHCP报文源码,模拟DHCP报文,Binary2String,Byte2Hex,GetAdapterMac,String2Binary,checksum,Ethernet报文,IP报文,UDP报文,Discover,Request,Release,Request_续期,addr2str,字节集反转,解析Options,获取...
  • DHCP报文类型

    2012-12-14 18:00:30
    DHCP协议报文讲解 DHCP报文类型
  • dhcp报文共享

    2013-12-25 18:06:07
    dhcp报文共享
  • 易语言模拟DHCP报文源码
  • DHCP报文种类

    2021-05-08 14:03:00
    DHCP报文种类 DHCP一共有8中报文,各种类型报文的基本功能如下: 报文类型 说明 Discover(0x01) DHCP客户端在请求IP地址时并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送Discover...

    DHCP报文种类

    DHCP一共有8中报文,各种类型报文的基本功能如下:

    报文类型 说明
    Discover(0x01) DHCP客户端在请求IP地址时并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送Discover请求报文,以发现网络中的DHCP服务器。所有收到Discover报文的DHCP服务器都会发送应答报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。
    Offer(0x02) DHCP服务器收到Discover报文后,就会在所配置的地址池中查找一个合适的IP地址,加上相应的租约期限和其他配置信息(如网关、DNS服务器等),构造一个Offer报文,发送给DHCP客户端,告知用户本服务器可以为其提供IP地址。但这个报文只是告诉DHCP客户端可以提供IP地址,最终还需要客户端通过ARP来检测该IP地址是否重复。
    Request(0x03) DHCP客户端可能会收到很多Offer请求报文,所以必须在这些应答中选择一个。通常是选择第一个Offer应答报文的服务器作为自己的目标服务器,并向该服务器发送一个广播的Request请求报文,通告选择的服务器,希望获得所分配的IP地址。另外,DHCP客户端在成功获取IP地址后,在地址使用租期达到50%时,会向DHCP服务器发送单播Request请求报文请求续延租约,如果没有收到ACK报文,在租期达到87.5%时,会再次发送广播的Request请求报文以请求续延租约。
    Decline(0x04) DHCP客户端收到DHCP服务器ACK应答报文后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则会向DHCP服务器发送Decline请求报文,通知服务器所分配的IP地址不可用,以期获得新的IP地址。
    ACK(0x05) DHCP服务器收到Request请求报文后,根据Request报文中携带的用户MAC来查找有没有相应的租约记录,如果有则发送ACK应答报文,通知用户可以使用分配的IP地址。
    NAK(0x06) 如果DHCP服务器收到Request请求报文后,没有发现有相应的租约记录或者由于某些原因无法正常分配IP地址,则向DHCP客户端发送NAK应答报文,通知用户无法分配合适的IP地址。
    Release(0x07) 当DHCP客户端不再需要使用分配IP地址时(一般出现在客户端关机、下线等状况)就会主动向DHCP服务器发送RELEASE请求报文,告知服务器用户不再需要分配IP地址,请求DHCP服务器释放对应的IP地址。
    Inform(0x08) DHCP客户端如果需要从DHCP服务器端获取更为详细的配置信息,则向DHCP服务器发送Inform请求报文;DHCP服务器在收到该报文后,将根据租约进行查找到相应的配置信息后,向DHCP客户端发送ACK应答报文。目前基本上不用了。
    展开全文
  • DHCP报文解析

    千次阅读 2014-06-05 17:38:17
    DHCP报文是承载于UDP上的高层协议报文,采用67(DHCP服务器)和68(DHCP客户端)两个端口号。DHCP报文的格式如下图所示。 图1 DHCP报文格式 报文中各字段的描述如下: op,报文类型,1表示请求...

    原文章地址:CSDN|huang3838438

    DHCP报文

    DHCP报文是承载于UDP上的高层协议报文,采用67(DHCP服务器)和68(DHCP客户端)两个端口号。DHCP报文的格式如下图所示。

    图1 DHCP报文格式

    < 所有DHCP提供的配置信息都在options字段中,这才是精华部分 >

    报文中各字段的描述如下:

    • op,报文类型,1表示请求报文,2表示回应报文。
    • htype,硬件地址类型,1表示10Mb/s的以太网的硬件地址。
    • hlen,硬件地址长度,以太网中该值为6。
    • hops,跳数。客户端设置为0,也能被一个代理服务器设置。
    • xid,事务ID,由客户端选择的一个随机数,被服务器和客户端用来在它们之间交流请求和响应,客户端用它对请求和应答进行匹配。该ID由客户端设置并由服务器返回,为32位整数。
    • secs,由客户端填充,表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数。
    • flags,标志字段。这个16比特的字段,目前只有最左边的一个比特有用,该位为0,表示单播,为1表示广播。
    • ciaddr,客户端的IP地址。只有客户端是Bound、Renew、Rebinding状态,并且能响应ARP请求时,才能被填充。
    • yiaddr,"你自己的"或客户端的IP地址。
    • siaddr,表明DHCP协议流程的下一个阶段要使用的服务器的IP地址。
    • giaddr,DHCP中继器的IP地址。//注意:不是地址池中定义的网关
    • chaddr,客户端硬件地址。客户端必须设置它的"chaddr"字段。UDP数据包中的以太网帧首部也有该字段,但通常通过查看UDP数据包来确定以太网帧首部中的该字段获取该值比较困难或者说不可能,而在UDP协议承载的DHCP报文中设置该字段,用户进程就可以很容易地获取该值。
    • sname,可选的服务器主机名,该字段是空结尾的字符串,由服务器填写。
    • file,启动文件名,是一个空结尾的字符串。DHCP Discover报文中是"generic"名字或空字符,DHCP Offer报文中提供有效的目录路径全名。
    • options,可选参数域,格式为"代码+长度+数据"。

      DHCP Options

    Option id

    Length(字节)

    描述

    1

    4

    Subnet Mask

    3

    n*4

    Router(网关)

    6

    n*4

    DNS Server

    7

    n*4

    Log Server

    26

    2

    Interface MTU

    33

    n*8

    Static route

    35

    4

    ARP cache timeout

    42

    n*4

    NTP servers

    51

    4

    IP address lease time

    53

    1

    Message type 1-DHCPDISCOVER 2-DHCPOFFER 3-DHCPREQUEST 4-DHCPDECLINE 5-DHCPACK 6-DHCPNAK 7-DHCPRELEASE 8-DHCPINFORM

    54

    4

    DHCP Server Identifier

    60

    n

    华为自定义:可配置该终端设备在发起DHCP请求时,通过Option 60携带域信息。ME60收到DHCP报文时,可根据Option 60中携带的域信息来分配IP地址。

    82

    n

    华为自定义:ME60作为DHCP Relay,在中继用户DHCP报文时,可在Option 82中填写用户的物理位置信息,通知DHCP服务器按物理位置信息对为用户分配IP地址

    DHCP报文类型

    DHCP共有八种报文,分别为DHCP Discover、DHCP Offer、DHCP Request、DHCP ACK、DHCP NAK、DHCP Release、DHCP Decline、DHCP Inform。各报文类型功能如表1所述。

    DHCP报文类型

    描述

    DHCP Discover

    DHCP客户端请求地址时,并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送请求报文,这个报文成为Discover报文,目的是发现网络中的DHCP服务器,所有收到Discover报文的DHCP服务器都会发送回应报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。

    DHCP Offer

    DHCP服务器收到Discover报文后,就会在所配置的地址池中查找一个合适的IP地址,加上相应的租约期限和其他配置信息(如网关、DNS服务器等),构造一个Offer报文,发送给用户,告知用户本服务器可以为其提供IP地址。< 只是告诉client可以提供,是预分配,还需要client通过ARP检测该IP是否重复>

    DHCP Request

    DHCP客户端可能会收到很多Offer,所以必须在这些回应中选择一个。Client通常选择第一个回应Offer报文的服务器作为自己的目标服务器,并回应一个广播Request报文,通告选择的服务器。DHCP客户端成功获取IP地址后,在地址使用租期过去1/2时,会向DHCP服务器发送单播Request报文续延租期,如果没有收到DHCP ACK报文,在租期过去3/4时,发送广播Request报文续延租期。

    DHCP ACK

    DHCP服务器收到Request报文后,根据Request报文中携带的用户MAC来查找有没有相应的租约记录,如果有则发送ACK报文作为回应,通知用户可以使用分配的IP地址。

    DHCP NAK

    如果DHCP服务器收到Request报文后,没有发现有相应的租约记录或者由于某些原因无法正常分配IP地址,则发送NAK报文作为回应,通知用户无法分配合适的IP地址。

    DHCP Release

    当用户不再需要使用分配IP地址时,就会主动向DHCP服务器发送Release报文,告知服务器用户不再需要分配IP地址,DHCP服务器会释放被绑定的租约。

    DHCP Decline

    DHCP客户端收到DHCP服务器回应的ACK报文后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则发送Decline报文,通知服务器所分配的IP地址不可用。

    DHCP Inform

    DHCP客户端如果需要从DHCP服务器端获取更为详细的配置信息,则发送Inform报文向服务器进行请求,服务器收到该报文后,将根据租约进行查找,找到相应的配置信息后,发送ACK报文回应DHCP客户端。< 极少用到>

    参考:华为ME60产品文档及RFC2131/RFC2132


    展开全文
  • dhcp报文类型

    2019-09-18 07:29:37
    dhcp报文类型这个TOM0人评论70人阅读2019-06-19 08:04:51DHCP DiscoverDHCP客户端请求地址时,并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送请求报文,这个报文成为Discover报文,目的是...

    dhcp报文类型
    这个TOM0人评论70人阅读2019-06-19 08:04:51
    DHCP Discover
    DHCP客户端请求地址时,并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送请求报文,这个报文成为Discover报文,目的是发现网络中的DHCP服务器,所有收到Discover报文的DHCP服务器都会发送回应报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。

    DHCP Offer
    DHCP服务器收到Discover报文后,就会在所配置的地址池中查找一个合适的IP地址,加上相应的租约期限和其他配置信息(如网关、DNS服务器等),构造一个Offer报文,发送给用户(可以广播、也可以单播),告知用户本服务器可以为其提供IP地址。(注意,只是告诉client可以提供,是预分配,还需要client通过ARP检测该IP是否重复)

    DHCP Request
    客户端会在两种情况下发送DHCP Request
    1) DHCP客户端可能会收到来自DHCP服务器的很多Offer,所以必须在这些回应中选择一个。Client通常选择第一个回应Offer报文的服务器作为自己的目标服务器,并回应一个广播Request报文,通告选择的服务器。注意,"Client通常选择第一个回应Offer报文的服务器作为自己的目标服务器"这里存在一个安全问题,如果我们的伪DHCP服务器能比原始DHCP服务器先发送Offer数据包,就能达到欺骗的目的,从而劫持目标用户的流量
    2) 获取DHCP客户端成功获取IP地址后,在地址使用租期过去1/2时,会向DHCP服务器发送单播Request报文续延租期,如果没有收到DHCP ACK报文,在租期过去3/4时,发送广播Request报文续延租期。

    DHCP ACK
    DHCP服务器收到Request报文后,根据Request报文中携带的用户MAC来查找有没有相应的租约记录(即之前的预分配过程中登记的那个MAC),如果有则发送ACK报文作为回应,通知用户可以使用分配的IP地址。

    DHCP NAK
    如果DHCP服务器收到Request报文后,没有发现有相应的租约记录或者由于某些原因无法正常分配IP地址,则发送NAK报文作为回应,通知用户无法分配合适的IP地址。

    DHCP Release
    当用户不再需要使用分配IP地址时,就会"主动"向DHCP服务器发送Release报文,告知服务器用户不再需要分配IP地址,DHCP服务器会释放被绑定的租约(在数据库中清除某个MAC对某个IP的租约记录,这样,这个IP就可以分配给下一个请求租约的MAC)

    展开全文
  • DHCP报文格式

    千次阅读 2014-03-04 10:47:04
    DHCP报文 DHCP报文是承载于UDP上的高层协议报文,采用67(DHCP服务器)和68(DHCP客户端)两个端口号。DHCP报文的格式如下图所示。 图1 DHCP报文格式 报文中各字段的描述如下: op,报文类型,1表示请求...
  • DHCP报文抓包分析

    2020-09-10 14:37:20
    DHCP(Dynamic Host Configuration Protocol) 2020年9月10日 by: Bob 一、简介 ​ DHCP(Dynamic Host Configuration ...DHCP报文格式 报文各字段详细介绍 字段 长度(字节) 含义 OP 1 表示报文的类型:
  • dhcp报文.zip

    2020-08-04 11:13:01
    包括我过程中抓取到的dhcp相关报文,包括dhcp relay的,dhcp client and serevr,有需要的可以自己下载分析。软件是wireshark
  • DHCP报文message type类型

    千次阅读 2019-08-23 09:27:35
    DHCP Message Type项:DHCP报文格式共有8种,只需掌握四种,如下: 1. DHCPDISCOVER(01),此为Client开始DHCP过程的第一个报文。 2. DHCPOFFER(02),此为Server对DHCPDISCOVER报文的响应。 3. DHCPREQUEST...
  • DHCP报文内容详解

    2007-08-22 16:43:54
    DHCP报文内容详解.pdf
  • 2.常用的DHCP报文。 ①DHCP DISCOVER 功能: 客户端启动后广播发送,用来寻找DHCP服务器。 具体细节: 当一个DHCP客户端启动后,使用0.0.0.0作为源地址、使用255.255.255.255作为目标地址、使用UDP67端口来广播发送...
  • DHCP报文分析

    千次阅读 2011-11-23 00:39:57
    DHCP报文分析2008-12-16 19:23 DHCP报文分析 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是IETF为实现IP的自动配置而设计的协议,它可以为客户机自动分配IP地址、子网掩码以及缺省网关、DNS...
  • DHCP报文类型和中继

    2019-09-18 06:16:13
    DHCP的封包格式如右图所示,各字段定义如下:FIELD OCTETS DESCRIPTIONDHCP报文格式DHCP报文格式OP:若是 client 送给 server 的封包,设为 1 ,反向为 2。HTYPE硬件类别,Ethernet 为 1。HLEN:硬件地址长度, ...
  • DHCP报文格式和抓包分析,从最简单的报文格式开始分析,从基本上了解DHCP帧内容及其应用场景
  • DHCP报文交换抓包分析

    2019-03-16 10:54:22
    使用wireshark抓包后,通过过滤ip数据包,得到了此次要分析的4个DHCP报文 以下为DHCP Discover 报文,可以看到由于PC此时没有IP,所以原IP地址为0.0.0.0,同时PC不知道自己所在的网段,所以目的IP地址为255.255....
  • 1.boot record type 为1表示客户机请求,即该报文的源地址为客户主机 ...DHCP报文经过的DHCP中继的数目,默认为0。DHCP请求报文每经过一个DHCP中继,该字段就会增加1。没有经过DHCP中继时值为0。(若数据包...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,755
精华内容 8,302
关键字:

dhcp报文