为什么Snort不匹配DNS响应?

这可能是一个初学者的误解。

系统是:Ubuntu AMD64,14.04.03 LTS; 使用默认configuration安装Snort。

我正在写一个处理DNS响应的Snort规则。 为了确保一切正常,我写了下面的规则:

alert udp any any -> any any (msg:"UDP"; sid:10000001; rev:001;) 

然后我使用-r file.pcap和Snort来testing我的规则。

我的pcap文件中有4个数据包:

  1. 对Alogging的DNS请求。
  2. Alogging的DNS响应。
  3. DNS请求TXTlogging。
  4. 针对TXTlogging的DNS响应。

客户端和服务器都在同一个/ 24networking上。 使用默认的服务器端DNS端口(53)。

当我对我的pcap运行Snort时,它警告请求,但不是响应。 我甚至尝试过运行Snort'live'并使用dig来生成DNS请求。 相同的行为:对请求发出警报,但不响应。

 $ snort -A console -q -u snort -g snort -c snort.conf -r dns.pcap 11/05-19:13:00.754320 [**] [1:10000001:1] UDP [**] [Priority: 0] {UDP} 192.168.188.11:35977 -> 192.168.188.10:53 11/05-19:13:15.734932 [**] [1:10000001:1] UDP [**] [Priority: 0] {UDP} 192.168.188.11:50795 -> 192.168.188.10:53 

为什么Snort不响应警报?

根据这个问题 ,添加禁用校验和validation的-k none会导致所有四个数据包被警告。

当正在读取pcap文件时,我不太明白为什么校验和不能计算,但我想这实际上是一个不同的问题。