Извлечение домена из файла зоны DNS

Я пытаюсь извлечь все доменные имена из файла зоны COM и NAME dns. Эти файлы зон содержат все записи DNS, и, похоже, отсутствует информация о структуре файлов зон.

Все ли зарегистрированные домены имеют записи NS? Даже те, которые активно не используются? Какую запись/записи следует использовать для извлечения доменных имен.

Файлы зон очень большие и сортировать их было бы глупой идеей. Поэтому, если бы я мог использовать один тип записи DNS для извлечения доменного имени, это было бы проще. Я нашел этот скрипт Python (я не знать python) на GitHub, где используются только записи NS. Это правильно логически?

У кого есть опыт, прокомментируйте.


person quazar    schedule 25.06.2018    source источник


Ответы (1)


Формат файла зоны DNS определен в RFC 1035 (раздел 5) и RFC 1034 (раздел 3.6.1). Подробности можно найти в Википедии: https://en.wikipedia.org/wiki/Zone_file

Он содержит только опубликованные доменные имена, которые имеют хотя бы один сервер имен и не имеют статусов ниже clientHold или serverHold (см. http://www.icann.org/epp#clientHold). и http://www.icann.org/epp#serverHold), что вкратце означает, что зарегистрированы НЕ все доменные имена.

.COM файл зоны действительно огромен. В любом случае вам необходимо сопоставить NS строк записей и выполнить дедупликацию доменных имен. Для этого есть несколько стратегий, в зависимости от ваших ограничений.

Обратите внимание, что многие онлайн-провайдеры уже делают эту работу за вас и могут напрямую предоставить доменные имена, если это все, что вас интересует. Некоторые также могут предоставлять дифференцированный контент, день от предыдущего.

person Patrick Mevzek    schedule 25.06.2018
comment
Спасибо @Patrick Mevzek. Мне удалось извлечь домен из файла зоны com с помощью golang. Это похоже на файл размером 10+ ГБ, но занимает всего 5 минут. И да, вы правы, он содержит не весь домен, а несколько номеров. - person quazar; 26.06.2018