注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

使用nfsen来实现WEB展示netflow数据  

2013-11-15 12:55:04|  分类: 记录日志分析 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

    配置了nfdump来进行netflow流量分析,虽然可以得到需要的结果,但在web应用的世界,通过WEB接口,方便观察netflow数据。使用nfsen即可了。

    使用nfsen需要一些支持工具:rrdtool,Perl,Mailtool,。

    安装nfsen需要具备以下几个条件:

    1、安装rrdtool,这个在我的博客里已经有专门的文章介绍如何安装和配置了,这里就不多说了;

    2、安装PERL和PHP,这些绝大多数系统都自带了,我也不多说了,只是要注意nfsen需要Perl的Mailtool支持,而有些系统是没有装这个模块的,查找并下载最新版本的Mailtool;

    3、安装nfdump,注意nfsen需要nfprofile支持

    1)进入到nfsen\etc目录,把 nfsen-dist.conf拷贝成/etc/nfsen.conf

    2)编辑 nfsen.conf,修改几个参数:

        $BASEDIR这个最好改成一个独立装载的分区,因为netflow流是很大的;

        $USER $WWWUSER $WWWGROUP改成运行web服务器的用户名,也可自己建立一个用户,%sources 里添加数据源,这里主要起一个名字,并指定的监听端口,正如我们之前执行nfcapd所需要的参数一样;

       $HTMLDIR指定web目录,你可以直接放在 web根目录下,也可自建虚拟目录

    3) 一切OK后在目录下执行 /install.pl etc/nfsen.conf。

  此时要注意可能会提示你RRD.pm找不到的错误提示,则你要把rrdtool的lib目录加 入到perl的@INC变量中,我们可以使用export命令加入,比如export PERL5LIB=/usr/local/rrdtool-1.3.4/lib/perl/5.8.8,就可以把/usr/local/rrdtool- 1.3.4/lib/perl/5.8.8加入到@INC中了。

    4、安装完毕后,在$BASEDIR/bin下执行nfsen start即可之后即可通过访问WEB界面访问nfsen提供的接口。

    比如:

echo -e "<?php\n\theader(\"Location: nfsen.php\");\n?>" > /var/www/nfsen/index.php
**********

在此要特别注意的是,在执行NfSen时,它会自动去呼叫nfcapd,不需要手动执行nfcapd。因此要把刚刚执行的nfcapd从行程池中删除,使 用指令为「kill -9 'ps ax | grep nfcapd | awk '{print $1}"」。测试时建立的目录「/var/log/nfdump」记得一并删除。

安装NfSen

NfSen
的全名是Netflow Sensor,它是一个Web介面的Netflow前端程式。可以用图像化的方式让管理者轻松地查看目前网路的状态,接下来介绍其安装及设定方式。

NfSen
的安装及设定流程是,先下载NfSen,将其解压缩,之后再把预设的设定档复制成安装时的设定档,并编辑其内容,相关指令如下:

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑



接著,开始编辑nfsen.conf。首先要编辑的是$BASEDIR,端赖管理者将它安装在何处,本例安装至「/usr/local /nfsen」。$WWWUSER$WWWGROUP部分请参照个人使用的Linux发行版本来调整。以Ubuntu而言,须改为「www- data」。

此外,$HTMLDIR部分必须指定为个人置放网页的目录(请自行安装apache2php5),在此设定为 「/var/www/nfsen」。$PREFIX部分,笔者设定为 「/usr/bin」,请依nfdump此执行档所在的目录进行设定。

%sources,则将peer1peer2那两行删除。至于upstream1该行最后面的逗号也要拿掉。(upsteam1可以自行更换成自行定义的名称)。

接下来新增一个使用者netflow,将用来执行该程式,请使用如下的指令格式:

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑



然后就可以开始安装nfsen,指令如下:

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑



在安装过程中,会提示是否要将peer1peer2的相关资讯删除,回答「Y」将其删除。在完成安装后,可以登入「http://yourhost/nfsen/nfse.php」查看(yourhost请自行代换为自己使用的IPDomain Name)。

此时会有错误讯息,这是因为nfsen还没有启动的关系。然后,使用指令「/usr/local/nfsen/bin/nfsen start」启动nfsen

倘若之前没有特别指定profile-data所在目录,那么在「/usr/local/nfsen/profiles-data/live/upstream1」目录中,就会自动产生档案,档名为「nfcapd.current」。

在五分钟之后,就可以看到2011的目录自动产生。在预设的状况下,nfsen会自动依年、月、日来储存,并分类nfcapd所储存的档案。

此时可以验证一下成果,先切换到profiles-data所在的目录,例如「/usr/local/nfsen/profiles-data/live /upstream1/2011/09/24」,接著执行命令「nfdump -r nfcapd.201109241035」(档案的副档名请依实际状况进行更改)。理论上,应该可以看到许多资料,实际情形类似图9所示:

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑

▲图9 nfdump的输出。



NfSen
的安装到此已完成,读者可以自行操作一下NfSen的介面,它并不难入门。

不过,在略为操作之后,读者可能会觉得奇怪,NfSen似乎没有提供更详细资料的查询,它只有提供FlowsPacketsTraffic的统计资讯,无法让管理者去查询IPport的使用及连线情形。

要让NfSen查询相关的资料,必须自己下filter,它的语法有点类似tcpdump,读者可以参考网页 「http://nfsen.sourceforge.net/#mozTocId652064」,官网有详细的说明,并不会太难以理解,不过缺点就是只 能用文字的方式呈现,如果想要用图型化的方式来查看,就需要配合其他的工具。

使用PortTracker

