Suponha que test.example.com
não exista e dê NXDOMAIN
ao executar dig
nele, mas eu sei que subdomain.test.example.com
existe e dá NOERROR
ao fazer o mesmo, existe uma maneira de verificar se existe um subdomínio profundo, mesmo que o subdomínio intermediário possa não estar lá necessariamente. Especificamente, estou procurando dicas ao investigar ou consultar subdomain.test.example.com
que apontem para a existência do subdomínio profundo.
Responder1
Suponha que test.example.com não exista e forneça NXDOMAIN ao executar dig nele, mas eu sei que subdomain.test.example.com existe
Isso não é possível, de acordo com as especificações do DNS. Ou dito de outra forma: significa que o servidor de nomes oficial para esta zona está quebrado.
VerRFC 8020: NXDOMAIN: Não há realmente nada por baixo
Quando um resolvedor DNS de cache iterativo recebe uma resposta NXDOMAIN, ele DEVE armazená-la em seu cache e, em seguida, todos os nomes e conjuntos de registros de recursos (RRsets) naquele nó ou abaixo dele DEVEM ser considerados inacessíveis. Consultas subsequentes para tais nomes DEVEM gerar uma resposta NXDOMAIN.
Responder2
Concordo com Patrick, mas gostaria de esclarecer mais sobre quais são as expectativas reais:
Se você tiver registros em subdomain.test.example.com
mas nenhum em test.example.com
, isso não significa que test.example.com
"não existe", o termo para esse tipo de nó vazio énão-terminal vazio(às vezes otorrinolaringologista).
Quando você consulta algum nome que é um não-terminal vazio, o tipo adequado de resposta énão NXDOMAIN
(o que significaria "não existe tal nome") mas sim NODATA
(que significa "não há registros para o tipo solicitado", no caso ENT independente do tipo solicitado).
Para maior clareza, o NODATA
tipo de resposta é: código de resposta NOERROR
, SOA
na AUTHORITY
seção.
A indicação de que hápoderiaexistem outros subdomínios é que a resposta que você obteve não foi NXDOMAIN
. Se você também determinar que não há registros com esse nome (ou seja, é um não-terminal vazio), deve haver algum subdomínio (um ou mais níveis abaixo) onde realmente existe algo.
O outro aspecto que a pergunta implica e que Patrick abordou é que algumas implementações de servidores de nomes apresentam erros e são enviadas NXDOMAIN
mesmo em situações em que esta não é a resposta apropriada.
Esse tipo de falha de implementação resulta no fornecimento de dados inconsistentes, onde o que deveria ser uma estrutura em árvore é, na verdade, dividido em pedaços que não se conectam. Esse comportamento falha particularmente na visão de qualquer resolvedor que depende de NXDOMAIN
respostas previamente observadas que realmente significam algo, além de não ser possível representá-lo no DNSSEC.