我读到 DNS 数据包的附加部分仅用于响应。这意味着它在查询中应该是空的。但是当我运行正常的 dig 命令 ( dig google.com
) 然后查看发送的数据包(使用 wireshark)时,我意识到附加信息部分不为空(我确定我查找的是查询而不是响应)。
当我使用 drill () 运行相同操作时,drill google.com
附加信息部分是空的,正如我认为的那样。
您能向我解释一下本节中附加信息的含义吗?
提前致谢!
答案1
您正在阅读的信息略有过时。附加部分还用于包装EDNS0伪节,您可以在数据包捕获中看到它指定的位置EDNS0 version: 0
。Option: Cookie
指定这是一个DNS cookie。附加部分用于此目的,因为可以让较旧的客户端忽略此数据而不拒绝数据报。它使用称为的伪记录类型,OPT
当无法识别时将被忽略。
您观察到的区别是,您的 dig 命令版本填充了该选项字段,但 drill 没有。