我可以用什么方法编写一条规则来提醒我一个不应该有ACK的DNS?我对此非常困惑。
这就是我在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 :(得分:1)
当设置ACK标志时,确认号码永远不会为“0”,因此该规则不会按原样运行。
如果没有“ack:”,则规则中唯一的检查是设置ACK标志(除了规则标头)。如果您通过TCP运行DNS,您将看到ACK标志设置为TCP对话的正常部分,即每个端点确认收到的TCP段。
您在wireshark中看到的内容:
确认编号:0x000001a4 [应为0x00000000,因为未设置ACK标志]
可能是专家信息的一部分,告诉您确认号应该是非零(例如,当启动tcp连接时,第一个数据包应该只设置SYN标志。)
我真的不确定你要在这里完成什么。