DHCP 服务器套接字接口



这可能是一个愚蠢的查询,但我正在寻找确认。

我计划实现一个基于一些典型客户需求的DHCP服务器。为此,我在使用 RAW 套接字与 DGRAM 套接字之间有点困惑。 我的理解是,服务器可以通过 DGRAM 套接字实现,假设所有 DHCP 回复都可以处理,而 DHCP 客户端需要 RAW 套接字,因为它在服务器提供 IP 地址之前没有 IP 地址。

我对这几点的理解正确吗?

进一步挖掘后,服务器正在发送DHCP报价消息,其中包含客户端的Mac地址作为一个选项(chaddr)。阿法克;仅使用 RAW 套接字的服务器应用程序可以获取 DHCP 客户端计算机的 MAC 地址。有没有可能,我们可以请求内核(TCP/IP堆栈)将mac地址传递给通过DGRAM套接字运行的应用程序吗?感谢您的关注!!

好的。经过进一步的协议分析;DHCP 客户端 it-self 正在发送 DISCOVERY 数据包中的 MAC 地址。因此;不需要RAW套接字,使用DGRAM套接字本身,我们可以实现DHCP服务器。

最新更新