NfSen
提供非常丰富的外挂程式(Plugins),如果想要针对IPPort的使用及连线情形查看的话,需要安装PortTracker这个套件。接著就来示范怎么安装及设定PortTracker

这里必须事先说明的是,透过apt-get安装的nfdump无法提供安装PortTracker时所需的程式,因此必须手动下载nfdump,并将之编译,但无须安装。

STEP 1
首先下载nfdump

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑


(全部为同一行)

STEP 2
将之解压缩,并切换至解压缩后的目录。

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑



STEP 3
把编译过程式需要使用的套件也安装进来。

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑



STEP 4
开始编译,指定安装在「/usr/local/nfdump」目录,并且启用nftrack模组。再把刚刚产出的nftrack复制到「/usr/bin」目录内。

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑



STEP 5
再来安装PortTracker,切换至PortTracker所在的目录。

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑



STEP 6
把档案复制至nfsen的相关目录。

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑



STEP 7
建立目录来存放PortTracker的资料,并且设定所属的使用者为www-data

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑



STEP 8
之后编辑「/usr/local/nfsen/plugins/PortTracker.pm」档,把$PORTSDBDIR的「/data/ports-db」改为「/var/log/netflow/porttracker」(刚刚建立的目录)。

STEP 9
接著编辑「/usr/local/nfsen/etc/nfsen.conf」,找到@plugins,修改内容如下:

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑



STEP 10
www-data身分执行nftrack以建立rrd档,此步骤需时较久。

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑



STEP 11
随后,设定此目录所属的使用者、群组和权限。

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑



STEP 12
执行指令「/usr/local/nfsen/bin/nfsen reload」重新启动NfSen。稍待片刻,再点选「http://yourhost/nfsen/nfsen.php」里面的「Plugins」,就 可以看到PortTracker的输出结果。

使用nfsen来实现WEB展示netflow数据 - itoedr - itoedr的it学苑

▲图10 PortTracker的输出结果。



找出占用大量SessionIP

接下来示范如何查看占用大量sessionIP。首先,点选TCP Packets,然后将Display改为12 Hours,将Y-axis改为LogY轴取Log,在查看时会比较明显),最后把Type改为Stacked以方便查看。这个时候可以看出Port 25565(红色)占了大多数的TCP Packets,如图10所示。

再来回到NfSen的主选单,找出是哪一个IP正在使用这个Port。点选上面选单的Details,再点选TCPDisplay同样点选12 Hours,旁边的时间轴,点选最右边的〔>|〕(Goto last slot),如图11所示。

*******************
NFSEN的配
*******************
配置NFSEN实现WEB方式浏览NFDUMP结果

        昨天配置了nfdump来进行netflow流量分析,但我们发现直接使用nfdump命令虽然可以得到我们想要的结果,但却很繁琐,有没有什么比较简便 的方法呢?比如通过WEB接口,以大多数人都可以接受的方式展示我们的数据。其实nfsen就为我们做到了这些。

        使用nfsen需要我们准备一些基本工具,下面我就以我的安装来做个解说,希望大家可以在安装时参考我的经验,少走弯路。

    安装nfsen需要具备以下几个条件:

    1、安装rrdtool,这个在我的博客里已经有专门的文章介绍如何安装和配置了,这里就不多说了;

    2、安装PERL和PHP,这些绝大多数系统都自带了,我也不多说了,只是要注意nfsen需要Perl的Mailtool支持,而有些系统是没有装这个模块的,查找并下载最新版本的Mailtool;

    3、安装nfdump,这个前面的文章已经介绍过了,但这里要注意nfsen需要nfprofile的支持,但默认对nfdump的编译和安装是不生成这 个文件的,所以我们需要重新生成nfdump,在。/configure时加上参数,。/configure --enable-nfprofile 注意执行时可能会提示你找不到rddtool相关的一些模板,这是因为rrdtool没有安装在默认目录下的缘故,比如我的rrdtool安装在/usr /local/rrdtool-1.3.4下,就要再加上完整的rrdtool目录,如:。/configure --enable-nfprofile --with-rrdpath=/usr/local/rrdtool-1.3.4,这样就可以编译成功nfprofile了;之后就可以安装nfsen 了,安装步骤很简单:

    1、进入到nfsen\etc目录,把 nfsen-dist.conf拷贝成 nfsen.conf

    2、编辑 nfsen.conf,修改几个参数:$BASEDIR这个最好改成一个独立装载的分区,因为netflow流是很大的;$USER $WWWUSER $WWWGROUP改成运行web服务器的用户名,也可自己建立一个用户,%sources 里添加数据源,这里主要起一个名字,并指定的监听端口,正如我们之前执行nfcapd所需要的参数一样;$HTMLDIR指定web目录,你可以直接放在 web根目录下,也可自建虚拟目录

    3、一切OK后在目录下执行。/install.pl etc/nfsen.conf,如果没有问题则一路回车即可,但要注意可能会提示你RRD.pm找不到的错误提示,则你要把rrdtool的lib目录加 入到perl的@INC变量中,我们可以使用export命令加入,比如export PERL5LIB=/usr/local/rrdtool-1.3.4/lib/perl/5.8.8,就可以把/usr/local/rrdtool- 1.3.4/lib/perl/5.8.8加入到@INC中了

    4、安装完毕后,在$BASEDIR/bin下执行nfsen start即可之后即可通过访问WEB界面访问nfsen提供的接口了,具体的使用方法很简单,这里就不说了。

    个人觉得nfsen提供的web接口可配置性较差,并且实际使用中还是有些麻烦,如果能做得像cacti那样完美就好了!但起码比起直接使用nfdump还是要方便很多,至少用户不用登录到我们的服务器就可以查看netflow数据。

  评论这张
 
阅读(403)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017