这可能是一个愚蠢的查询,但我正在寻找确认。
我计划根据一些典型的客户需求来实现一个 DHCP 服务器。为此目的,我在使用 RAW 套接字和 DGRAM 套接字之间有点困惑。我的理解是服务器可以通过 DGRAM 套接字实现,假设所有 DHCP 回复都可以处理,而 DHCP 客户端需要一个 RAW 套接字,因为在服务器提供 IP 地址之前它没有 IP 地址。
我对这些点的理解正确吗?
伙计们,
在进一步挖掘之后,服务器正在发送 DHCP OFFER 消息,其中包含客户端的 Mac 地址作为一个选项 (chaddr)。AFAIK; 使用 RAW Sockets 的服务器应用程序只能获取 DHCP 客户端机器的 MAC 地址。有没有可能。我们可以请求内核(TCP/IP 堆栈)将 mac 地址传递给通过 DGRAM 套接字运行的应用程序吗?感谢您的关注 !!!