Программно получить DNS-серверы хоста



Используя C++, я хотел бы получить DNS-серверы, используемые хостом для трех операционных систем: OS X, FreeBSD и Windows. Я хотел бы подтвердить, что приведенные ниже подходы действительно являются наилучшей практикой, а если нет, то превосходной альтернативой.




Заранее спасибо за ваш помогите!

602   1  

1 ответ:

Во многих системах unix (linux, bsd) вы можете использовать функции resolver для получения списка DNS-серверов: Man 3 resolver.

После вызова res_init() структура решателя инициализируется. Структура решателя хранит всю необходимую информацию. Список DNS-серверов хранится в записи struct nsaddr_list.

Точную спецификацию структуры решателя, скорее всего, можно найти в resolv.h.

Использование функций резольвера является предпочтительным способом получения список DNS-серверов. res_init(), скорее всего, заполнит структуру решателя информацией, найденной в /etc/resolv.conf.

Также смотрите использование resolv.h

Comments

    Ничего не найдено.