Проверка доступности имени домена с записями DNS

Насколько точно можно определить доступность имени домена, проверяя наличие записей NS или SOA (начало полномочий)?

Если нет, как я могу определить это как точно, насколько это возможно, не прибегая к WHOIS? Например, стоит ли проверять записи MX, если NS-записи не существуют?

Меня особенно интересуют домены .co.za, но единственным официальным, безупречным способом проверки доступности в пространстве имен .co.za является использование http://co.za/whois.shtml, что ограничивает последовательную проверку по IP-адресу.

Ответ 1

  • Whois является единственным 100% уверенным способом проверка домена .co.za доступность. Видеть http://co.za/whois.shtml
  • Мои тесты показывают, что проверка наличия NS записей или ЛЮБЫХ записей DNS представляется наиболее точным способом угадать, доступен ли домен .co.za для регистрации. Записи SOA тоже работают, но не так.
  • dig co.za. NS показывает .co.za TLD неймсерверы. Ping TLD и использовать самые близкие чтобы избежать излишней рекурсивной запросы.

Спасибо за ваши ответы.

Ответ 2

Единственный надежный способ проверки доступности домена - это 100% -ный запрос к базе данных регистратора. Я бы не стал доверять whois.

Вы можете использовать DNS для получения оценки. Вместо того, чтобы искать запись SOA, я бы просто посмотрел, есть ли вообще что-либо в списке с сервером имен TLD. dig - хороший инструмент для этого (работает и в Windows), хотя, я думаю, вы тоже можете использовать nslookup. Например:

dig co.za. NS

предоставит список серверов имен для .co.za. Один из этих серверов - ns0.is.co.za.

Затем запросите этот сервер, чтобы узнать, есть ли у них что-либо, перечисленное для интересующего вас домена:

dig ibm.co.za @ns0.is.co.za

Этот запрос возвращает NS-записи, но SOA-запись не записывается с SOA-записей сервером доменных имен (который может быть или не быть в сети). В записях NS указано, что доменное имя используется.

Причиной прямого перехода является то, что он обычно намного быстрее, чем полагаться на рекурсивные запросы с вашего локального сервера имен.

Ответ 3

Единственный способ определить, доступен ли домен или нет, - это запросить базу данных реестра для этого домена. Обычно вы можете сделать это, выполнив запрос WHOIS в интерфейсе WHOIS реестра.

Существует несколько причин объяснить, почему проверка DNS небезопасна.

Самое простое объяснение заключается в том, что вы можете зарегистрировать домен, не указывая его в любом месте. Это как дом. Вы можете купить дом, но вы не должны строить дорогу, чтобы добраться до него.

Большая часть доступных поставщиков домена заставляет вас указывать DNS, иначе они устанавливают значение по умолчанию. Но вы не вынуждены, это не требование обязательного домена.

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

Проверка DNS дешева, а иногда и быстрее. Если вам нужно проверить, существует ли домен, вы можете сначала попробовать DNS-запрос, а в случае отказа - отказаться от запроса WHOIS. Другими словами, , если запрос DNS выполняется, запрос WHOIS почти бессмысленен. Но вы не можете сделать обратное, потому что , если DNS-запрос терпит неудачу, это не значит, что домен не зарегистрирован.

Ответ 4

Whois является каноническим способом проверки доступности домена. Ограничение скорости - это намеренно, чтобы люди не перегружали серверы whois. Существование записей SOA может быть хорошей догадкой, но это не определенный ответ.

Ответ 5

На практике поиск DNS работает в 99% случаев. Если вы напишете что-то вроде Ajaxwhois, я бы предложил пойти по этому маршруту. Если у вас есть миллион имен для проверки, я сделаю первый проход с DNS-поиском, а затем, возможно, сделаю второй проход на те, которые вы можете рассмотреть при покупке.

Ответ 6

Я также использовал метод dig для проверки наличия домена перед регистрацией, но около 10% времени, он возвращает домены, которые НЕ доступны как доступные. Это связано с тем, что владелец домена не создал никаких записей для домена. Итак, я решил сделать это:

  • Сначала проверьте с помощью метода dig.
  • Если домен окажется доступным, проверьте с помощью whois.shtml

Люди пройдут кучу доменов, которые недоступны, и это не растрачивает выделенные запросы, которые предоставляет UniForum. Только если что-то кажется доступным, вы сами проверяете co.za. Мне кажется, что это единственный надежный способ сделать это БЕЗ потери доступа к co.za/whois.shtml из-за отправки им миллиона запросов:)

Ответ 7

Пробовал whois, и это дает мне странные результаты (google.fr как бесплатно!), поэтому я попробовал команду Windows: nslookup yourdomain, и вы получите ее IP, если она зарегистрирована.