Как выполнить поиск DNS AAAA, CNAME и SRV в C ++? - PullRequest
1 голос
/ 27 февраля 2012

Мне нужна небольшая программа на C ++, которая принимает тип и имя хоста в качестве параметров командной строки, а затем выполняет поиск DNS. Например:

DNSapp AAAA www.google.com

вернет IPv6-адрес с www.google.com и т. Д.

Я могу сделать простой поиск A, просто используя gethostbyname, но я не знаю, как выполнить эти другие поиски. Я пытался гуглить их, но безуспешно. Есть идеи как это сделать?

Ответы [ 2 ]

4 голосов
/ 27 февраля 2012

gethostbyname устарел, используйте getaddrinfo для A / AAAA поиска.

Для SRV и т. Д. Я рекомендую ldns или соответствующий libunbound.Последний является полным распознавателем в библиотеке.

Вы также можете просто использовать res_search из стандартной библиотеки Linux.

1 голос
/ 27 февраля 2012

В Windows GetAddrInfoW - это правильная многозначная версия gethostbyname.

Для RDNS getnameinfo идет другим путем.

GetAddrInfoEx может использовать или не использовать записи SRV, я не смог выяснить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...