我可以更改响应中不应更改的DNS头标志吗?

我可以更改响应中不应更改的DNS头标志吗?,dns,udp,Dns,Udp,我正在开发一个程序,该程序通过有效查询创建虚拟DNS响应。假设查询中的递归所需标志为1,我将其更改为0。更改响应查询中不应更改的RD值后,响应消息是否会在客户端计算机中工作。因此,我在实现代码后找到了答案。答案是 “是”标题标志可以更改或更改为任何内容。只要标志表明该数据包是一个响应,一切都会很好。发送方不会检查发送方发送的标志是否已更改。目的是什么?测试DNS客户机(因此向他发送边缘案例是测试其行为的一种好方法),或者像任何真实世界的名称服务器那样发送有效回复(在这种情况下,尝试进入边缘案例并

我正在开发一个程序,该程序通过有效查询创建虚拟DNS响应。假设查询中的递归所需标志为1,我将其更改为0。更改响应查询中不应更改的RD值后,响应消息是否会在客户端计算机中工作。

因此,我在实现代码后找到了答案。答案是
“是”标题标志可以更改或更改为任何内容。只要标志表明该数据包是一个响应,一切都会很好。发送方不会检查发送方发送的标志是否已更改。

目的是什么?测试DNS客户机(因此向他发送边缘案例是测试其行为的一种好方法),或者像任何真实世界的名称服务器那样发送有效回复(在这种情况下,尝试进入边缘案例并没有真正的用处)?同样在这个阶段,没有更多的代码,你的问题在这里有点离题。我想用我的程序生成的标志字段创建一个虚假的dns响应。我想知道,如果响应中未更改的标志字段(如递归所需标志在响应消息中未更改)RD被定义为“递归所需-此位可以在查询中设置并复制到响应中”,则客户端是否可以识别我更改的位。它可能会被客户端忽略(因为它在响应中没有用处)