2

[解決済み] DHCP サーバーへのクライアントとして DHCP パケットを手動で構築しています。これまでのところ、DHCPDISCOVER パケットを送信し、サーバーから DHCPOFFER を受信することができました。しかし、DHCPREQUEST を送信すると、予想される DHCPACK がまったく受信されません。

DHCPDISCOVER: http://digitalphoenix.info/uploads/so/dhcpDiscover.jpg

DHCPOFFER: http://digitalphoenix.info/uploads/so/dhcpOffer.jpg

DHCPREQUEST: http://digitalphoenix.info/uploads/so/dhcpReq.jpg

(上記では、ハニーポット デーモンは 192.168.0.2、DHCP サーバーは 192.168.0.1、クライアント A (192.168.0.6) は存在しない 192.168.0.106 をプローブしようとしています。「192.168.0.106」のリースを取得しようとしています)

次の理由により、DHCP サーバーは ACK をまったく送信しないと推測しています。

1) DHCP サーバーが 192.168.0.106 のアクティブなリースを表示しない

2) DHCP サーバーは通常、ACK を送信して可用性をプローブする前に、要求された IP に ARP 要求を送信します (テスト済み) (ARP 要求は送信されません)。

したがって、問題は DHCP 要求パケットがドロップまたは拒否されることにあります...? NACKすら出ない

背景: 仮想の高相互作用ハニーポット (VM) に代わって IP アドレスを動的に割り当てるハニーポット デーモンを作成しています。応答のない ARP 要求をリッスンし、dest を受け取ります。IP とその特定の宛先をリースしようとします。次に使用するバインドされていないハニーポットの DHCP サーバーからの IP アドレス。リースが確認されると、デーモンは最終的にソースに ARP 応答を返します。ハニーポットは別のサブネットに存在し、ホスト マシンと同じサブネット内に論理的に配置することが目標です。そこから、デーモンはバインドされたハニーポットのすべての発信/着信トラフィックを担当します。イーサネット フレームの src addr は、ハニーポット デーモン/ホストの MAC です。ただし、bootp で指定される MAC は完全に任意です。

編集: UDP チェックサムが空であることに気付きましたが、wireshark が udp チェックサムの検証を無効にしているため、これに気付きませんでした。これは必要ですか?DHCPDISCOVER にはそれがありませんでしたが、とにかく応答がありましたか? 何が問題を引き起こしているのかについての小さな提案でも大歓迎です、ありがとう

edit2: UDP チェックサムを修正しましたが、問題はまだ存在します

追加情報: 192.168.0.0/24 リース範囲 2-254

wireshark キャプチャ / pcap: http://digitalphoenix.info/uploads/so/honeyPotCapture.pcap (偽の MAC とターゲット IP が xxx106 ではなく 192.168.0.109 であること以外は上記と同じ)

最終編集: 修正済み。わたしは目が見えない。RFCがそうしないと言っているのに、サーバーのIPアドレスフィールドが入力されていることが判明しました。良い睡眠ができることは驚くべきことです。

4

0 に答える 0