加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – getaddrinfo()vs NAPTR / SRV记录

发布时间:2020-12-14 00:29:37 所属栏目:Linux 来源:网络整理
导读:我对域名解析有疑问.我们可以通过使用函数getaddrinfo()或NAPTR查询,SRV记录查询和A / AAAA记录的过程来解决从DNS到IP地址格式的解析. 1.函数是否使用getaddrinfo()在内部使用NAPTR查询技术? 2.使用函数getaddrinfo()优于其他过程有什么好处? 解决方法 get
我对域名解析有疑问.我们可以通过使用函数getaddrinfo()或NAPTR查询,SRV记录查询和A / AAAA记录的过程来解决从DNS到IP地址格式的解析.
1.函数是否使用getaddrinfo()在内部使用NAPTR查询技术?
2.使用函数getaddrinfo()优于其他过程有什么好处?

解决方法

getaddrinfo()不查询NAPTR或SRV记录,或者确实查询除A和AAAA之外的任何类型的记录. getaddrinfo()是libc主机名解析服务的接口,它被建模为名称和地址之间的简单映射.要了解这种情况,请考虑此解析服务可以根据其配置文件/etc/nsswitch.conf查询/ etc / hosts,或者更少见NIS,LDAP,关系数据库等.请注意这些NSS后端是如何理解NAPTR或SRV记录的.

只有DNS实现NAPTR和SRV记录,如果要查询它们,则必须使用API??直接查询DNS(请参阅res_init()和相关函数,或者更有趣的第三方库,如c-ares,支持非阻塞操作).您无法使用libc主机名解析服务来执行此操作.

至于你的第二个问题,使用getaddrinfo()的优点是:(1)它更容易使用,(2)你会找到用户可能已经插入/ etc / hosts的条目,你会错过的您直接查询DNS.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读