0

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

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

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

4

2 回答 2

1

查找当前计算机默认使用的 DNS 很大程度上取决于您使用的操作系统和使用的语言。如果您使用 Java 或 .NET 或其他独立于平台的语言,您可能不需要担心操作系统位。

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

于 2013-04-19T11:43:22.567 回答
0

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

于 2013-04-23T15:32:21.960 回答