bro研究学习

脚本学习

bro的默认脚本/usr/local/bro/share/bro每次更新版本都会被重新覆盖,除了/usr/local/bro/share/bro/site这个文件可以自定义修改,不会被覆盖
其中核心为base和policy
/usr/local/bro/share/bro/base处理收集网络活动基本的有用的状态或提供框架程序扩展功能脚本,程序会自动加载他,带来的代价不高
policy 代价较高,要因地适宜,是否使用要自己判断
PREFIX/share/bro/site/local.bro这个路径是我们写脚本的入口,从这里下手。

bro脚本定义

用&redef 定义变量和常量限定符:const ignored_types: set[Notice::Type] = {} &redef;
但其初始值可以修改通过redef在编译时修改
例如:
module Notice;
export {
    ...
    ## Ignored notice types.
    const ignored_types: set[Notice::Type] = {} &redef;
}

redef Notice::ignored_types += { SSL::Invalid_Server_Cert };

 
bro日志
dpd.log         协议在非标准端口上遇到的摘要
dns.log         所有DNS活动
ftp.log         一个日志的FTP会话级别的活动
files.log       摘要通过网络传输的文件。这些信息是聚合不同的协议,包括HTTP、FTP、SMTP
http.log        总结所有的HTTP请求的回复
known_certs.log  使用SSL证书
smtp.log        SMTP活动的一个总结
ssl.log         SSL会话的记录,包括所使用的证书
weird.log       一个意想不到的协议级活动的日志。只要bro协议分析遇到不符合期望的(如:一个RFC违规)日志会记录在这个文件中。注意,在实践中,现实世界的网络往往表现出大量的“杂质”,通常是不值得跟进。
 
bro命令行方式
bro -i en0 脚本.bro
从抓取的包 mypackets.trace进行分析
tcpdump -i en0 -s 0 -w mypackets.trace
bro -r mypackets.trace
bro -r mypackets.trace  脚本.bro
 
broctl方式
PREFIX/share/bro/site/local.bro这个路径是我们写脚本的入口
1、/usr/local/bro/share/bro/policy路径中新建自己的策略脚本路径:/usr/local/bro/share/bro/policy/mypolicy
2、将自己的脚本cp到该路径
3、在local.bro中添加脚本加载:@load mypolicy/file_extraction
4、在/usr/local/bro/logs/current路径查看脚本执行结果

bro就是一款IDS产品,用于旁路监听还是不错的,我们想做IPS还需要继续探索!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值