使用C ++,我想获得主机用于三种操作系统的DNS服务器:OS X,FreeBSD和Windows。我想确认以下方法确实是最佳实践,如果不是,那么这是一种更好的选择。
GetNetworkParams
/etc/resolv.conf
提前感谢您的帮助!
答案 0 :(得分:8)
在许多unix系统(linux,bsd)上,您可以使用解析程序函数来获取DNS服务器列表:man 3 resolver。
调用res_init()
后,初始化了解析器结构。解析器结构存储了您需要的所有信息。 DNS服务器列表存储在结构条目nsaddr_list
中。
解析器结构的确切规格很可能在resolv.h
中找到。
使用解析程序功能是获取DNS服务器列表的首选方法。 res_init()
很可能会使用/etc/resolv.conf
中的信息填充解析器结构。