![DHCP 제안이 이미 내 로컬 IP 주소로 전송되었습니다.](https://rvso.com/image/1497071/DHCP%20%EC%A0%9C%EC%95%88%EC%9D%B4%20%EC%9D%B4%EB%AF%B8%20%EB%82%B4%20%EB%A1%9C%EC%BB%AC%20IP%20%EC%A3%BC%EC%86%8C%EB%A1%9C%20%EC%A0%84%EC%86%A1%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
현재 로컬 IP 주소를 해제하고 새 IP 주소를 할당하기 위해 터미널에 다음 명령을 입력했습니다.
sudo ipconfig set en0 BOOTP
sudo ipconfig set en0 DHCP
다음은 Wireshark의 DHCP 패킷 스크린샷입니다.
제가 읽고 있는 책에 따르면 DHCP Offer 메시지는 255.255.255.255로 브로드캐스트되어야 한다고 나와 있습니다. 그것은 사실이 아니며 라우터가 나에게 주소를 부여하기도 전에 어떻게 내 주소를 이미 알고 있는지 혼란스럽습니다. 192.168.1.5는 사실 제 예전 주소입니다. 내 MAC 주소를 저장하고 이를 나에게 제공한 이전 IP 주소에 매핑합니까? 라우터(실제로는 모든 DHCP 서버)가 나에게 새로운 다른 IP를 제공하도록 강제할 수 있습니까?
답변1
음, DHCP 서버는 DHCP 요청에서 MAC 주소를 얻습니다. 실제로 올바른 대상으로 전달되는 것은 MAC 주소뿐이므로 응답 패킷의 IP 헤더(DHCP 페이로드 포함)에 제공된 IP 주소를 포함할 수 있습니다.
업데이트(위키피디아)
DHCP 서버는 클라이언트로부터 IP 주소 임대 요청인 DHCPDISCOVER 메시지를 수신하면 클라이언트의 IP 주소를 예약하고 클라이언트에게 DHCPOFFER 메시지를 보내 임대 제안을 합니다. 이 메시지에는 클라이언트의 MAC 주소, 서버가 제공하는 IP 주소, 서브넷 마스크, 임대 기간 및 제안하는 DHCP 서버의 IP 주소가 포함됩니다.
요구
다음은 요청(DHCP DISCOVER)입니다.Wireshark 샘플
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 헤더의 주소 필드 내용은 부적합합니다. 패킷을 목적지로 보내는 데 사용되는 것은 이더넷 헤더의 주소 필드뿐입니다.