Um pacote DNS com apenas um cabeçalho (sem perguntas ou recursos) é válido?

1

Olhando para a RFC 1035 , estou tentando determinar qual é a resposta adequada para um pacote que contém nada além de um cabeçalho DNS, onde todas as "contagens" são zero:

id         short     X
qdcount    short     0
ancount    short     0
nscount    short     0
arcount    short     0
<EOF>

Este pacote deve ter alguma resposta? Deve ser considerado um erro?

Kristopher Ives
fonte

Respostas:

3

Qualquer consulta DNS onde qdcountnão seja igual a 1deve ser rejeitada pelo servidor DNS.

O erro retornado provavelmente será "Erro de formato" (FORMERR, rcode = 1), o que é lógico, pois uma consulta DNS para nada deve ser considerada malformada.

Encontrar fontes oficiais para isso é bastante difícil. Encontrei para o servidor NSD um relatório de erro em que foi testado e observei: "QDCOUNT = 0 torna FORMERR".

Para o servidor BIND, StackOverflow post O que significa QD no DNS RFC1035, diz isso sobre QDCOUNT:

observe que esse campo é inútil agora, porque BIND sempre rejeitou QDCOUNT! = 1.

harrymc
fonte
0

Depende potencialmente do código de operação especificado no cabeçalho (existem vários - consulta, notificação, atualização etc.) Para consultas regulares, o RFC 1034 diz:

Uma consulta padrão especifica um nome de domínio de destino (QNAME), tipo de consulta (QTYPE) e classe de consulta (QCLASS) e solicita RRs correspondentes.

Eu interpretaria o uso do "destino" singular etc. como uma consulta sempre com exatamente um registro na seção de perguntas; qualquer outra coisa deve retornar FORMERR.

Existem variações (por exemplo, o IQUERY obsoleto usa consultas com pelo menos um registro na seção de respostas, mas na seção de perguntas vazias), mas não consegui encontrar nenhum código de operação que permita que todas as seções fiquem vazias.

gravidade
fonte