我一直在尋找相當長的一段時間,似乎無法在C#中找到有效的DHCP客戶端實現示例。我是品牌spankin'網絡編程的新手,但我正在做一些研究,需要我編寫手動DHCP客戶端,並在沒有DHCP服務器的情況下實施Auto-IP。什麼API可用於發送DHCP發現,請求和確認?
任何代碼示例,或內置的C#類的名稱,可以幫助我與此讚賞。
我一直在尋找相當長的一段時間,似乎無法在C#中找到有效的DHCP客戶端實現示例。我是品牌spankin'網絡編程的新手,但我正在做一些研究,需要我編寫手動DHCP客戶端,並在沒有DHCP服務器的情況下實施Auto-IP。什麼API可用於發送DHCP發現,請求和確認?
任何代碼示例,或內置的C#類的名稱,可以幫助我與此讚賞。
你不會去找那個;原因是「安全」。
常規的網絡API允許您處理Level-3或更高,但是 DHCP客戶端必須能夠處理Level-2;即用於在DHCP DISCOVERY數據包上廣播到MAC FF:FF:FF:FF:FF:FF
出於安全原因,Microsoft今天不允許您在如此低的級別製作以太網包。
您不能使用原始套接字;讀到這裏爲什麼:
侷限在原始套接字
http://msdn.microsoft.com/en-us/library/ms740548(v=vs.85).aspx
您可以在PC上安裝的驅動程序pccap,並使用該API發送原始數據包
我不知道該怎麼做在C#中,但你應該查找「原始套接字」。 –
所以你最終得到了什麼? – Gobliins
我最終意識到微軟的操作系統不允許我們進行低層次的調用,將我們的IP廣播給DHCP。操作系統爲我們處理,我們只是問它我們的IP是什麼。手動執行只能在其他操作系統上完成。至少這是我目前對它的理解。再一次,我對與網絡有關的所有事情都很陌生。我在某種程度上能夠避免過去15年的編程網絡:-) – Curtis