我是用C编写BSD套接字编程的新手。我可以用"getaddrinfo“函数查询一个网址来获得与之相关的ip地址。但我想知道getaddrinfo从哪个dns服务器查询此信息。
发布于 2009-11-28 03:27:21
如果您使用的是linux或unix平台,请尝试查看man -k resolver并查找resolver手册页或res_init、res_search等函数的页面。阿尔。这些都是unix的DNS API,看起来,虽然没有直接的方法来做你想做的事情,但你可以通过组合函数和它们返回的内容来收集信息,并进行一些其他的数据处理。
至于wireshark知道发生了什么,它并不是真的知道。它只是在数据包来回流动时对其进行监控,并打印出它看到的内容。解析器是已知的,这就是我建议的API。
发布于 2009-11-27 20:28:53
我不认为您可以找出它使用的是哪一个,但它使用了/etc/resolv.conf中的一个
发布于 2009-11-27 21:14:06
如果你使用的是Linux,你可以查看源代码来“挖掘”。基于它打印服务器地址的能力,我认为除了解析/etc/resolv.conf之外,一定还有其他方法可以做到这一点。
在Windows上,有一个非常复杂的API来实现这一目的。
https://stackoverflow.com/questions/1808345
复制相似问题