BRO分析工具

bat_min的Python项目详细描述


bro分析工具

bat python包支持使用pandas、scikit learn和spark处理和分析bro数据

为什么是蝙蝠?

Bro已经有了一个灵活、强大的脚本语言,为什么我应该使用BAT?

卸载:运行统计、状态机、机器学习等复杂任务。应该 从Bro卸载,以便Bro能够集中精力高效处理大容量网络流量。

data analysis:我们有大量的支持类,帮助从原始bro数据连接到包 像熊猫一样,scikit学习和火花。我们还提供了示例笔记本,演示了如何逐步获取 从这里到那里。

示例:将bro日志作为python字典拉入

frombatimportbro_log_reader...# Run the bro reader on a given log filereader=bro_log_reader.BroLogReader('dhcp.log')forrowinreader.readrows():pprint(row)

output:每一行都是一个很好的python字典,时间戳和类型都被正确转换。

{'assigned_ip': '192.168.84.10',
'id.orig_h': '192.168.84.10',
'id.orig_p': 68,
'id.resp_h': '192.168.84.1',
'id.resp_p': 67,
'lease_time': datetime.timedelta(49710, 23000),
'mac': '00:20:18:eb:ca:54',
'trans_id': 495764278,
'ts': datetime.datetime(2012, 7, 20, 3, 14, 12, 219654),
'uid': 'CJsdG95nCNF1RXuN5'}
...

示例:bro log to pandas dataframe(在一行代码中)

frombat.log_to_dataframeimportLogToDataFrame...# Create a Pandas dataframe from a Bro logbro_df=LogToDataFrame('/path/to/dns.log')# Print out the head of the dataframeprint(bro_df.head())

output:所有bro日志数据都在p and as数据框中,并以适当的类型和时间戳作为索引

                                                     query      id.orig_h  id.orig_p id.resp_h \
ts
2013-09-15 17:44:27.631940                     guyspy.com  192.168.33.10       1030   4.2.2.3
2013-09-15 17:44:27.696869                 www.guyspy.com  192.168.33.10       1030   4.2.2.3
2013-09-15 17:44:28.060639   devrubn8mli40.cloudfront.net  192.168.33.10       1030   4.2.2.3
2013-09-15 17:44:28.141795  d31qbv1cthcecs.cloudfront.net  192.168.33.10       1030   4.2.2.3
2013-09-15 17:44:28.422704                crl.entrust.net  192.168.33.10       1030   4.2.2.3

更多示例

  • 轻松地将任何bro日志摄取到python中(处理动态跟踪和日志旋转)
  • bro登录到pandas dataframes和scikit learn
  • 动态监视files.log并进行virustotal查询
  • 动态监视http.log并显示“不常见”用户代理
  • 对提取的文件运行yara签名
  • 检查X509证书
  • 异常检测
  • 有关详细信息,请参见BAT Examples

分析笔记本

bat支持对来自bro的实时数据进行处理、分析和机器学习。

安装

$ pip install bat

谢谢

  • Dummyencoder基于Tom Augspurger的《芝加哥大Pydata 2016》Talk

Kitware Logo

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在jprogressbar上添加文本?   java生成30到32位之间的随机数   我想从我自己的服务器而不是java worldwind中的nasa服务器获取数据   jsp中带有外部java文件的html计数器   java如何找到运行Servlet的主机和端口   我怎么能看到数学。java中的cos方法计算平方根?   java这个docker run命令做什么?   java如何在将表单提交到servlet后将原始JSP保存在URL中?   如何在Java中访问Arraylist中的字典数据?   java JPA如果我有一个实体被用作复合键,那么级联是否也构成复合键的一部分?   连接Java:文件读取/添加到文件程序时未按预期工作(逻辑错误)   java从Android向PLC发送布尔值   java Get build。gradle文件作为一个。类文件   Youtube API V3 Java无需调用浏览器即可上传视频   java如何在Unittest中测试StackOverflower错误   实现方法中的java异常处理   java这个::instanceMethod在java8中用作方法参数有什么用途   java偶尔会获得javax。邮政使用javamail阅读gmail电子邮件时的FolderClosedException