web-dev-qa-db-ja.com

DHCPオファーはすでに私のローカルIPアドレスに送信されています

これらのコマンドをターミナルに入力して、現在のローカルIPアドレスを解放し、新しいアドレスを割り当てました。

Sudo ipconfig set en0 BOOTP
Sudo ipconfig set en0 DHCP

これは、WiresharkのDHCPパケットのスクリーンショットです。

enter image description here

私が読んでいる本によると、DHCPオファーメッセージは255.255.255.255にブロードキャストする必要があります。そうではなく、ルーターが私のアドレスを知っているのに、それが私にアドレスを与える前に、私は混乱しています。 192.168.1.5は確かに私の古いアドレスです。それは私のMACアドレスを保存し、それを私に与えた古いIPアドレスにマップしますか?ルーター(実際には任意のDHCPサーバー)に新しい異なるIPを強制的に提供することは可能ですか?

2
sanjihan

DHCPサーバーはDHCP要求からMACアドレスを取得します。実際に正しい宛先に配信されるのはMACアドレスのみであるため、提供されたIPアドレスを応答パケットのIPヘッダー(およびDHCPペイロード)に含めることができます。

更新(ウィキペディア)

DHCPサーバーがクライアントからDHCPDISCOVERメッセージ(IPアドレスリース要求)を受信すると、サーバーはクライアントのIPアドレスを予約し、DHCPOFFERメッセージをクライアントに送信してリースオファーを行います。このメッセージには、クライアントのMACアドレス、サーバーが提供しているIPアドレス、サブネットマスク、リース期間、および提供を行っているDHCPサーバーのIPアドレスが含まれています。

リクエスト

Wiresharkサンプル からのリクエスト(DHCP DISCOVER)があります

enter image description here

00:0b:82:01:fc:42から来て、ff:ff:ff:ff:ff:ff(ブロードキャストアドレス)に移動することに注意してください

関連するRFC が言うことにも注意してください

  1. クライアントは、ローカルの物理サブネットでDHCPDISCOVERメッセージをブロードキャストします。 DHCPDISCOVERメッセージには、ネットワークアドレスとリース期間の値を提案するオプションが含まれる場合があります。 BOOTPリレーエージェントは、同じ物理サブネット上にないDHCPサーバーにメッセージを渡す場合があります。

クライアントは、DHCPサーバーに、チェリーを上にして、オフにする前に昨日使用したIPアドレスを割り当ててもよいかどうかを尋ねることができます。 DHCPサーバーは、そのアドレスが別のクライアントに割り当てられていない場合、これを許可することを検討する場合があります。

応答

返信はこちら(DHCPオファー)

enter image description here

ソースは00:08:74:AD:F1:9Bであり、宛先は00:0b:82:01:fc:42であることに注意してください。

これはすべてLANローカルであるため、IPヘッダーのアドレスフィールドの内容は関係ありません。パケットを目的の場所に到達させるために使用されるのは、イーサネットヘッダーのアドレスフィールドのみです。

1
RedGrittyBrick