当我在http://www.ietf.org/rfc/rfc2131.txt看到DHCP RFC时,它表示租用时间和服务器标识符字段属于选项。 DHCP数据包中的哪些位实际代表这些字段?
答案 0 :(得分:0)
无法为您提供特定的字节偏移量 - 您必须插入数据包的“选项”部分。选项可以按任何顺序给出。
在此处查看选项的定义:http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#DHCP_options
选项是可变长度八位字符串。第一个八位字节是 选项代码,第二个八位字节是以下八位字节的数量和 剩余的八位字节取决于代码。
因此,如果您要解码DHCPOFFER数据包,则需要从Options部分的开头(八位字节偏移812到整个DHCPOFFER数据包)开始,并解释每个选项(代码,长度,数据)直到结束的包。然后查看哪个Option的代码为51(租约时间),后跟长度八位字节值为4,然后是4个八位字节的数据,或者54(服务器标识符)再次跟随长度为4和4个八位字节的数据。