google.com 上的 DNS 请求。QTYPE = 0xff 不返回任何条目

网络工程 UDP dns
2022-02-19 22:17:27

我已经编写了自己的 DNS 请求客户端,但我有一些有趣的行为。

如果我发送带有 QTYPE 部分 = 0xff 的请求,我会得到一个有效的响应,但是没有条目。

My Request:
0x70 0x3c 0x1 0x0 0x0 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x6 0x67 0x6f 0x6f 0x67 0x6c 0x65 0x3 0x63 0x6f 0x6d 0x0 0x0 0xff 0x0 0x1 

Response: id=24729 query=google.com. answers=[] nameservers=[] additionals=[]
RAW:
0x60  0x99  0x83  0x80  0x0  0x1  0x0  0x0  0x0  0x0  0x0  0x0  0x6  0x67  0x6f  0x6f  0x67  0x6c  0x65  0x3  0x63  0x6f  0x6d  0x0  0x0  0xff  0x0  0x1 

但是,如果我将 QTYPE 更改为 0x01,那么我会得到条目

Response: id=5496 query=google.com. answers=[A: name=. ttl=235 address=/172.217.4.174] nameservers=[] additionals=[]
0x15  0x78  0x81  0x80  0x0  0x1  0x0  0x1  0x0  0x0  0x0  0x0  0x6  0x67  0x6f  0x6f  0x67  0x6c  0x65  0x3  0x63  0x6f  0x6d  0x0  0x0  0x1  0x0  0x1  0xc0  0xc  0x0  0x1  0x0  0x1  0x0  0x0  0x0  0xeb  0x0  0x4  0xac  0xd9  0x4  0xae 

我希望 0xff 至少返回一些东西,考虑到它在 RFC 中被标记为“对所有记录的请求”。我对网络很陌生,所以如果有人可以帮助我确定为什么这是正确的行为,将不胜感激。

供参考的 RFC

QTYPE=0xff 是所有条目

QTYPE=0x01 是主机地址

1个回答

出于安全原因(另请参阅:DNS 放大攻击),当今许多公共 DNS 服务器会忽略对“ALL”的请求。