Kri*_*ves 3 dns packet network-protocols
查看RFC 1035,我试图确定对于只包含 DNS 标头的数据包的正确响应是什么,其中所有“计数”均为零:
id short X
qdcount short 0
ancount short 0
nscount short 0
arcount short 0
<EOF>
Run Code Online (Sandbox Code Playgroud)
这个数据包应该有任何响应吗?是否应该将其视为错误?
任何qdcount不等于的DNS 查询都应1被 DNS 服务器拒绝。
返回的错误很可能是“格式错误”(FORMERR,rcode=1),这只是逻辑上的,因为根本没有任何内容的 DNS 查询必须被视为格式错误。
找到这方面的官方消息来源非常困难。我确实找到了 NSD 服务器的 错误报告 ,其中对其进行了测试并注明:“QDCOUNT = 0 使其变得FORMERR”。
对于 BIND 服务器,StackOverflow 帖子 What does QDstand for in DNS RFC1035 是这样描述 QDCOUNT 的:
请注意,该字段现在没有用处,因为 BIND 始终拒绝 QDCOUNT != 1。