海运的博客

Linux下NetFlow输出工具Fprobe

发布时间:October 27, 2012 // 分类:常用软件 // 4 Comments

Fprobe通过libpcap监听数据并输出NetFlow格式到分析端,极大方便网络管理及监控。
所需组件安装:

yum install libpcap-devel

Fprobe安装:

wget http://sourceforge.net/projects/fprobe/files/fprobe/1.1/fprobe-1.1.tar.bz2
tar jxvf fprobe-1.1.tar.bz2
cd fprobe-1.1/
./configure 
make
make install

Fprobe监听eth0数据并输出NetFlow到127.0.0.1:9995:

fprobe -i eth0 127.0.0.1:9995

NetFlow分析端可使用Nfsen,测试下是否有Netflow数据输出:

tcpdump -i lo -nn port 9995
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 96 bytes
14:49:33.004041 IP 127.0.0.1.57368 > 127.0.0.1.9995: UDP, length 1464
14:49:43.006334 IP 127.0.0.1.57368 > 127.0.0.1.9995: UDP, length 1464
14:49:48.003252 IP 127.0.0.1.57368 > 127.0.0.1.9995: UDP, length 264
14:49:53.002271 IP 127.0.0.1.57368 > 127.0.0.1.9995: UDP, length 744
14:49:58.002295 IP 127.0.0.1.57368 > 127.0.0.1.9995: UDP, length 456

Netflow分析工具Nfsight安装

发布时间:October 23, 2012 // 分类:流量监控 // 2 Comments

Nfsight分为两部分,后端以Nfsen插件安装,前端以PHP显示分析图表。
安装Perl Mysql支持:

yum install perl-DBD-MySQL

后端Nfsen插件安装:

wget http://sourceforge.net/projects/nfsight/files/nfsight-beta-20110908.tgz
tar zxvf nfsight-beta-20110908.tgz 
cd nfsight-beta-20110908/
cp backend/nfsight.pm /usr/local/nfsen/plugins/
mkdir /usr/local/nfsen/plugins/nfsight
chown -R apache:apache /usr/local/nfsen/plugins/nfsight

前端Web安装:

cp -r frontend/ /var/www/html/nfsight
chown -R apache:apache /var/www/html/nfsight

新建Mysql数据库Nfsight:

mysql -u root -p -e "create database ngsight;"

然后通过浏览器访问www.haiyun.me/nfsight/installer.php安装提示进行安装,最后将屏幕出现的配置信息添加到Nfsen配置文件。

@plugins = (
    # profile    # module
    # [ '*',     'demoplugin' ],
      [ 'live',   'PortTracker'], 
      [ '*', 'nfsight' ],  
);

