2008-09-01 6 views

ответ

342

Вы хотите SOA (Start полномочий) записи для данного доменного имени, и это то, как вы выполняете его с помощью универсально доступной Nslookup инструмент командной строки:

command line> nslookup 
> set querytype=soa 
> stackoverflow.com 
Server:   217.30.180.230 
Address:  217.30.180.230#53 

Non-authoritative answer: 
stackoverflow.com 
     origin = ns51.domaincontrol.com # ("primary name server" on Windows) 
     mail addr = dns.jomax.net  # ("responsible mail addr" on Windows) 
     serial = 2008041300 
     refresh = 28800 
     retry = 7200 
     expire = 604800 
     minimum = 86400 
Authoritative answers can be found from: 
stackoverflow.com  nameserver = ns52.domaincontrol.com. 
stackoverflow.com  nameserver = ns51.domaincontrol.com. 

происхождение (или первичный сервер имен на Windows) строка сообщает вам, что ns51.domaincontrol является основным сервер имен для stackoverflow.com.

В конце вывода перечислены все авторитетные серверы, включая резервные серверы для данного домена.

+6

Есть ли флаг командной строки для SOA querytype? – 2011-08-14 22:26:35

+116

nslookup -type = soa stackoverflow.com – 2012-11-14 03:13:16

+0

Из всех инструментов, рассмотренных ниже, nslookup - единственный инструмент, который также доступен в командной строке MS-Windows. Метод выше отлично работает и на Windows 7. – Druvision 2013-03-29 07:37:39

-2

Простым способом является использование онлайн-инструмента домена. Мой любимый Domain Tools (ранее whois.sc). Я не уверен, могут ли они разрешать конфликтующие записи DNS. В качестве примера, DNS-серверы для stackoverflow.com являются

NS51.DOMAINCONTROL.COM 
    NS52.DOMAINCONTROL.COM 
15

У меня есть DNS propagation tool, предназначенный для ответа на эти вопросы.

Источник выпускается под AGPLv3.

(Да, интерфейс довольно основной на данный момент :))

Вы также можете узнать адреса серверов имен для домена с помощью команды «хозяина»:

 
[[email protected]:~]$ host -t ns stackoverflow.com 
stackoverflow.com name server ns51.domaincontrol.com. 
stackoverflow.com name server ns52.domaincontrol.com. 
1

Вы можете использовать whois сервис. В операционной системе UNIX вы должны выполнить следующую команду. В качестве альтернативы вы можете сделать это в Интернете по номеру http://www.internic.net/whois.html.

Whois stackoverflow.com

Вы получите следующий ответ.

... текст удален здесь ...

серверы домена в указанном порядке: NS51.DOMAINCONTROL.COM NS52.DOMAINCONTROL.COM

Вы можете использовать Nslookup или рыть, чтобы узнать больше информации о записях для данного домена. Это может помочь вам разрешить конфликты, которые вы описали.

5

Термин вы должны быть прибегая к помощи является "авторитетным" не "окончательным".

В Linux или Mac вы можете использовать команды whois, dig, host, nslookup или несколько других. nslookup также может работать на Windows.

Пример:

$ whois stackoverflow.com 
[...] 
    Domain servers in listed order: 
     NS51.DOMAINCONTROL.COM 
     NS52.DOMAINCONTROL.COM 

Что касается дополнительного кредита: Да, это возможно.


aryeh определенно ошибается, так как его предложение обычно дает вам только IP-адрес для имени хоста. Если вы используете dig, вы должны искать NS записи, например, так:

dig ns stackoverflow.com 

Имейте в виду, что это может задать свой локальный сервер DNS и, таким образом, может дать неправильные или устарелый ответы, которые он имеет в его кеш.

143

Вы использовали единственное в своем вопросе, но, как правило, несколько авторитетных серверов имен, RFC 1034 рекомендует не менее двух.

