1

DHCP パケットを作成してから、UDP (「0xff.0xff.0xff.0xff」、67 ポート) 経由で送信しようとしています。

DHCP サーバーに正常に接続しましたが、最初のパケット構造 ( DHCPDISCOVER ) に問題がありますが、RFC && Wiki から構築し、これらのフィールドのすべてのフィールド/サイズをバイト単位で確認しました。

C# のコードは次のとおりです (議論しないでください。このコードは、DHCP プロトコルの動作とパケットの構造を確認するためのテスト目的のみです): http://pastebin.com/9NXuHyrw

クラスでdiscover dhcp-packetの本体を初期化しました。その構造体(サイズ、右フィールド)を確認できます。

それで、何が問題なのですか?

感謝をこめて

4

1 に答える 1

1

a を使用してBinaryFormatterも、期待どおりの結果が得られません。指定されていない形式で一連のバイトを生成します。そのバイト シーケンスについて唯一の保証は、元のオブジェクトに似たオブジェクトに逆シリアル化できることです。DHCP パケットのように見えない可能性が非常に高いです。

正しいパケット構造を持つバイトの配列を取得するには、a のBinaryWriter上に aを使用し、MemoryStream各フィールドを手動で書き込む必要があります。

于 2012-02-07T10:18:07.693 に答える