如何获取getaddrinfo查询的DNS服务器的地址

时间:2009-11-27 12:00:31

标签: c dns sockets

我是C中BSD套接字编程的新手。我可以通过“getaddrinfo”函数查询网址以获取其关联的ip地址。但我想知道哪个dns服务器getaddrinfo从中查询这些信息。

3 个答案:

答案 0 :(得分:1)

如果您使用的是Linux或unix平台,请尝试查看man -k resolver并查找resolver手册页或res_initres_search等功能的页面,等。人。这些是DNS的unix API,看起来,虽然没有直接的方法来做你想做的事情,但是可以通过功能和它们返回的内容的组合收集信息,并做一些其他的数据按摩

关于wireshark知道发生了什么,它并不真正知道。它只是监控数据包来回流动并打印出它看到的内容。解析器是知道的,这就是我建议的API。

答案 1 :(得分:0)

我认为你不知道它使用了哪个,但它使用了/etc/resolv.conf中的一个

答案 2 :(得分:0)

如果您使用的是Linux,则可以查看“挖掘”的来源。基于它打印服务器地址的能力,我认为除了解析/etc/resolv.conf之外,必须有一些方法可以做到这一点。

在Windows上,有一个非常复杂的API用于此目的。