2011-01-10 2 views
2

Я хотел бы получить информацию о DHCP-опции 15 на C#. Однако я не хочу звонить через dhcpsapi.dll, потому что я не хочу ограничиваться только серверами Windows DHCP. Есть ли другой способ получить информацию DHCP через C#, или мне нужно будет это сделать вручную?Как получить информацию о DHCP на C#?

+0

Похож дубликатом http://stackoverflow.com/questions/3986982/dhcp-request-packet-in-c, что предполагает, что вам, возможно, понадобится скопировать его в RFC –

+0

. Вот пример в Power Shell http://www.indented.co.uk/index.php/2010/02/17/dhcp-discovery/, который вы могли бы конвертировать в C#. – Zachary

+0

Вы хотите узнать активное доменное имя (вариант 15) на своем локальном компьютере или хотите запросить серверы dhcp в сети, чтобы узнать, что они предоставляют? – sisve

ответ

0

Вы можете использовать WMI и класс Win32_NetworkAdapterConfiguration. Один из доступного полей Возвращается DNSHostName, который, как представляется, DHCP опции 15.

ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'") ; 
ManagementObjectCollection queryCollection = query.Get(); 
foreach(ManagementObject mo in queryCollection) 
{ 
    string dnsName = (string[])mo["DNSHostName"]; 
    Console.WriteLine("IP Address: {0}", ipaddress); 
}