简介
本文主要是介绍一些开源的处理 netflow 的工具,关注 CERT NetSA Security Suite 的一些工具。CERT 是从是网络安全的,其主要是联合 CMU 大学做的大规模复杂网络威胁方面的分析。后续还有其他的处理工具,也会考虑更新。
本文测试环境:Ubuntu 22.04.5 LTS
YAF
YAF 全称 Yet Another Flowmeter,它主要的能力是从 pcap 文件中提取双向流,或者从实时的网络物理接口上面抓包提取双向流,然后把这些流导出 IPFIX 的格式,并且会生成一个IPFIX-based 格式的文件。然后这些文件可以用于它提到的类似 SiLK 的工具,或者 super_mediator 工具,Pipeline 5 工具等来进行处理。
安装
官网下载:yaf-2.18.3.tar.gz
需要安装部分依赖,参考下面的指令,注意自己所在的目录:
1 2 3 4 5 6 7 8 9 10 11
| wget https://tools.netsa.cert.org/releases/p0flib.tar.gz wget https://tools.netsa.cert.org/releases/yaf-2.18.3.tar.gz
tar -zxvf p0flib.tar.gz tar -zxvf yaf-2.18.3.tar.gz
cd p0flib/libp0lf ./configure make sudo make install
|
configure 的时候,由于使用的版本比较老,需要手动修改一个地方,参考下面的指令:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
cd yaf ./configure \ --enable-applabel \ --enable-p0fprinter \ --enable-plugins \ --enable-mpls \ --enable-entropy \ --enable-fpexport \ --enable-nonip make -j sudo make install
|
使用
主要是输入有两类,可以自行抓包生成一个 test.pcap,然后进行测试处置:
1 2 3 4 5
| yaf --in test.pcap --out flows.ipfix yafscii --in flows.ipfix --out readable_flow.txt
tshark -r flows.ipfix -V
|
其他
最新的 prelease 版本有一些依赖,可以支撑 nDPI 等。
super_mediator 是 IPFIX 处理中间件,将 YAF 处理的内容给 SiLK 工具使用。它可以把 YAF 获取到的 IPFIX 数据,处理成 csv 文件或 json 文件,甚至可以保存到 MySQL 数据库中。
安装
这里我们依然安装稳定版本,有一些坑需要注意,参考下面的指令:
1 2 3 4 5 6 7 8 9
| wget https://tools.netsa.cert.org/releases/super_mediator-1.13.0.tar.gz
tar -zxvf super_mediator-1.13.0.tar.gz sudo apt install libmysqlclient-dev sudo touch /usr/include/mysql/my_global.h
./configure --with-mysql --with-openssl make CPPFLAGS="-Dmy_bool=bool" sudo make install
|
注意一下版本,现在的mysql的依赖版本太高了,和原来的版本有所差别,所以需要处置一下。
使用
直接转换
有两个模式,分别转换成 json 格式或者 csv 格式。
1 2 3 4 5
| super_mediator --in flows.ipfix --out flows.json --output-mode JSON
super_mediator --in flows.ipfix --out flows.csv --output-mode CSV
|
守护进程
设置一个配置文件,例如:
1 2 3
| EXPORTER TEXT PATH "output.txt" EXPORTER END
|
更加复杂的使用方式,得参考官方网站给出的示例。
其他
最新的 pre-release 版本里面,进行了一些更新,包括对 DPI 的支持,并且可以把从 YAF 获取到的数据进行 DPI 分析过后发送给其他的 IPFIX 收集器。