我可以通过什么方式编写规则来提醒我 DNS 在不应该有 ACK 的时候?我对此很困惑。
这就是我在wireshark中看到的Acknowledgment Number: 0x000001a4 [should be 0x00000000 because ACK flag is not set]
但我想要一个能提醒我的规则。
下面的这条规则对我不起作用。
alert tcp any any -> 192.168.10.2 53 (msg:"MALFORMED DNS QUERY"; flags: A; ack:0; sid:10501;)
以上内容不会显示在我的警报日志中。但是如果我删除标志:和咳咳:它会的。
设置 ACK 标志时,确认号永远不会为"0",因此此规则不会按原样运行。
如果没有"ack:",规则中的唯一检查是 ACK 标志集(规则标头除外)。如果您通过TCP运行DNS,您将看到ACK标志设置为TCP会话的正常部分,即每个端点确认收到的TCP段。
你在Wireshark中看到的:
确认编号:0x000001a4 [应0x00000000,因为未设置 ACK 标志]
可能是专家信息的一部分,告诉您确认号在应该为非零时(例如,当启动 TCP 连接时,第一个数据包应仅设置 SYN 标志。
我真的不确定你在这里想完成什么。