目标:根据sockaddr返回FQDN
我正在尝试使用 getnameinfo 进行反向DNS查找并返回example.com的FQDN,但是下面的代码无法显示错误EAI_NONAME(8)的FQDN。在运行下面的代码之前,我在浏览器中打开 example.com 以确保DNS缓存包含domain_name到ip_address的映射,但是下面的代码似乎无法返回“ example.com”作为FQDN。我想念什么吗?我正在使用macOS 10.14.4,并使用Falling back to patching base and 3-way merge...
gcc "filename.c"
答案 0 :(得分:2)
反向查找不使用DNS缓存。相反,它使用rDNS lookup,即in-addr.arpa
伪域。好吧,事实证明:
% host 93.184.216.34
Host 34.216.184.93.in-addr.arpa. not found: 3(NXDOMAIN)
该IP地址没有反向PTR记录。
如果您将地址替换为8.8.8.8,则说得到
% ./a.out
getnameinfo with NI_NAMEREQD flag:
host: google-public-dns-a.google.com
serv: http
这仅仅是因为:
% host 8.8.8.8
8.8.8.8.in-addr.arpa domain name pointer google-public-dns-a.google.com.