首页 > 解决方案 > 如何解决 Zeek 签名中的规则定义两次错误?

问题描述

我正在尝试学习 zeek 签名

签名文件名:dns.sig

    signature dns-intel{
ip-proto == udp
dst-port == 53
payload /.*life|.*bar/
event "[Suspicious DNS Query]" }

Zeek 文件名:myfirst.zeek

event signature_match (state: signature_state, msg: string, data: string) {
    if (state$sig_id == "dns-intel") {
        print fmt ("[Suspicious DNS query] %s", state$conn$dns$query)
    }

我在第 5 行遇到错误:规则定义了两次。这里有什么问题??

标签: signatureruleszeek

解决方案


根据您的错误代码,签名 ID 必须是唯一的:

第 5 行中的错误:规则定义了两次。这里有什么问题??

可能是您dns-intel在 dns.sig 文件中定义了具有相同 id: 的多个签名。

修改你的 dns.sig 文件并确保每个签名都有一个唯一的 id 应该可以修复错误。

我在本地机器上测试了您的签名和脚本,并且可以毫无问题地运行。


推荐阅读