首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bro signature_match触发器

Bro signature_match触发器
EN

Stack Overflow用户
提问于 2018-06-27 18:17:48
回答 1查看 398关注 0票数 0

我是第一次接触BRO,刚刚开始在BRO上测试签名。我有一个脚本main.bro和一个签名文件protosigs.sig。这个想法是比较签名,并在重写的事件函数- signature_match中做一些事情。我尝试使用以下方法来测试一个pcap文件,但测试没有生成notice.log。似乎没有调用函数- signature_match。有人能告诉我这里发生了什么事吗?非常感谢!

如何测试脚本和签名:

代码语言:javascript
复制
bro -r ./bittorrent.Transfer.pcap ./main.bro -s ./protosigs.sig

我的签名:

代码语言:javascript
复制
signature torrent-request-tcp {
    ip-proto == tcp
    payload /^\x13/
    tcp-state originator
    event "torrent-request-tcp"
}

我的脚本- main.bro:

代码语言:javascript
复制
@load base/frameworks/notice
@load base/frameworks/signatures/main
@load base/utils/addrs
@load base/utils/directions-and-hosts

#@load-sigs ./protosigs.sig

module bittorrent;

export {

    redef enum Notice::Type += {
        Torrent,
    };
}


event signature_match(state: signature_state, msg: string, data: string)
    &priority=-5
    {print "Triggerd!"; //at least this one should be triggered, but..
    if ( /torrent/ in state$sig_id ) 
        {
            print "TTTTTTTTTTTTTTTTTTT";
        NOTICE([$note=bittorrent::Torrent,
                $msg="Torrent whatsoever",
                $sub=data,
                $conn=state$conn,
                $identifier=fmt("%s%s", state$conn$id$orig_h, state$conn$id$resp_h)]);
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2018-08-21 05:03:15

Xifeng您的设置在这里似乎工作得很好(把"//“注释分隔符放在一边,您需要的是"#”)。签名也应该没问题,因为发起者的BitTorrent协议确实是以0x13开头的。我使用的pcap是这样的:

https://pcapr.net/view/gerald/2009/0/3/10/Comcast_Bittorrent_no_RST.pcap.html

你确定你的pcap没问题吗?确保它包含TCP握手,以便Bro可以正确引导连接状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51060252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档