当前位置: 首页 > 工具软件 > Bro > 使用案例 >

bro简介

凌嘉志
2023-12-01

开源的被动流量分析器

支持在安全域之外进行大范围的流量分析(性能评估和错误定位)

部署bro之后,站点可以获得一个非常详细的记录网络行为的日志文件(所有线路上可见的每个连接,应用层传输如http会话以及请求的url,关键头,mime类型,dns请求和回应,ssl证书,smtp会话的关键内容等)。

Bro还有强大的内建函数来完成分析和检测任务,比如从http会话中抽取文件,检测恶意软件,报告脆弱的软件版本,识别web应用等。

 

 

特征:引自https://www.jianshu.com/p/a58d04df8322

在unix-like系统上运行,基于监控端口和网络窃听装置的全被动分析,标准的libpcap的抓包接口,线上以及线下分析,统一管理框架,开源。

离线分析和取证的全面日志记录,应用层协议的独立端口分析,支持多种应用层协议,应用层协议交换的文件内容分析,全ipv6支持,隧道检测与分析,扩展的检查,支持IDS的正则匹配。

脚本语言:图灵完备,基于事件,特定域数据类型,追踪与管理网络状态。

接口:结构化ASCII日志输出,ElasticSearch和DataSeries后端,将输入实时整合到分析工具中,bro将事件用c库与其他程序交换,以脚本语言出发任意处理。

Bro在Ubuntu16.04上安装以及基本功能的使用:

参考网址 https://www.howtoing.com/how-to-install-bro-on-ubuntu-16-04/

亲测有效

 

源代码编译过程需要大约20分钟,源文件+头文件大约350个,用到了c++,c,python,bro,yacc等。

 

关于bro的脚本使用,更详细的内容参见bro官网中的文档部分。

 

Bro日志:

高层次入口(high level entries)的流,和低层次的事件相对应

http请求/应答

用SMTP发送的邮件

SSH上的一次登陆操作

日志(是logs,而不是log)

每一个流都有它自己的类型(with its own set of fields)

不只一个文件?有很多个日志文件

SMTP日志有‘from’和‘subject’域

HTTP日志有‘method’和‘uri’域

‘from’域对于HTTP而言没有意义,同样的,‘method’域对于SMTP而言也没有意义

 

Bro脚本语言

除了基本的数据类型、函数之类的东西,还有一些比较复杂的内容。。

事件(events)

钩子(hook)

复合类型:

集合(set) 类似c++中的set类型

表(table) 类似python中的数组

向量(vector)类似c++中的vector类型

记录(record) 类似c语言中的结构体

日志:(一些日志操作)

过滤日志(filtering logs)

重命名日志(rename logs)

通知(notice)

总结统计(sumstat):使用了Summary Statistics Framework(比较难用,详细见官网文档)

The Intel Framework(provides an interface to feed your own intelligence data into bro)

 

 

 

 类似资料: