Программно получить DNS-серверы хоста
Используя C++, я хотел бы получить DNS-серверы, используемые хостом для трех операционных систем: OS X, FreeBSD и Windows. Я хотел бы подтвердить, что приведенные ниже подходы действительно являются наилучшей практикой, а если нет, то превосходной альтернативой.
OS X: уже ответил ; обновлена ссылка на developer.apple.com
окна:GetNetworkParams
FreeBSD :/etc/resolv.conf
Заранее спасибо за ваш помогите!
1 ответ:
Во многих системах unix (linux, bsd) вы можете использовать функции resolver для получения списка DNS-серверов: Man 3 resolver.
После вызова
Точную спецификацию структуры решателя, скорее всего, можно найти вres_init()структура решателя инициализируется. Структура решателя хранит всю необходимую информацию. Список DNS-серверов хранится в записи structnsaddr_list.resolv.h.Использование функций резольвера является предпочтительным способом получения список DNS-серверов.
res_init(), скорее всего, заполнит структуру решателя информацией, найденной в/etc/resolv.conf.Также смотрите использование resolv.h
Comments