Как проверить, отвечает ли сервер имен на рекурсивные запросы?

18

Мне просто любопытно, если бы вы могли использовать dig, чтобы проверить, отвечает ли определенный сервер имен на рекурсивные запросы.

Благодарность!

Микко
источник

Ответы:

20

Использование digи проверить состояние из RDи RAбиты в ответ.

По умолчанию digотправляет рекурсивный запрос ( RDзадается в заголовке запроса), если не установлен +norecurseфлаг командной строки.

Если сервер поддерживает рекурсивные запросы, в RAзаголовке ответа будет установлен бит «доступна рекурсия» .

RAБит диагностический тест для рекурсивного запроса поддержки.

Альнитак
источник
11

Посмотрите, можете ли вы запросить у него запись DNS, для которой она не host www.cnn.com ns.example.comявляется официальной , например, try:, где ns.example.com - это сервер имен, который вы тестируете. Если он не отвечает на рекурсивные запросы, вы получите ОТКАЗ.

$ host www.cnn.com. ns1.example.com
Using domain server:
Name: ns1.example.com
Address: 192.168.183.130#53
Aliases:

Host www.cnn.com not found: 5(REFUSED)

тогда как DNS-сервер, выполняющий рекурсивные запросы:

$ host www.cnn.com. 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:

www.cnn.com has address 157.166.255.18
www.cnn.com has address 157.166.255.19
www.cnn.com has address 157.166.226.25
www.cnn.com has address 157.166.226.26
CJC
источник
Большое спасибо @cjc. Я также выяснил другой метод, но с использованием копать. Попробуйте найти домен на сервере имен, который не является авторским для домена. Если он ничего не возвращает, он не отвечает на рекурсивные запросы.
Микко
@Mikko, да, оба digи host(и ныне устаревшие nslookup) являются инструментами DNS-запросов. Все они достаточны для определения, разрешает ли DNS-сервер рекурсивные запросы с вашего IP-адреса.
CJC
это неправильно - REFUSEDэто также код ответа, который вы получаете, если вы запрашиваете у авторитетного сервера имен информацию о домене, для которого у него нет файла зоны.
Альнитак