如何在C ++中进行DNS AAAA,CNAME和SRV查找?

时间:2012-02-27 09:59:30

标签: c++ dns lookup

我需要一个C ++中的小程序,它将类型和主机名作为命令行参数,然后进行DNS查找。例如:

DNSapp AAAA www.google.com

将从www.google.com返回IPv6地址,依此类推。

我可以使用gethostbyname进行简单的A查找,但我不知道如何执行其他查找。我试图谷歌他们,但没有成功。任何想法如何做到这一点?

2 个答案:

答案 0 :(得分:4)

gethostbyname已过时,使用getaddrinfo进行A / AAAA次查询。

对于SRV等,我建议ldns或相关的libunbound。后者是库中的完整解析器。

您也可以使用Linux标准库中的res_search

答案 1 :(得分:1)

在Windows上,GetAddrInfoW是gethostbyname的正确多值版本。

对于RDNS,getnameinfo是另一种方式。

GetAddrInfoEx可能会也可能不会使用SRV记录,我一直无法找到。