Я использую PowerShell для получения массива записей MX. Мне интересно, почему следующая команда возвращает записи SOA, если я указал MX для параметра типа.
Resolve-DnsName $SomeDomainName -type MX -Server 8.8.8.8 -DnsOnly -ErrorAction Stop
То, что вы видите, почти наверняка просто отрицательный ответ.
Есть два типа ответов «не найдено»: NXDOMAIN
и NODATA
.
NXDOMAIN
означает, что название запрошенный в запросе вообще не существует.
Этот тип ответа имеет статус NXDOMAIN
и соответствующие SOA
запись в AUTHORITY
раздел (ничего в ANSWER
раздел).
NODATA
означает, что название запрошенный в запросе существует, но нет записей запрошенного тип для этого имени. Этот тип ответа имеет статус NOERROR
(не имеет собственного статуса) и имеет соответствующий SOA
запись в AUTHORITY
раздел (ничего в ANSWER
раздел).
Я быстро взглянул на Resolve-DnsName
и у меня сложилось впечатление, что его непоследовательное поведение никак не помогает вам понять, что происходит.
В случае NXDOMAIN
ответ выдает ошибку, но в случае NODATA
response он возвращает ответ, как если бы он был успешным. Это просто кажется странным, эти два типа ответов аналогичны режимам отказа, но по какой-то причине они трактуются совершенно по-разному. Resolve-DnsName
.
Чтобы лучше понять, что происходит, я предлагаю провести немного времени с dig
, так что вы можете увидеть полные ответы по обоим этим случаям.