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



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

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

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

我已经在类中初始化了discoverdhcp包的主体,您可以检查它的结构(大小,右字段)。

那么,怎么了?

谢谢,向致以最诚挚的问候

使用BinaryFormatter不会达到预期效果。它将生成一个未指定格式的字节序列。关于该字节序列,唯一的保证是可以将其反序列化为类似于原始字节的对象。很可能它看起来根本不像DHCP数据包。

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

最新更新