如何在C#中获取当前的DNS服务器?

如何在C#中获取当前的DNS服务器?

有关示例代码,请参阅IPInterfaceProperties.DnsAddresses上的MSDN。

我最近试图做同样的事情,并找到罗伯特辛达尔这个优秀的例子 。

 using System; using System.Net; using System.Net.NetworkInformation; namespace HowToGetLocalDnsServerAddressConsoleApp { class Program { static void Main(string[] args) { Console.WriteLine(GetDnsAdress()); Console.ReadKey(); } private static IPAddress GetDnsAdress() { NetworkInterface[] networkInterfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface networkInterface in networkInterfaces) { if (networkInterface.OperationalStatus == OperationalStatus.Up) { IPInterfaceProperties ipProperties = networkInterface.GetIPProperties(); IPAddressCollection dnsAddresses = ipProperties.DnsAddresses; foreach (IPAddress dnsAdress in dnsAddresses) { return dnsAdress; } } } throw new InvalidOperationException("Unable to find DNS Address"); } } }