C#如何获取DNS服务器地址?????

gaozhigang 2008-09-22 01:32:59
C#如何获取DNS服务器地址?????
...全文
1408 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
harveyXXX 2012-08-31
  • 打赏
  • 举报
回复
学习ing
qinzuibaozi 2012-02-24
  • 打赏
  • 举报
回复
学习中。。
sandybeach88 2009-08-28
  • 打赏
  • 举报
回复
thank you very much
Simonzy 2008-09-22
  • 打赏
  • 举报
回复
是2.0中新加的:

下表列出了由 IPInterfaceProperties 类型公开的成员。

受保护的构造函数
名称 说明
IPInterfaceProperties 初始化 IPInterfaceProperties 类的新实例。
页首
公共属性
名称 说明
AnycastAddresses 获取分配给此接口的任意广播 IP 地址。
DhcpServerAddresses 获取此接口的动态主机配置协议 (DHCP) 服务器的地址。
DnsAddresses 获取此接口的域名系统 (DNS) 服务器的地址。
DnsSuffix 获取与此接口关联的域名系统 (DNS) 后缀。
GatewayAddresses 获取此接口的网关地址。
IsDnsEnabled 获取 Boolean 值,该值指示此接口是否被配置为向域名系统 (DNS) 服务器发送名称解析查询。
IsDynamicDnsEnabled 获取 Boolean 值,该值指示此接口是否被配置为自动向域名系统 (DNS) 注册其 IP 地址信息。
MulticastAddresses 获取分配给此接口的多路广播地址。
UnicastAddresses 获取分配给此接口的单播地址。
WinsServersAddresses 获取 Windows Internet 名称服务 (WINS) 服务器的地址。
Simonzy 2008-09-22
  • 打赏
  • 举报
回复

using namespace System.Net.NetworkInformation;

public IPAddressCollection GetDnsAddresses()
{
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in adapters)
{

IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
return adapterProperties.DnsAddresses;
}
}
格拉 2008-09-22
  • 打赏
  • 举报
回复
围观+学习的
hyblusea 2008-09-22
  • 打赏
  • 举报
回复
支持获取远程主机.
hyblusea 2008-09-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gaozhigang 的回复:]
引用 1 楼 hyblusea 的回复:
是获取本机TCP/IP属性里面的DNS地址吗?如果是的话,可以参考
using namespace System.Net.NetworkInformation;
IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties()

能不能 详细点
[/Quote]
刚才查了一下,原则IPGlobalProperties类并不能获得DNS地址

楼主试下下面的代码:

using System.Net
IPHostEntry myHost = new IPHostEntry();

//得到本地主机的DNS信息
myHost = Dns.GetHostByName(Dns.GetHostName());

gaozhigang 2008-09-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hyblusea 的回复:]
是获取本机TCP/IP属性里面的DNS地址吗?如果是的话,可以参考
using namespace System.Net.NetworkInformation;
IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties()
[/Quote]
能不能 详细点
gaozhigang 2008-09-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tianjinldl 的回复:]
using System.Net.Sockets;
using System.Net;

Socket sendsocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

string hostname = Dns.GetHostName();
IPHostEntry iphostendpoint = Dns.GetHostEntry(hostname);
IPAddress[] address = iphostendpoint.AddressList;

获取本机的
[/Quote]

你取到的应该是IP吧?
gaozhigang 2008-09-22
  • 打赏
  • 举报
回复
能不能 详细点。楼上的。
tianjinldl 2008-09-22
  • 打赏
  • 举报
回复
using System.Net.Sockets;
using System.Net;

Socket sendsocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

string hostname = Dns.GetHostName();
IPHostEntry iphostendpoint = Dns.GetHostEntry(hostname);
IPAddress[] address = iphostendpoint.AddressList;

获取本机的
Code従業員 2008-09-22
  • 打赏
  • 举报
回复
你是希望获得正在使用的DNS,还是做DNS探索器?
hyblusea 2008-09-22
  • 打赏
  • 举报
回复
是获取本机TCP/IP属性里面的DNS地址吗?如果是的话,可以参考
using namespace System.Net.NetworkInformation;
IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties()

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