流量分析




所需主机:


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