Como verificar a existência de subdomínios profundos mesmo que os intermediários não existam?

Como verificar a existência de subdomínios profundos mesmo que os intermediários não existam?

Suponha que test.example.comnão exista e dê NXDOMAINao executar dignele, mas eu sei que subdomain.test.example.comexiste e dá NOERRORao 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.comque 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.commas 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 NODATAtipo de resposta é: código de resposta NOERROR, SOAna AUTHORITYseçã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 NXDOMAINmesmo 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 NXDOMAINrespostas previamente observadas que realmente significam algo, além de não ser possível representá-lo no DNSSEC.

informação relacionada