Если вы не имеете в виду «первичный сервер имен», а не «авторитетный сервер имен». Вторичные серверы имен являются достоверными.

Чтобы узнать серверы имен домена на Unix:

% dig +short NS stackoverflow.com 
ns52.domaincontrol.com. 
ns51.domaincontrol.com. 

Чтобы узнать сервер, указанный в качестве первичного (понятие «первичный» довольно нечеткая в эти дни и, как правило, не имеет хорошего ответа) :

% dig +short SOA stackoverflow.com | cut -d' ' -f1 
ns51.domaincontrol.com. 

для проверки discrepencies между серверами имен, мое предпочтение идет к старому check_soa инструмент, описанный в Лю & Albitz "DNS BIND &" книга (редактор O'Reilly). Исходный код доступен в http://examples.oreilly.com/dns5/

% check_soa stackoverflow.com 
ns51.domaincontrol.com has serial number 2008041300 
ns52.domaincontrol.com has serial number 2008041300 

Здесь два авторитетных сервера имен имеют один и тот же серийный номер. Хорошо.

0

К сожалению, большинство этих инструментов возвращают только NS-запись, предоставленную самим сервером имен. Чтобы быть более точным при определении того, какие серверы имен фактически отвечают за домен, вам нужно либо использовать «whois», либо проверить перечисленные там домены или использовать «dig [domain] NS @ [root name server]» и запустить этот рекурсивно, пока вы не получите списки имен серверов ...

Желаю, чтобы была простая командная строка, которую вы могли бы запустить, чтобы получить результат, который будет зависеть и в согласованном формате, а не только результат, полученный от самого сервера имен , Цель этого для меня заключается в том, чтобы иметь возможность запрашивать около 330 доменных имен, которыми я управляю, поэтому я могу точно определить, на какой сервер имен указывается каждый домен (согласно их настройкам регистратора).

Кто-нибудь знает команду, использующую команду «dig» или «host» или что-то еще на * nix?

2

Мы построили dns lookup tool, который дает вам авторизированные серверы имен и его общие записи DNS в одном запросе.

Пример: https://www.misk.com/tools/#dns/stackoverflow.com

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

Вы также можете просмотреть путь делегирования сервера имен, нажав «Authoritative Nameservers» в нижней части результатов поиска dns из приведенного выше примера.

Пример: https://www.misk.com/tools/#dns/[email protected]

2

Я обнаружил, что лучший способ это всегда добавить опцию трассировки +:

dig SOA +trace stackoverflow.com 

Он работает также с рекурсивным CNAME размещенных в различных поставщиков. + трассировка трассировки подразумевает + norecurse, поэтому результат будет указан только для указанного вами домена.

0

Записи SOA присутствуют на всех серверах, расположенных дальше по иерархии, над которыми у владельца домена нет элемента управления, и все они фактически указывают на один авторитетный сервер имен под контролем владельца домена.

Запись SOA на самом авторитетном сервере, с другой стороны, не является строго необходимой для разрешения этого домена и может содержать фиктивные данные (или скрытые первичные или иным образом ограниченные серверы), и на них нельзя полагаться, чтобы определить авторитетный сервер имен для данного домена.

Чтобы получить достоверную информацию SOA для данного дочернего домена, вам необходимо запросить сервер, который является авторитетным для домена верхнего уровня ,.

(Информация о том, какой сервер является авторитетным, для которого TLD может запрашиваться с корневых серверов имен).

Если у вас есть достоверная информация о SOA с авторитетного сервера TLD, вы можете запросить основной сервер имен, который является авторитетным (тот, который находится в записи SOA на сервере имен gTLD!) Для любых других NS-записей, а затем продолжайте проверять все те серверы имен, которые вы получили от запроса NS-записей, чтобы узнать, есть ли какая-либо несогласованность для любой другой конкретной записи на любом из этих серверов.

Все это работает намного лучше/надежнее с linux и копает, чем с помощью nslookup/windows.