我现在正在做一些dns查询工作,为了获得域的ttl,我使用了在some er.h中定义的ns结构,但是当我搜索dns相关代码时,我发现人们大多使用getaddrinfo,即使在google am中,它也使用getaddrinfo来进行dns,我现在想知道为什么?ns的结构和函数(如ns_parserr、ns_rr_rdata、res_query)是不安全的还是太复杂了?请告诉我它的弱点是否安全,是否可以在linux、mac和win上使用?
发布于 2022-09-27 05:07:18
首先,getaddrinfo使用起来要简单得多,然后查询名称服务器--更简单的使用意味着更少的bug。
然后,getaddrinfo所做的不仅仅是查询名称服务器。根据系统和系统配置,它包含主机文件,可以与字典服务(如NIS )集成,使用系统范围的首选项来确定使用了哪些名称服务器,在没有给出IPv4和IPv6首选项时搜索哪些域,以及如何排序结果。
它是POSIX和RFC 2553中定义的标准接口。
https://stackoverflow.com/questions/73861650
复制相似问题