发现计算机默认DNS

时间:2013-04-19 11:34:11

标签: dns network-programming network-protocols

我正在写一个小型DNS代理。它侦听端口上的传入UDP消息,并使用指定的DNS(例如google的DNS 8.8.8.8)解析它们,并将响应发送回客户端。

我希望能够检测到机器使用的默认DNS。每个操作系统都有一个自动获取DNS服务器地址的选项。我想知道这是怎么做到的。是否有UDP或TCP之上的协议,或其他完全不同的东西?

我正在使用C#,但语言并不重要。

2 个答案:

答案 0 :(得分:1)

查找当前计算机使用的DNS作为默认值,高度依赖于您使用的操作系统和使用的语言。如果您使用Java或.NET或其他独立于平台的语言,则可能不需要担心操作系统位。

客户端计算机通常会“自动发现”来自DHCP服务器的DHCP响应中使用的DNS。也就是说,当他们收到他们的IP地址时,他们也会获得使用哪个DNS服务器。他们也可能获得WINS服务器的地址和大量的自定义选项。

答案 1 :(得分:0)

您可以在命令提示符下键入ipconfig / all找到DNS服务器。这将为您提供DNS服务器的地址。