通过nfsen监控sflow流量

背景介绍

前篇文章写了通过elk分析sflow流量,在实际生产使用时有个工具可以比较容易分析异常流量的产生,比如攻击时查找的攻击者的ip,这个工具就是nfsen。

前期准备

博主的机器仍然是centos6.8,在安装nfsen之前需要安装配置必要的软件环境。

1
2
3
4
5
# yum install -y httpd php wget gcc make rrdtool-devel rrdtool-perl perl-MailTools perl-Socket6 flex byacc
# vim /etc/selinux/config
set SELINUX=disabled
# sudo service httpd start
# chkconfig httpd on

下载安装nfdump

1
2
3
4
5
6
7
# mkdir /nfsen
# cd /nfsen
# wget https://sourceforge.net/projects/nfdump/files/stable/nfdump-1.6.13/nfdump-1.6.13.tar.gz
# tar zxvf nfdump-1.6.13.tar.gz
# cd nfdump-1.6.13
# ./configure --enable-nfprofile --enable-nftrack --enable-sflow
# make && sudo make install

下载安装启动nfsen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# cd /nfsen
# wget https://sourceforge.net/projects/nfsen/files/stable/nfsen-1.3.6p1/nfsen-1.3.6p1.tar.gz
之前下了nfsen的1.3.7和1.3.8的版本发现编译总是出错
# tar zxvf nfsen-1.3.6p1.tar.gz
# cd nfsen-1.3.6p1
# cp etc/nfsen-dist.conf etc/nfsen.conf
# vim etc/nfsen.conf
按下面要求修改nfsen配置文件,其他默认就行
$BASEDIR = "/data/nfsen";
$HTMLDIR = "/var/www/html/nfsen/";
$USER = "apache";
$WWWUSER = "apache";
$WWWGROUP = "apache";
%sources = (
'BGP' => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'sflow' },
);
@plugins = (
# profile # module
# [ '*', 'demoplugin' ],
['live', 'PortTracker'],
);
# mkdir /data
# chown -R apache:apache /data
# ./install.pl etc/nfsen.conf
# vim /etc/init.d/nfsen
添加如下内容
#!/bin/bash
#
# chkconfig: - 50 50
# description: nfsen
DAEMON=/data/bin/nfsen
case "$1" in
start)
$DAEMON start
;;
stop)
$DAEMON stop
;;
status)
$DAEMON status
;;
restart)
$DAEMON stop
sleep 1
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0
安装PortTracker插件
# cd /nfsen
# cp nfsen-1.3.6p1/contrib/PortTracker/PortTracker.pm /data/nfsen/plugins/
# cp nfsen-1.3.6p1/contrib/PortTracker/PortTracker.php /var/www/html/nfsen/plugins/
# mkdir /data/ports-db
# chown apache:apache /data/ports-db
# nftrack -I -d /data/ports-db/
# service nfsen start 启动服务即可

nfsen比较好搭建,搭建完打开http://服务器ip/nfsen/nfsen.php即可访问,界面如下:
nfsen
在流量图上选择一个时间点
nfsen1
在下面的filter选项中选中flow records和bps,点击process即按带宽来排名流信息
nfsen2
下图是porttracker插件的显示,可以看到以443的流量为大头
porttracker

至此nfsen搭建完毕,科科

感谢您的支持将鼓励我继续创作!