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

本文档记录流量分析工具 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依赖安装完成:
zeek流量分析工具安装与使用_第1张图片

从官网下载zeek源码

官网链接:zeek官网
zeek流量分析工具安装与使用_第2张图片
下载完文件名为 zeek-5.0.4.tar.gz。然后通过xftp将该文件上传至ubuntu中。
zeek流量分析工具安装与使用_第3张图片

解压

tar -zxvf zeek-5.0.4.tar.gz
解压完成:
zeek流量分析工具安装与使用_第4张图片
解压完成多了一个 zeek-5.0.4 的文件夹
zeek流量分析工具安装与使用_第5张图片

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

zeek流量分析工具安装与使用_第6张图片
执行 ./configure 完成:
zeek流量分析工具安装与使用_第7张图片

  1. 然后执行 make 命令

zeek流量分析工具安装与使用_第8张图片
编译过程:(耗时较长)
zeek流量分析工具安装与使用_第9张图片
编译完成:(历时1小时25分钟)
zeek流量分析工具安装与使用_第10张图片
执行 make install:
但出现错误:
zeek流量分析工具安装与使用_第11张图片
在查阅一些解决办法后,将 make install 改为 sudo make install:
zeek流量分析工具安装与使用_第12张图片
发现编译成功:
zeek流量分析工具安装与使用_第13张图片
至此,zeek工具安装成功!

添加环境变量

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

设置检测设备网络接口

需要将(/usr/local/zeek/etc/node.cfg)网络接口修改为自己电脑上的接口(否则后面会出现邮件无法发送的错误)
zeek流量分析工具安装与使用_第14张图片
先查看自己电脑(虚拟机 ubuntu)的接口:为 ens33
zeek流量分析工具安装与使用_第15张图片
然后执行 sudo vim node.cfg 来编辑该文件,修改接口:
zeek流量分析工具安装与使用_第16张图片

添加监测环境的本地网络

使用 ip addr 查看:
zeek流量分析工具安装与使用_第17张图片
然后进入 /usr/local/zeek/etc/networks.cfg 修改:
zeek流量分析工具安装与使用_第18张图片

使用

使用 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:
zeek流量分析工具安装与使用_第19张图片

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

执行 install 命令:
zeek流量分析工具安装与使用_第20张图片

然后使用 start 命令开始

执行 start 命令:
开启成功:
zeek流量分析工具安装与使用_第21张图片
启动之后它就会一直运行下去,如果想停止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文件:
zeek流量分析工具安装与使用_第22张图片

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

安装依赖

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gitpython semantic-version
zeek流量分析工具安装与使用_第23张图片

安装 zkg

通过 pip 安装 zkg:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple zkg
zeek流量分析工具安装与使用_第24张图片

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

github链接:zeek-flowmeter zeek-flowN 里面有详细的教程
zeek流量分析工具安装与使用_第25张图片

创建文件夹,添加zeek脚本

首先找到 zeekscriptdir,可以通过执行命令 zeekctl config | grep zeekscriptdir 找到具体路径
然后在 /share/zeek/site/ 下创建文件夹,将scripts中的zeek文件复制进去
同理,也将 zeek-flowN中scripts里的文件复制进去
创建两个文件夹:
zeek流量分析工具安装与使用_第26张图片
将 zeek 脚本添加进去:
zeek流量分析工具安装与使用_第27张图片
zeek流量分析工具安装与使用_第28张图片

配置

注意在完成添加脚本这一步后,还需要在 /usr/local/zeek/share/zeek/site/ 路径下编辑 local.zeek文件,添加
@load flowmeter 和 @load flowN 才能够自动调用脚本
zeek流量分析工具安装与使用_第29张图片
不知道为啥,会出现如下错误:
zeek流量分析工具安装与使用_第30张图片
所以我把那两行注释了,没什么影响
zeek流量分析工具安装与使用_第31张图片
如此,再次调用命令,就能得到 flowmeter.log和flowN.log
zeek流量分析工具安装与使用_第32张图片

一些问题

可以看到,这里却没有了 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:
zeek流量分析工具安装与使用_第33张图片

你可能感兴趣的:(工具安装及使用,学习记录,网络安全基础,ubuntu,linux,网络安全)