BIND9:“消息解析失败:FORMERR”

BIND9:“消息解析失败:FORMERR”

我的 BIND 9.10.3 记录了一些奇怪的条目,例如:

Jan 12 12:44:49 www named[24776]: client 117.136.25.126#18977: message parsing failed: FORMERR
Jan 12 12:50:47 www named[24776]: client 117.136.25.126#18978: message parsing failed: FORMERR
Jan 12 13:00:08 www named[24776]: client 117.136.95.15#24805: message parsing failed: FORMERR

117.136.95.15 不在我的网络中,并且我不允许除本地主机之外的任何内容进行递归,因此它一定是我有权威的区域。

这是最近才开始的(1 月 5 日)。查看日志似乎只查询来自:

# zfgrep "message parsing failed: FORMERR" daemon.log*  | awk '{print $7}' |awk -F\. '{printf("%s.%s.x.x\n",$1,$2)}'  | sort | uniq -c | sort -n 
  1 101.27.x.x
  1 121.31.x.x
  1 1.84.x.x
  1 61.158.x.x
104 223.104.x.x
150 117.136.x.x

导致此问题。查看这些 IP 的 WHOIS 信息:

inetnum:        117.128.0.0 - 117.191.255.255
netname:        CMNET
descr:          China Mobile Communications Corporation
descr:          Mobile Communications Network Operator in China
descr:          Internet Service Provider in China
country:        CN

inetnum:        223.64.0.0 - 223.117.255.255
netname:        CMNET
descr:          China Mobile Communications Corporation
descr:          Mobile Communications Network Operator in China
descr:          Internet Service Provider in China
country:        CN

答案1

似乎 DNS 查询格式不正确。也许您的网络设备破坏了 UDP 流量,或者这些 IP 来自僵尸网络,正在寻找一些可利用的 DNS 服务器(我是这样认为的)

答案2

因此,我进行了 tcpdump,并从相同的两个网络获得了相当多的数据包,导致我的日志中出现相同的消息。

查看数据包,其 DNS 负载中似乎没有任何内容是正确的:

域名字段为二进制“0”。DNS 域标签是长度编码的 - 长度“0”表示“空名称” - 根区域具有空名称。

但由于 DNS 有效负载的其余部分也几乎完全由零组成,所以这可能只是巧合。

它可能是攻击,但更可能是损坏的软件(如防火墙)。

相关内容