%PluginConf = (
    nfsight => {
        path => "/usr/local/nfsen/plugins/nfsight",
        expiration => "180",
        network => {
            "192.168.1.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",
    },
);

重启Nfsen加载Nfsight插件:

/usr/local/nfsen/bin/nfsen reload

查看插件是否加载成功:

grep -i nfsight /var/log/messages
Oct 23 11:30:12 master nfsen[28085]: Loading plugin 'nfsight': Success

添加计划任务:

06 * * * *  wget --no-check-certificate -q -O - http://management:aggregate@127.0.0.1/nfsight/aggregate.php

还有默认登录nfsight主界面或设置界面会联网检查是否有新版本,可通会有点慢,可禁用此功能。

cat /var/www/html/nfsight/config.php 
"check_version"=>      "0",

效果图如下:
nfsight分析netflows网络状态.png

XenServer5.6网络配置为虚拟交换机Open vSwitch模式并开启NetFlow输出

发布时间:October 22, 2012 // 分类:虚拟化 // No Comments

新安装的XenServer6默认为Open vSwitch,XenServer5.6默认为网桥模式,查看当前网络模式:

cat /etc/xensource/network.conf
openvswitch

更改网络为虚拟交换机Open vSwitch模式:

#https://www.haiyun.me
xe-switch-network-backend openvswitch

切换回网桥bridge模式:

xe-switch-network-backend bridge

配置虚拟交换机输出NetFlow数据到分析端,可参考:Linux下Nfsen和Nfdump配置Netflow分析端

ovs-vsctl -- --id=@netflow create netflow targe=\"192.168.1.5:9995\" active_timeout=30 \
-- set bridge xenbr0 netflow=@netflow

输出sFlow数据:

ovs-vsctl -- --id=@sflow create sflow agent=eth1 targe=\"192.168.1.5:9995\" header=128 sampling=512 polling=30 \
-- set bridge xenbr0 sflow=@sflow

查看是否有NetFlow数据输出:

tcpdump -nn port 9995
tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
18:12:16.535132 IP 192.168.1.15.55104 > 192.168.1.3.9995: UDP, length 600
18:12:17.544569 IP 192.168.1.15.55104 > 192.168.1.3.9995: UDP, length 216

更改Netflow或sFlow参数:

ovs-vsctl set NetFlow xenbr0  targe=\"192.168.1.3:9995\"

查看NetflowsFlow列表:

ovs-vsctl list netflow/sflow

删除Netflow/sFlow:

ovs-vsctl remove bridge xenbr0 netflow/sflow <uuid>

据说Open vSwitch模式在XenServer下并不稳定,只为输出NetFlow可使用Fprobe

Nfsen插件PortTracker安装

发布时间:October 21, 2012 // 分类:流量监控 // No Comments

之前有介绍Nfsen和Nfdump安装,本次记录下Nfsen端口查看插件PortTracker安装。
重编译Nfdump开启nftrack:

cd /usr/local/src/nfdump-1.6.6/
./configure --enable-nfprofile --enable-nftrack --with-rrdpath=/usr/bin
make
cp bin/nftrack /usr/local/bin/

新建PortTracker数据存放目录:

mkdir /usr/local/nfsen/ports-db
chown -R apache:apache /usr/local/nfsen/ports-db/

编辑PortTracker.pm修改$PORTSDBDIR目录:

vim /usr/local/src/nfsen-1.3.6p1/contrib/PortTracker/PortTracker.pm
my $PORTSDBDIR = "/usr/local/nfsen/ports-db";

复制PortTracker插件至相应目录:

cp PortTracker.pm /usr/local/nfsen/plugins/
cp PortTracker.php /var/www/html/nfsen/plugins/

修改Nfsen配置文件添加插件信息:

vim /usr/local/nfsen/etc/nfsen.conf 
#https://www.haiyun.me
@plugins = (
[ 'live',   'PortTracker'], 
);

生成PortTracker数据:

sudo -u apache nftrack -I -d /usr/local/nfsen/ports-db/

重新加载Nfsen:

/usr/local/nfsen/bin/nfsen reload

等5分钟左右访问Nfsen界面选择Plugins即可看到相应信息:
Nfsen插件PortTracker.png

Centos5/Linux安装Nfdump和Nfsen图形界面分析netflow数据

发布时间:October 20, 2012 // 分类:流量监控 // 9 Comments

Nfdumplinuxnetflow数据采集分析工具,Nfsen是基于nfdump是web界面工具,服务器需先安装web服务器和php环境。
安装rrdtool及所需组件:

yum install perl-rrdtool rrdtool rrdtool-devel rrdutils flex byacc

安装所需perl模块:

yum install perl-Socket6 perl-MailTools perl-Mail-Sender

安装Nfdump工具:

cd /usr/local/src/
wget http://downloads.sourceforge.net/project/nfdump/stable/nfdump-1.6.6/nfdump-1.6.6.tar.gz
tar zxvf nfdump-1.6.6.tar.gz 
cd nfdump-1.6.6/
./configure --enable-nfprofile --with-rrdpath=/usr/bin
make
make install
cd ../

下载配置Nfsen:

mkdir -p /usr/local/nfsen
wget http://downloads.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

修改Nfsen配置文件:

cat etc/nfsen.conf
#https://www.haiyun.me
$BASEDIR = "/usr/local/nfsen";
$HTMLDIR    = "/var/www/html/nfsen/";
$USER    = "apache";
$WWWUSER  = "apache";
$WWWGROUP = "apache";
%sources = (
    'upstream1'    => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' },
);

安装Nfsen:

./install.pl etc/nfsen.conf 

启动Nfsen:

/usr/local/nfsen/bin/nfsen start

配置路由或交换机将netflow数据发送到nfsen配置的端口,然后访问www.haiyun.me/nfsen/nfsen.php即可通过Nfsen浏览netflow数据。
nfsen分析netflow.png

分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...