构建DHCP数据包(DHCPDISCOVER),数据包结构

时间:2012-02-07 01:36:13

标签: tcp udp web packet dhcp

我尝试构建DHCP数据包然后通过UDP发送(" 0xff.0xff.0xff.0xff",67端口)。

我已成功连接到我的DHCP服务器,但我遇到了第一个数据包结构(DHCPDISCOVER)的问题,但我已经从RFC&&amp ;; Wiki,并检查了这些字段的所有字段/大小。

以下是C#中的代码(不要认为,此代码仅用于检查DHCP协议和数据包结构的测试目的):http://pastebin.com/9NXuHyrw

我已经在类中初始化了发现dhcp-packet的主体,你可以检查它的结构(大小,正确的字段)。

那么,出了什么问题?

谢谢, 最诚挚的问候

1 个答案:

答案 0 :(得分:1)

使用BinaryFormatter无法满足您的期望。它将以未指定的格式生成一系列字节。关于该字节序列的唯一保证是您可以将其反序列化为类似于原始对象的对象。它很可能看起来像一样就像DHCP数据包一样。

要获得具有正确数据包结构的字节数组,您必须在MemoryStream上使用BinaryWriter并手动编写每个字段。