zeek流量分析工具安装与使用

2023-11-18

本文档记录流量分析工具 zeek 的安装过程以及如何使用它来分析 pcap 流量文件

环境说明

环境:ubuntu22、Anaconda(conda)22.9.0、python 3.9
在具备以上环境后,开始在unbuntu系统下安装流量分析工具 zeek

安装(单独安装)

先安装依赖环境

sudo apt-get install cmake make gcc g++ flex bison libpcap-dev libssl-dev python3 python3-dev swig zlib1g-dev
image.png依赖安装完成:
image.png

从官网下载zeek源码

官网链接:zeek官网
image.png
下载完文件名为 zeek-5.0.4.tar.gz。然后通过xftp将该文件上传至ubuntu中。
image.png

解压

tar -zxvf zeek-5.0.4.tar.gz
解压完成:
image.png
解压完成多了一个 zeek-5.0.4 的文件夹
image.png

编译

./configure
make
make install ——> 应该用 sudo make install
  1. 进入zeek-5.0.4文件夹,然后执行 ./configure

image.png
执行 ./configure 完成:
image.png

  1. 然后执行 make 命令

image.png
编译过程:(耗时较长)
image.png
编译完成:(历时1小时25分钟)
image.png
执行 make install:
但出现错误:
image.png
在查阅一些解决办法后,将 make install 改为 sudo make install:
image.png
发现编译成功:
image.png
至此,zeek工具安装成功!

添加环境变量

执行命令 sudo vim /etc/profile 进入配置文件,添加zeek的bin目录:
image.png
然后执行 source /etc/profile 来使配置文件生效

设置检测设备网络接口

需要将(/usr/local/zeek/etc/node.cfg)网络接口修改为自己电脑上的接口(否则后面会出现邮件无法发送的错误)
image.png
先查看自己电脑(虚拟机 ubuntu)的接口:为 ens33
image.png
然后执行 sudo vim node.cfg 来编辑该文件,修改接口:
image.png

添加监测环境的本地网络

使用 ip addr 查看:
image.png
然后进入 /usr/local/zeek/etc/networks.cfg 修改:
image.png

使用

使用 zeekctl命令进入 zeek工具

进入 /usr/local/zeek/bin 目录,执行命令:sudo python zeekctl
但出现错误:
image.png
虽然已经成功安装 Anaconda,具备python环境,但在该目录下执行 python 命令,不能识别python环境,因此可以加上 python环境的绝对路径,通过 which python 来找到该路径:/home/hxh/anaconda3/bin/python
image.png
再执行 sudo /home/hxh/anaconda3/bin/python zeekctl
发现成功进入zeek:
image.png

初次使用需要通过 install 命令安装

执行 install 命令:
image.png

然后使用 start 命令开始

执行 start 命令:
开启成功:
image.png
启动之后它就会一直运行下去,如果想停止Zeek实例,可以命令:stop

解析pcap文件

sudo ./zeek local -r xxx.pcap或者sudo ./zeek local -r xxx.pcap LogAscii::use_json=T(生成json格式)
解析完可以得到log日志文件
如果想要将一个pcap文件解析得到的日志文件存储在一个文件夹下:(具体可看代码批量执行)
则可以使用:
若存在在 tmp_data/train(当前在 /home/hxh)
cd ./tmp_data/train/; mkdir {logdir}; cd {logdir} ; zeek local -C -r {file} FilteredTraceDetection::enable=F tcp_attempt_delay=100sec tcp_close_delay=12min
其中 logfile表示日志文件夹名 file表示具体的pcap文件:
image.png

安装zeek包管理器zkg方便使用第三方库

安装依赖

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gitpython semantic-version
image.png

安装 zkg

通过 pip 安装 zkg:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple zkg
image.png

安装 zeek-flowmeter和zeek-flowN(不需要通过zkg安装)

github链接:zeek-flowmeter zeek-flowN 里面有详细的教程
image.png

创建文件夹,添加zeek脚本

首先找到 zeekscriptdir,可以通过执行命令 zeekctl config | grep zeekscriptdir 找到具体路径
然后在 /share/zeek/site/ 下创建文件夹,将scripts中的zeek文件复制进去
同理,也将 zeek-flowN中scripts里的文件复制进去
创建两个文件夹:
image.png
将 zeek 脚本添加进去:
image.png
image.png

配置

注意在完成添加脚本这一步后,还需要在 /usr/local/zeek/share/zeek/site/ 路径下编辑 local.zeek文件,添加
@load flowmeter 和 @load flowN 才能够自动调用脚本
image.png
不知道为啥,会出现如下错误:
image.png
所以我把那两行注释了,没什么影响
image.png
如此,再次调用命令,就能得到 flowmeter.log和flowN.log
image.png

一些问题

可以看到,这里却没有了 conn.log (不知道为啥)
那么,可以先将 local.zeek 里面的 @load flowmeter 和 @load flown 先注释掉,执行python文件,得到conn.log以及其他log,取消注释,再执行,得到flowmeter.log和flown.log
以上方式不行,因为两次执行 conn.log 与 flowmeter.log、flowN.log 中的流指纹(uid)不一样,在后续无法进行拼接。
再次尝试只将 @load flowN 注释,发现有 conn.log 和 flowmeter.log:
image.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

zeek流量分析工具安装与使用 的相关文章

随机推荐