bro/zeek的安装与使用过程

本文详细介绍如何在Ubuntu 16.4环境下安装并使用Zeek进行网络流量分析。包括两种安装方法:通过Docker快速部署及独立安装,并提供了解析pcap文件的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该博客主要的目的是将自己最近安装的bro/zeek进行整理,如有不对的地方希望大佬指正。其整理如下:
首先,我的安装环境是虚拟机ubuntu16.4。
bro/zeek的安装方式有两种,一种是利用容器docker进行安装,一种是单独的安装方式。我将首先讲述第一种安装方式。

一、zeek-docker安装方式

1.安装docker,按照网站上的方式进行安装即可。

https://www.cnblogs.com/blog-rui/p/11244023.html

2.获取开源代码

git clone https://github.com/zeek/zeek-docker.git

这里可能会出现链接不上某个网址,因此需要更新源并且多试几次才能解决问题
3.进入git仓库

 cd zeek-docker 

4.生成docker镜像

 make build-stamp_3.0.0

5.使用zeek进行解析
5.1 创建目录,便于存储后面需要解析的pcap文件,

mkdir /home/pcap

5.2 启动docker并且对于宿主机上的目录建立docker容器

sudo docker run -itd --rm --name lord_elmelloi -v /home/sj/pcap:/pcap broplatform/bro:3.0.0 /bin/bash

我已经完成了操作,因此会有这样信息显示。
在这里插入图片描述
-i 表示以交互式运行容器,
-t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能等进去,即分配一个伪终端
– name 为创建容器命名
-v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即宿主机目录:容器中目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机中做修改,然后共享到容器上
-d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进入容器)
-p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
-e 为容器设置环境变量
– network=host表示将主机的网络环境映射到容器中,容器的网络与主机相同
5.3进入docker并使用zeek解析pcap文件

sudo docker exec -it lord_elmelloi /bin/bash -c 'cd /pcap && zeek -r 2018-08-02-Hancitor-malspam-infection-traffic.pcap'

5.4解析成功,可以进入/home/sj/pcap进行查看
接卸的结果如图所示。
在这里插入图片描述

二、zeek单独安装方式

1.安装依赖包

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

2.下载所需安装包
不建议使用git clone --recursive https://github.com/zeek/zeek命令安装,因为使用命令非常缓慢。直接从官方网站上下载安装包,官方网址如下:

https://zeek.org/get-zeek/

3.使用命令安装
将自己下载的安装包进行解压,然后进入到解压后的文件夹下,使用命令依次操作:

./configure
make
sudo make install

在安装的过程中可能遇到依赖不匹配,因此要使用各种办法解决依赖问题,命令窗口中都有显示,针对具体问题进行具体解决。
4.使用zeekctl命令
(zeekctl命令主要时用来管理,但具体运用到什么地方暂时还不清楚,本文主要是使用zeek命令来离线分析pcap数据,这里只是在使用zeek的过程中使用到所以进行说明)
4.1进入/usr/local/zeek/bin使用

sudo python zeekctl

(使用./zeekctl会有相关的权限问题,进入zeekctl中也可以发现zeekctl是用python写的)
在这里插入图片描述
4.2初次需要使用install,然后使用start运行,zeek会生成相关的日志文件(目录在/usr/local/zeek/logs),用stop进行停止。
在这里插入图片描述
4.2.1其中可能遇到邮件无法发送的错误,需要将(/usr/local/zeek/etc/node.cfg)网络接口修改为自己电脑上的接口。
在这里插入图片描述
4.2.2出现错误时使用diag命令可以查看到更为准确的信息。
5.使用zeek命令
同样是进入到/usr/local/zeek/bin/,使用

sudo ./zeek local -r your.pcap或者sudo ./zeek local -r your.pcap LogAscii::use_json=T(生成json格式)

解析您的pcap数据,最后输出的文件在usr/local/zeek/bin/目录(自己查看了zeek命令所选项发现并没有相应的选项,所以并没有深究)。
6.注意事项
6.1进入usr/local/zeek/bin/并不能使用sudo python zeek运行zeek,使用zeek也一样,必须使用./zeek并加入所选项运行。为了避免权限的问题,我加入了sudo命令。
6.2zeek的配置文件在/usr/local/zeek/share/zeek/site/local.zeek中,可以根据自己的需要使用@load进行加载。
在这里插入图片描述
6.3加载的配置文件需要放入/usr/local/zeek/share/zeek/policy中才能起作用,否则执行zeekctl时会出现找不到相应的文件。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值