流量分析
所需主机:
nfsen服务器一台:192.168.0.4(centos6.5)
需要:nfdump、nfsen、nfsight、PortTracker、HostStats、SURFmap
被监控主机一台:192.168.0.5(centos6.5)
需要:Fprobe
需要倒流的服务器上安装Fprobe
fprobe用于把流量导给nfsen
yum install libpcap-devel gcc -y
cd /root/soft
wget http://jaist.dl.sourceforge.net/project/fprobe/fprobe/1.1/fprobe-1.1.tar.bz2
tar jxvf fprobe-1.1.tar.bz2
cd fprobe-1.1
./configure
make
make install
安装完成后,使用如下命令将eth0的流量导入到192.168.0.4(流量分析服务器,默认端口9995) fprobe -i eth0 192.168.0.4:9995
在centos6.5上安装nfsen及插件
通过Fprobe把流量导给 nfsen 机器,在再nfsen机器上安装插件,分析流量状况
网络需求环境
内网nfsen服务器
iptables -F
setenforce 0
如要使得外网能够访问,需在网关做端口映射
所需编译环境
yum install -y httpd php wget gcc make rrdtool-devel rrdtool-perl perl-MailTools perl-Socket6 flex byacc perl php-mysql gcc-c++
安装nfdump,(nfsen安装过程中需要)
mkdir /root/soft/
cd /root/soft/
wget http://downloads.sourceforge.net/project/nfdump/stable/nfdump-1.6.11/nfdump-1.6.11.tar.gz
tar -zxvf nfdump-1.6.11.tar.gz
cd nfdump-1.6.11
./configure --enable-nfprofile --enable-nftrack --enable-sflow --with-rrdpath=/usr/bin/
make
make install
安装nfsen
mkdir /var/www/netflow
chown apache:apache /var/www/netflow
cd /root/soft/
wget http://iweb.dl.sourceforge.net/project/nfsen/stable/nfsen-1.3.6p1/nfsen-1.3.6p1.tar.gz
tar zxvf nfsen-1.3.6p1.tar.gz
cd nfsen-1.3.6p1/
cp etc/nfsen-dist.conf etc/nfsen.conf
将etc/nfsen.conf中对应的值设置为如下值
$BASEDIR = "/var/www/netflow";
$USER = "apache";
$WWWUSER = "apache";
$WWWGROUP = "apache";
%sources = (
'upstream1' => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' },
);
开始安装
./install.pl etc/nfsen.conf
启动nfsen:
/var/www/netflow/bin/nfsen start
配置apache
vi /etc/httpd/conf/httpd.conf
ServerAdmin [email protected]
DocumentRoot /var/www/nfsen/
ServerName dummy-host.example.com
文件末尾添加就行
启动apache,并访问http://192.168.0.4/nfsen.php
因为被监控主机已经向本机9995端口导入流量,所以开启9995端口后就会接收到信息
因此浏览器访问到服务时已经有些许信息了
设置启动脚本
把nfsen添加到/etc/init.d/
touch /etc/init.d/nfsen
vi /etc/init.d/nfsen
添加如下内容:
#!/bin/bash
#
# chkconfig: - 50 50
# description: nfsen
DAEMON=/var/www/netflow/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
添加权限设置开机启动并启动:
chmod 755 /etc/init.d/nfsen && chkconfig –add nfsen && chkconfig nfsen on
安装Nfsight插件
cd /root/soft
wget http://sourceforge.net/projects/nfsight/files/nfsight-beta-20130323.tgz/download
tar zxvf download
cd nfsight-beta-20130323/
cp backend/nfsight.pm /var/www/netflow/plugins/
mkdir /var/www/netflow/plugins/nfsight
chown -R apache:apache /var/www/netflow/plugins/nfsight
mkdir /var/www/nfsen/nfsight
cp -r frontend/* /var/www/nfsen/nfsight/
#nfsight的安装服务配置文件
chown -R apache:apache /var/www/nfsen/nfsight
如果没有安装MySQL,先安装启动
yum install mysql-server -y
service mysqld start
chkconfig mysqld on
设置下mysql的root密码为root(随意)
mysqladmin -uroot -p password 'root'
Mysql这里默认密码是空,回车即可
新建Mysql数据库Nfsight:
mysql -u root -proot -e “create database nfsight;”
打开浏览器,访问如下地址,开始安装
http://ip/nfsight/installer.php
第一步
确定环境已经搭建好
第二步
URL:默认
允许登录主机:设置成你需要在哪台主机上浏览此服务
管理员名称:随意
ID:随意
密码:随意
# 请记住自己的配置
第三步
Back-end settings设置页中Path to data files设置为如下:
/var/www/netflow/plugins/nfsight
第四步
数据库所在:如果是本机上装的数据库默认
数据库端口:mysql为3306
数据库用户:我的为root
数据库密码:我的为root
数据库名称:我的为nfsight
最后一步:
将浏览器上显示的配置添加到/var/www/netflow/etc/nfsen.conf对应的选项下
下为示例请勿照抄
@plugins = (
[ '*', 'nfsight' ],
);
%PluginConf = (
nfsight => {
path => "/data/nfsen/plugins/nfsight",
expiration => "180",
network => {
"10.2.1.0" => "24",
"10.1.200.0" => "24",
},
scanner_limit => "5",
print_int_scanner => "1",
print_ext_scanner => "1",
print_int_client => "1",
print_ext_client => "1",
print_int_server => "1",
print_ext_server => "1",
print_int_invalid => "1",
print_ext_invalid => "1",
sql_host => "localhost",
sql_port => "3306",
sql_user => "nfsight",
sql_pass => "nfsight",
sql_db => "nfsight",
},
);
安装完成后,重启服务
service nfsen restart
添加计划任务
crontab -e
05 * * * * wget –no-check-certificate -q -O - http://management:[email protected]/nfsight/aggregate.php
访问 http://ip/nfsight
安装PortTracker插件
cd /root/soft/nfsen-1.3.6p1/contrib/PortTracker
cp PortTracker.pm /var/www/netflow/plugins/
cp PortTracker.php /var/www/nfsen/plugins/
创建PortTracker数据存放目录
目录路径可以在PortTracker.pm配置文件中的PORTSDBDIR参数配置
vi /var/www/netflow/plugins/PortTracker.pm
修改PORTSDBDIR参数为/var/www/netflow/ports-db/
mkdir /var/www/netflow/ports-db/
chown -R apache:apache /var/www/netflow/ports-db/
chmod 775 /var/www/netflow/ports-db/
修改Nfsen配置文件添加插件信息: vi /var/www/netflow/etc/nfsen.conf
@plugins = (
# profile # module
# [ ‘*’, ‘demoplugin’ ],
[ ‘*’, ‘nfsight’ ],
[ ‘live’, ‘PortTracker’ ],
);
生成PortTracker数据: nftrack -I -d /var/www/netflow/ports-db/
chown -R apache:apache /var/www/netflow/ports-db/
重新加载Nfsen:
service nfsen restart
等5分钟左右访问Nfsen界面选择Plugins即可看到相应信息
安裝HostStats插件
用hoststats,可以根据时间来显示流量状况.
cd /root/soft
wget http://jaist.dl.sourceforge.net/project/hoststats/hoststats-1.1.5.tar.gz
tar zxvf hoststats-1.1.5.tar.gz
cd hoststats-1.1.5
./install-libnfdump.sh
mkdir /var/www/hoststats
./configure
make
make install
这个时候会提示要确认安装路径,输入/var/www/hoststats
还要输入数据与日志文件目录/var/www/hoststats/data-log
会在其下自动创建/data与/log目录
修改目录属主属组
chown apache:apache -R /var/www/hoststats
启动
/var/www/hoststats/hoststats start
添加到/etc/rc.local,开机启动
echo '/var/www/hoststats/hoststats start' /etc/rc.local
以上步骤完成后,稍等几分钟,即可在plugins菜单上看到界面.
安装SURFmap插件
SURFmap可以通过google map来展示ip连接情况
yum install php-gd php-pdo sqlite php-mbstring -y
service httpd restart
cd /root/soft
wget http://sourceforge.net/projects/surfmap/files/install.sh
chmod +x install.sh
./install.sh
重启nfsen,稍等几分钟,再看界面.
/var/www/netflow/bin/nfsen reload
如此,http://IP/nfsen.php页面中的Plugins下会显示出SURFmap、HostStats、PortTracker