これらのコマンドをターミナルに入力して、現在のローカルIPアドレスを解放し、新しいアドレスを割り当てました。
Sudo ipconfig set en0 BOOTP
Sudo ipconfig set en0 DHCP
これは、WiresharkのDHCPパケットのスクリーンショットです。
私が読んでいる本によると、DHCPオファーメッセージは255.255.255.255にブロードキャストする必要があります。そうではなく、ルーターが私のアドレスを知っているのに、それが私にアドレスを与える前に、私は混乱しています。 192.168.1.5は確かに私の古いアドレスです。それは私のMACアドレスを保存し、それを私に与えた古いIPアドレスにマップしますか?ルーター(実際には任意のDHCPサーバー)に新しい異なるIPを強制的に提供することは可能ですか?
DHCPサーバーはDHCP要求からMACアドレスを取得します。実際に正しい宛先に配信されるのはMACアドレスのみであるため、提供されたIPアドレスを応答パケットのIPヘッダー(およびDHCPペイロード)に含めることができます。
更新(ウィキペディア)
DHCPサーバーがクライアントからDHCPDISCOVERメッセージ(IPアドレスリース要求)を受信すると、サーバーはクライアントのIPアドレスを予約し、DHCPOFFERメッセージをクライアントに送信してリースオファーを行います。このメッセージには、クライアントのMACアドレス、サーバーが提供しているIPアドレス、サブネットマスク、リース期間、および提供を行っているDHCPサーバーのIPアドレスが含まれています。
Wiresharkサンプル からのリクエスト(DHCP DISCOVER)があります
00:0b:82:01:fc:42から来て、ff:ff:ff:ff:ff:ff(ブロードキャストアドレス)に移動することに注意してください
関連するRFC が言うことにも注意してください
- クライアントは、ローカルの物理サブネットでDHCPDISCOVERメッセージをブロードキャストします。 DHCPDISCOVERメッセージには、ネットワークアドレスとリース期間の値を提案するオプションが含まれる場合があります。 BOOTPリレーエージェントは、同じ物理サブネット上にないDHCPサーバーにメッセージを渡す場合があります。
クライアントは、DHCPサーバーに、チェリーを上にして、オフにする前に昨日使用したIPアドレスを割り当ててもよいかどうかを尋ねることができます。 DHCPサーバーは、そのアドレスが別のクライアントに割り当てられていない場合、これを許可することを検討する場合があります。
返信はこちら(DHCPオファー)
ソースは00:08:74:AD:F1:9Bであり、宛先は00:0b:82:01:fc:42であることに注意してください。
これはすべてLANローカルであるため、IPヘッダーのアドレスフィールドの内容は関係ありません。パケットを目的の場所に到達させるために使用されるのは、イーサネットヘッダーのアドレスフィールドのみです。