为什么 Snort 与 DNS 响应不匹配?

为什么 Snort 与 DNS 响应不匹配?

这很可能是初学者的误解。

系统为:Ubuntu AMD64,14.04.03 LTS;使用默认配置安装了 Snort。

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

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

然后我使用-r file.pcapSnort 来测试我的规则。

我的 pcap 文件包含 4 个数据包:

  1. DNS 请求 A 记录。
  2. A 记录的 DNS 响应。
  3. TXT 记录的 DNS 请求。
  4. TXT 记录的 DNS 响应。

客户端和服务器均位于同一 /24 网络上。使用默认服务器端 DNS 端口 (53)。

当我针对我的 pcap 运行 Snort 时,它会对请求发出警报,但不对响应发出警报。我甚至尝试过“实时”运行 Snort 并使用它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 没有对响应发出警报?

答案1

按照这个问题,添加-k none,禁用校验和验证,导致所有四个数据包都被警告。

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

相关内容