0

我可以通过什么方式编写规则来提醒我不应该有 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;) 以上不会显示在我的警报日志中。但是如果我删除 flags: 和 ack: 它会的。

4

1 回答 1

1

当设置 ACK 标志时,确认号永远不会是“0”,因此该规则不会按原样运行。

如果没有“ack:”,规则中唯一的检查是设置 ACK 标志(除了规则标题)。如果您在 TCP 上运行 DNS,您将看到 ACK 标志设置为 TCP 对话的正常部分,即每个端点确认收到的 TCP 段。

你在wireshark中看到的:

确认号:0x000001a4 [应为 0x00000000,因为未设置 ACK 标志]

可能是专家信息的一部分,告诉您确认号应该是非零(例如,当启动 tcp 连接时,第一个数据包应该只设置 SYN 标志。)

我真的不确定您要在这里完成什么。

于 2014-03-19T04:26:10.877 回答