2016-02-27 50 views
1

我一直在尋找相當長的一段時間,似乎無法在C#中找到有效的DHCP客戶端實現示例。我是品牌spankin'網絡編程的新手,但我正在做一些研究,需要我編寫手動DHCP客戶端,並在沒有DHCP服務器的情況下實施Auto-IP。 我想用C#發送DHCP發現數據包以獲得其他IP地址如何使用C#發送dhcp發現數據包?

回答

1

DHCP使用UDP作爲傳輸協議,因此您需要發送帶有DHCP負載的UDP數據報。

如何發送UDP已經在這裏找到答案:Sending UDP Packet in C#

DHCP框架fromat在許多地方在互聯網上描述的如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.htmlhttp://www.pinvoke.net/default.aspx/dhcpsapi/DhcpGetClientInfo.html