首页 > 系统相关 >网络分析利器:在 Ubuntu 16.04 上安装 Bro

网络分析利器:在 Ubuntu 16.04 上安装 Bro

时间:2023-09-24 17:33:35浏览次数:65  
标签:dat 16.04 cfg bro Bro 网络分析 local usr

Bro 是一个开源的网络分析框架,侧重于网络安全监控。这是一项长达 15 年的研究成果,被各大学、研究实验室、超级计算机中心和许多开放科学界广泛使用。它主要由伯克利国际计算机科学研究所和伊利诺伊大学厄巴纳-香槟分校的国家超级计算机应用中心开发。

网络分析利器:在 Ubuntu 16.04 上安装 Bro_配置文件


Bro 的功能包括:

  • Bro 的脚本语言支持针对站点定制监控策略
  • 针对高性能网络
  • 分析器支持许多协议,可以在应用层面实现高级语义分析
  • 它保留了其所监控的网络的丰富的应用层统计信息
  • Bro 能够与其他应用程序接口实时地交换信息
  • 它的日志全面地记录了一切信息,并提供网络活动的高级存档

本教程将介绍如何从源代码构建,并在 Ubuntu 16.04 服务器上安装 Bro。

准备工作

Bro 有许多依赖文件:

  • Libpcap (http://www.tcpdump.org)
  • OpenSSL 库 (http://www.openssl.org)
  • BIND8 库
  • Libz
  • Bash (BroControl 所需要)
  • Python 2.6+ (BroControl 所需要)

从源代码构建还需要:

  • CMake 2.8+
  • Make
  • GCC 4.8+ or Clang 3.3+
  • SWIG
  • GNU Bison
  • Flex
  • Libpcap headers
  • OpenSSL headers
  • zlib headers

起步

首先,通过执行以下命令来安装所有必需的依赖项:

# apt-get install cmake make gcc g++ flex bison libpcap-dev libssl-dev python-dev swig zlib1g-dev

安装定位 IP 地理位置的 GeoIP 数据库

Bro 使用 GeoIP 的定位地理位置。安装 IPv4 和 IPv6 版本:

$ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
$wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz

解压这两个压缩包:

$ gzip -d GeoLiteCity.dat.gz
$ gzip -d GeoLiteCityv6.dat.gz

将解压后的文件移动到

/usr/share/GeoIP

目录下:

# mvGeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat
# mv GeoLiteCityv6.dat /usr/share/GeoIP/GeoIPCityv6.dat

现在,可以从源代码构建 Bro 了。

构建 Bro

最新的 Bro 开发版本可以通过 "git"仓库获得。执行以下命令:

$ git clone --recursive git://git.bro.org/bro

转到克隆下来的目录,然后使用以下命令就可以简单地构建 Bro:

$ cd bro
$ ./configure
$ make
make

命令需要一些时间来构建一切。确切的时间取决于服务器的性能。
可以使用一些参数来执行"configure" 脚本,以指定要构建的依赖关系,特别是"--with-*"选项。

安装 Bro

在克隆的 "bro" 目录中执行:

# make install

默认安装路径为"/usr/local/bro"。

配置 Bro

Bro 的配置文件位于 "/usr/local/bro/etcV 目录下。 这里有三个文件:

  • node.cfg,用于配置要监视的单个节点(或多个节点)。
  • broctl.cfg,BroControl 的配置文件。
  • networks.cgf,包含一个使用 CIDR 标记法表示的网络列表。

配置邮件设置

打开 "broctl.cfg"配置文件:

# $EDITOR /usr/local/bro/etc/broctl.cfg

查看 "Mail Options"选项,并编辑 "MailTo" 行如下:

# Recipient address for emails sent out by Bro and BroControl
MailTo = [email protected]

保存并关闭。还有许多其他选项,但在大多数情况下,默认值就足够好了。

选择要监视的节点

开箱即用,Bro 被配置为以独立模式运行。在本教程中,我们就是做一个独立的安装,所以没有必要改变。但是,也请查看 "node.cfg"配置文件:

# $EDITOR /usr/local/bro/etc/node.cfg

在 "[bro]" 部分,你应该看到这样的东西:

[bro]
type=standalone
host=localhost
interface=eth0

请确保"inferface" 与 Ubuntu 16.04 服务器的公网接口相匹配。
保存并退出。

配置监视节点的网络

最后一个要编辑的文件是 "network.cfg"。使用文本编辑器打开它:

# $EDITOR /usr/local/bro/etc/networks.cfg

默认情况下,你应该看到以下内容:

# List of local networks in CIDR notation, optionally followed by a
# descriptive tag.
# For example, "10.0.0.0/8" or "fe80::/64" are valid prefixes.
 
10.0.0.0/8 Private IP space
172.16.0.0/12 Private IP space
192.168.0.0/16 Private IP space

删除这三个条目(这只是如何使用此文件的示例),并输入服务器的公用和专用 IP 空间,格式如下:

X.X.X.X/X Public IP space
X.X.X.X/X Private IP space

保存并退出。

使用 BroControl 管理 Bro 的安装

管理 Bro 需要使用 BroControl,它支持交互式 shell 和命令行工具两种形式。启动该 shell:

# /usr/local/bro/bin/broctl

要想使用命令行工具,只需将参数传递给上一个命令,例如:

# /usr/local/bro/bin/broctl status

这将通过显示以下的输出来检查 Bro 的状态:

Name Type Host Status Pid Started
bro standalone localhost running 6807 20 Jul 12:30:50

结论

这是一篇 Bro 的安装教程。我们使用基于源代码的安装,因为它是获得可用的最新版本的最有效的方法,但是该网络分析框架也可以下载预构建的二进制格式文件。
下次见!


标签:dat,16.04,cfg,bro,Bro,网络分析,local,usr
From: https://blog.51cto.com/u_16223856/7586699

相关文章

  • Flink的Checkpoint状态和Kafka Broker上的提交位点一致
    Flink的Checkpoint状态和KafkaBroker上的提交位点一致消息队列Kafka连接器_实时计算Flink版-阿里云帮助中心https://help.aliyun.com/zh/flink/developer-reference/kafka-connector消息队列Kafka更新时间:2023-09-1910:33:27  本文为您介绍如何使用消息队列Kaf......
  • rabbitmq Broker not available; cannot force queue declarations during start: jav
    一、概述使用SpringBoot集成RabbitMQ遇到的问题。2023-09-2014:19:39.655INFO10256---[restartedMain]o.s.b.w.embedded.tomcat.TomcatWebServer:Tomcatstartedonport(s):80(http)withcontextpath''2023-09-2014:19:39.656INFO10256---[rest......
  • rabbitmq-如何确定消息发送到Broker
    交换机1工作生活中的交换机/路由器-------转发网络信号,且只是转发网络信号。2可以控制黑名单,隐藏网络,权限控制---除了信号不是他提供的,他只是转发信号服务外,其他的事儿,他是可以控制的。rabbitmq-如何确定消息发送到BrokerConfirm方式有三种模式:1、普通Confirm模式2、......
  • 分布式Broker模式介绍
    Broker模式定义了6类:Client,Server,Client_Proxy,Server_Proxy,Broker,Bridge。Server:责任:处理特定领域的问题,实现服务的细节,注册自己到Broker,处理请求并返回结果或异常。协作类:Server_Proxy,BrokerClient:Client是需要访问远程服务的应用程序,为此,Client发送请求到Broker,并从Broker上接收......
  • Ubuntu16.04下C语言编译及makefile应用
    一、不同环境下C语言的编译在Ubuntu16.04下:step1:编写main1.c主程序用nano编好,下面为主程序展示注意:1、主程序中函数的声明step2:编写子程序 step3:用gcc命令编译采用多个文件一起编译,输出放在main1中 gcc的常见用法:-c只生成目标文件不进行连接,用于对目标文件的分别......
  • CTF题目-must use [ctf-Web-Broswer]
    一道CTF题目,请求后页面如下: 这里根据提示需要我们使用ctf-Web-Broswer,这个很明显是更改User-Agent的一个套路python简单写下importrequestsurl='http://1.1.20.100:8001/'headers={"User-Agent":"ctf-Web-Broswer",}res=requests.get(url,headers=headers)print(......
  • 【智能优化算法】基于大逃杀优化算法BRO求解单目标优化问题附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • ubuntu版本为16.04,英文改成中文解决方法和解决中文输入法无效的问题
     终端输入:locale-gen然后等待下载,完成后重启ubuntu之后ubuntu就会变成中文,重启后,保留旧的名称。关于中文输入法无效,看这篇文章:  https://www.yisu.com/ask/10114874.html好了,就是下图这种  ......
  • ubuntu16.04安装cuda8.0+pytorch1.0.0
    1.安装cuda1.1查看ubuntu的英伟达显卡驱动nvidia-smi得到驱动版本是384.130,比较老,所以需要下载旧版本的cuda1.2查看显卡是否支持CUDA计算然后去到这里https://developer.nvidia.com/cuda-gpus查看你的显卡是否在表中,在的话你显卡就是支持CUDA计算的(CUDA-capable)。结果......
  • 【RocketMQ】启动NameServer和Broker报错Unrecognized VM option ‘UseConcMarkSweepG
    问题描述启动RocketMQNameServer和RocketMQBroker报错。mqnamesrv.cmdUnrecognizedVMoption'UseConcMarkSweepGC'Error:CouldnotcreatetheJavaVirtualMachine.Error:Afatalexceptionhasoccurred.Programwillexit.mqbroker.cmd[0.004s][warning][gc]......