получение всего списка адресов DNS-сервера
кому-нибудь приходилось сталкиваться с подобной вещью - получить в ответ от днс-сервера его "dns.txt" (то есть весь список известных ему доменов),
а не по стандартной схеме "один запрос-один адрес в ответ".
сразу отвечу, если у кого то возникает вопрос - зачем?
подключаемся к днс-серверу, получаем все известные ему домены, полученный список анализируем (на наличие адресов, содержащих определенные строки) и работаем уже с полученными записями.
то есть случай - когда ищешь что-то неопределенное и надо получить все, что известно.
вкупе с этим, появился еще вопрос - если такое реализуемо, то есть ли возможность обратиться от одного сервера, к его "старшему" (то есть к тому, к которому он обращается, если не знает запрошенный у него адрес) и так далее пойти по рекурсии.
p.s. среди стандартных параметров, такие команды я не нашел. может кто-то наталкивался на какие то баги, позволяющие это сделать.
заранее спасибо за ответ :).
Узнать все записи для определенного домена можно, узнать у dns сервера все зоны за которые он отвечает нельзя. При желании можно пропарсить whois базу, но проще уж делать nslookup хотя без последнего параметра равного доверенному ns серверу её данные могут быть неточными.
кому-нибудь приходилось сталкиваться с подобной вещью - получить в ответ от днс-сервера его "dns.txt" (то есть весь список известных ему доменов),
Обратитесь к стандартам (начните отсюда RFC1034). Если [COLOR=PaleTurquoise]Ваш DNS-сервер поддерживает так называемый "Zone transfer" (см. документацию и RFC) и[/COLOR] выставлены соответствующие разрешения, то решение вашей задачи можно сделать банальным nslookup в Windows (команда ls). Однако, такие вещи чаще всего запрещены, и правильно запрещены. Уже сказали, что слишком жирно будет такую информацию давать любым клиентам. Да и накладно это будет для сервера.
Прав, неверная формулировка. В свое время меня смутило сообщение nslookup'а, где упоминается "zone transfer"
Default Server: mydefault.dns.server
Address: A.B.C.D
> server resolver1.opendns.com
Default Server: resolver1.opendns.com
Address: 208.67.222.222
> ls opendns.com
[resolver1.opendns.com]
*** Can't list domain opendns.com: Query refused
The DNS server refused to transfer the zone opendns.com to your computer. If this
is incorrect, check the zone transfer security settings for opendns.com on the DNS
server at IP address 208.67.222.222.
>
да и в ряде источников в Интернете встречал упоминание, что технически ls реализуется как передача зоны.
Не знаю, как текст в сообщении сделать зачеркнутым, удалять не стал, слил цветом.
Снаружи получить весь список доменов который обслуживает данный NS сервер невозможно.
Но для доменнов второго уровня можно используя whois базу выяснить отношение доменное_имя - NS_сервер и с помощью бота опросить все NS сервера и составить соответствующую базу. Для зоны RU+SU нужно всего лишь обойти ~2 миллионов записей. Для тех, кто такое сам не в состоянии реализовать могут использовать линки выше ;)
Снаружи получить весь список доменов который обслуживает данный NS сервер невозможно.
поэтому я и спросил может кто сталкивался с багами (или фичами :D) позволяющими выдрать у днсс этот список :)
это понятно, что в инете разные серверы стоят и найденные вами баги "узкоспецифичны"...но всё же хотелось бы узнать
Всем спасибо за ответы. Тему, думаю, можно считать закрытой :)