[Mono-list] How to get the DNS server address?

chenxing cxcxcxcx at gmail.com
Fri Nov 28 07:53:03 EST 2008


Hello. I want to get the default DNS server address currently used. In
Windows and .Net 2.0 , I can get it with the following code:

public static IPAddressCollection DiscoverDnsServerAddresses()
{
  NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
  foreach (NetworkInterface nic in nics)
  {
    if ( (nic.OperationalStatus == OperationalStatus.Up) && (nic.Speed > 0)
&&
        (nic.NetworkInterfaceType != NetworkInterfaceType.Loopback)&&
        (nic.NetworkInterfaceType != NetworkInterfaceType.Tunnel))
    {
        return nic.GetIPProperties().DnsAddresses;
    }
  }
  return null;
}

But in mono, nic.GetIPProperties().DnsAddresses; returns a collection with
nothing in it.

I guess it's because that in Linux DNS server address is not configured for
each "Network Interface", but globally by /etc/resolv.conf

I wonder if there are ways to get the DNS Servers Address in Linux with mono
without parse /etc/resolv.conf mannualy? 
-- 
View this message in context: http://www.nabble.com/How-to-get-the-DNS-server-address--tp20733912p20733912.html
Sent from the Mono - General mailing list archive at Nabble.com.



More information about the Mono-list mailing list