千家信息网

nfdump、nfcapd的介绍和安装

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章给大家分享的是nfdump、nfcapd的介绍和安装,小编觉得挺实用的,为此分享给大家做个参考。一起跟随小编过来看看吧。netflow接收器有了发送器,还需要有接收器才能收集数据和分析数据,商
千家信息网最后更新 2024年11月11日nfdump、nfcapd的介绍和安装

这篇文章给大家分享的是nfdump、nfcapd的介绍和安装,小编觉得挺实用的,为此分享给大家做个参考。一起跟随小编过来看看吧。

netflow接收器

有了发送器,还需要有接收器才能收集数据和分析数据,商业软件有ManageEngine和SolarWinds,他们基本上按照埋点个数算钱或者按照流量收费,实在买不起。

后来找到了一个github上开源的软件,这个软件是nfsen的后台,叫nfdump,为啥没直接推荐nfsen,因为我觉nfsen的界面做的不好,而且流量图是png格式,很难二次开发,而nfdump将数据存储成文本文件,利于二次开发,可以存到数据库,再用grafana展示出来。

nfdump介绍

官网(github,如果打不开,请使用***):

https://github.com/phaag/nfdump/blob/master/README.md
2019年末,最新版本1.6.18,使用yum安装默认也是1.6.18版本。
nfdump是一个可以收集和处理netflow和sflow的工具,支持netflow v1,v5/v7,v9,IPFIX和sflow,支持IPv4和IPv6。

安装

环境:CentOS 7
更换yum源(可选操作):

cd /etc/yum.repos.d/mv CentOS-Base.repo CentOS-Base.repo.bakwget http://mirrors.163.com/.help/CentOS7-Base-163.repomv CentOS7-Base-163.repo CentOS-Base.repoyum update

安装nfdump

yum -y install nfdump

查看版本

nfdump -V

nfdump的五大工具

nfcapd-netflow收集器守护程序,收集从采集设备发来的flow数据,并写入文件中,默认5分钟存成一个文件。
nfdump-读取文件数据,并整合数据。nfdump从nfcapd存储的一个或多个文件中读取netflow数据。nfdump语法和tcpdump语法很像,他可以输出单个数据信息,也可以进行聚合输出统计信息,还可以根据packets或者bytes等参数进行排序。
nfanon-匿名记录Netflow记录,流记录中的IP地址使用CryptoPAn方法进行匿名处理。
nfexpire-丢弃旧的数据,管理数据到期。设置适当的限制。用于NfSen。
nfreplay-Netflow重放,从nfcapd存储的文件中读取netflow数据,发送到另一台主机。

命令参数

nfcapd 命令参数

-h:帮助-w:将文件旋转与接下来的n分钟(由-t指定)间隔对齐,实测并没看出他的用处,同步文件周期完全受到-t参数影响。单是用此参数,没有效果。-t:(重要)指定旋转文件的时间间隔,以秒为单位。 默认值为300s。决定了生成nfcapd文件的周期。建议选择60s。-b:监听的目标地址,可以使ip或hostname。-4:仅监听ipv4,可以和-b搭配使用。-6:仅监听ipv6,可以和-b搭配使用。-J:加入多播组。-p:(重要)监听端口。-l:(重要)设置输出目录。-s:(有用)子层次结构,文件内部存储接口,可以自动生成文件夹。详见man。-n:(有用)当有多个数据源时,可以指定数配置数据源参数,格式:Ident,IP,logdir。-P:设置pid文件。-R:将传入的数据包重复发送到IP地址/端口。 最多8个中继器。-B:设置套接字缓冲区大小。-D:(重要)后台运行-T:(重要)需要记录的参数,详见man。-V:查看版本。

nfdump 命令参数

-h:帮助-V:查看版本-a:通过五元组protocol, srcip, dstip, srcport and dstport进行汇总。-A:选择性汇总,可以单独汇总srcip或者protocol,也可以使用','分割,汇总多个参数。格式-A proto,srcip,dstport,详见man。-b:和-a相似,区别只是将双向流量汇总成一个值。-B:和-A相似,区别只是将双向流量汇总成一个值。-r:读取单个文件。-w:将结果输出到文件。默认ASCII格式。-n:查看前n位数据。-c:从第一行读取到指定行数。-D:使用dns将ip解析成主机名-N:输出纯数字,比如tcp协议用6显示。-s:格式-s [/],为生成统计信息,并根据排序。详见man。-q:不打印标题行和底部状态行。-I:从-r指定的nfcapd文件内读取摘要信息。-M:读取多个文件夹,格式:/dir/dir1:dir2:dir3 Read the same files from '/dir/dir1' '/dir/dir2' and '/dir/dir3'。-O:进行排序的参数,比如bytes,tstart,flows等。-R:读取多个文件。格式:-R nfcapd.201912301833:nfcapd.201912301837。-o:输出文件格式,比如csv,json,long等,也可以自定义。

配置实例

nfcapd 配置实例

使用9995端口进行监听,并存储到一个文件内,识别v9的所有标签

nfcapd -z -w -D -T all -l /netflow/spool/allflows -I any -S 2 -P /var/run/nfcapd.allflows.pid

通过8887端口收集来自两个不同采集器的数据,并存储在单独的文件夹中,并将缓冲区大小设置为128000字节

nfcapd -z -w -D -T all -p 8877 -n upstream,192.168.1.1,/netflow/spool/upstream -n peer,192.168.2.1,/netflow/spool/peer -S 2  -B 128000

只接收单一采集器的数据,并且只识别扩展3,4,5的数据,在存储完一个文件后,执行一个命令,同时设置流量自动过期

nfcapd -w -D -T 3,4,5 -n upstream,192.168.1.1,/netflow/spool/upstream -p 23456 -B 128000 -x '/path/command -r %d/%f'  -P /var/run/nfcapd/nfcapd.pid -e

nfdump 配置实例

查询前一百行数据,并匹配出tcp协议,源地址172.16.17.18或者目的地址172.16.17.19的流

nfdump  -r /and/dir/nfcapd.201107110845 -c 100 'proto tcp and ( src ip 172.16.17.18 or dst ip 172.16.17.19 )' 

查询7月11日8:45到9:45,IP地址为192.168.1.2的记录

nfdump -R /and/dir/nfcapd.201107110845:nfcapd.201107110945 'host 192.168.1.2' 

查询多个数据源下,前20的数据流

nfdump  -M  /to/and/dir1:dir2 -R nfcapd.200407110845:nfcapd.200407110945 -s record -n 20 

查找18:33分的数据,汇聚源地址和目的地址,并以bytes进行降序排序,且用特定格式输出前二十个数据

nfdump -r nfcapd.201912301833 -o "fmt:%ts %td %pr %sap -> %dap %flg %tos %pkt %byt %fl" -A srcip,dstip -O bytes -n 20

效果

以上就是nfdump、nfcapd的的详细内容了,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注行业资讯!

0