Вы не говорите, тестируете ли вы рекурсивный или авторитетный сервер имен.
Вам также необходимо определить допустимый. Ожидаете ли вы ответ DNS на ваш запрос?
Вы можете проверить с известными недействительными / несуществующими именами, такими как whatever.test
или whatever.example
. Вы всегда должны получать ответ DNS, даже если он равен NXDOMAIN
, или, возможно, NOERROR
в случае восходящего направления.
Обратите внимание, что если вы делаете это с сервером, вы не управляете, в зависимости от скорость, люди могут начать замечать и ограничить вас или даже хуже.
Вы также можете попытаться запросить зону CHaos
, однако это часто отключается. Это один из способов «идентифицировать» заданное программное обеспечение сервера имен.
Пример:
$ dig @a.root-servers.net version.bind TXT chaos +short
"NSD"
Даже если функция отключена, вы должны получить ответ DNS с REFUSED
или * 1020. * или некоторый код возврата, подобный этому:
$ dig @ns1.google.com version.bind TXT chaos
...
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOTIMP, id: 57909
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
PS: обратите внимание, что dig имеет флаг header-only
, который позволяет отправить вопрос только с заголовком и без содержимого (указывать не нужно) имя).
Не все серверы имен могут реагировать на это должным образом, хотя, то же самое может просто прерваться и вообще не отвечать.