gpt4 book ai didi

linux - getaddrinfo() 与 NAPTR/SRV 记录

转载 作者:IT王子 更新时间:2023-10-29 01:05:14 28 4
gpt4 key购买 nike

我对域名解析有疑问,我们可以通过函数getaddrinfo()或者NAPTR查询、SRV记录查询等过程,将DNS解析成ip地址格式A/AAAA 记录。1. 函数使用 getaddrinfo() 是否在内部使用 NAPTR 查询技术?2. 使用函数 getaddrinfo() 比其他过程有什么优势?

最佳答案

getaddrinfo() 不查询NAPTRSRV 记录,或者实际上是除A 之外的任何类型的记录和AAAAgetaddrinfo() 是 libc 的主机名解析服务的接口(interface),它被建模为名称和地址之间的简单映射。要了解情况如何,请考虑此解析服务可能会根据其配置文件 查询 /etc/hosts 或更少见的 NIS+、LDAP、关系数据库等/etc/nsswitch.conf。请注意,这些 NSS 后端都无法理解有关 NAPTRSRV 记录的任何信息。

只有 DNS 实现了 NAPTRSRV 记录,如果你想查询它们,你将不得不使用 API 直接查询 DNS(见 res_init () 和相关函数,或更有趣的第三方库,如支持非阻塞操作的 c-ares)。您不能使用 libc 主机名解析服务来执行此操作。

关于您的第二个问题,使用 getaddrinfo() 的优点是 (1) 它更容易使用,以及 (2) 您将找到用户可能已插入到 /etc/hosts,如果你直接查询 DNS,你会错过。

关于linux - getaddrinfo() 与 NAPTR/SRV 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17419123/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com