DHCP 客户端实现示例

【问题描述】:

我已经搜索了很长时间,但似乎无法在 C# 中找到有效的 DHCP 客户端实现示例。我是网络编程的新手,但我正在做一些研究,需要我编写手动 DHCP 客户端并在没有 DHCP 服务器的情况下实施 Auto-IP。 我想使用 C# 发送 DHCP 发现数据包以获取另一个 IP 地址

 

DHCP 使用 UDP 作为传输协议,因此您需要发送带有 DHCP 负载的 UDP 数据报。

这里已经回答了如何发送UDP:Sending UDP Packet in C#

DHCP 帧 fromat 在 Internet 上的许多地方都有描述,例如http://www.tarunz.org/~vassilii/TAU/protocols/dhcp/frame.htm

这是另一个 DHCP 服务器示例:http://www.codeproject.com/Articles/20431/A-Small-DHCP-Server-Using-UDP-With-Asynchronous-Ca

不幸的是,似乎没有用于查询 DHCP 服务器的 C# 库,但您可以通过 P/Invoke 使用 WinAPI:DHCP Client API

编辑:经过一番搜索,这里是 WinAPI 调用的 C# 包装器:http://www.rupj.net/portfolio/dhcp-web-services.html 和http://www.pinvoke.net/default.aspx/dhcpsapi/DhcpGetClientInfo.html

客户端消息:https://www.dandelioncloud.cn/article/details/1532878579398635521

 GetAdaptersInfo :https://learn.microsoft.com/zh-cn/windows/win32/api/iphlpapi/nf-iphlpapi-getadaptersinfo?redirectedfrom=MSDN

posted @ 2023-02-10 09:10  分类DHCP  阅读(138)  评论(0编辑  收藏  举报