__网络流量反映了网络的运行状态,是判别网络运行是否正常的关键数据,在实际的网络中,如果对网络流量控制得不好或发生网络拥塞,将会导致网络吞吐量下降、网络性能降低。通过流量测量不仅能反映网络设备(如路由器、交换机等)的工作是否正常,而且能反映出整个网络运行的资源瓶颈,这样管理人员就可以根据网络的运行状态及时采取故障补救措施和进行相关的业务部署来提高网络的性能。对网络进行流量监测分析,可以建立网络流量基准,通过连接会话数的跟踪、源/目的地址对分析、TCP流的分析等,能够及时发现网络中的异常流量,进行实时告警,从而保障网络安全。本节将介绍的Ntop便可以提供详细的网络流量明细表。在Ossim系统中集成了Ntop可以直接使用。
1).Ntop简介
____Ntop是一种监控网络流量的工具,用NTOP显示网络的使用情况比其他一些网管软件更加直观、详细。NTOP甚至可以列出每个节点计算机的网络带宽利用率。
2).Ntop主要功能
Ntop主要提供以下一些功能:
①.自动从网络中识别有用的信息;
②.将截获的数据包转换成易于识别的格式;
③.对网络环境中通信失败的情况进行分析;
④.探测网络环境中的通信瓶颈,记录网络通信的时间和过程。
____Ntop可以通过分析网络流量来确定网络上存在的各种问题;也可以用来判断是否有***正在***网络系统;还可以很方便地显示出特定的网络协议、占用大量带宽的主机、各次通信的目标主机、数据包的发送时间、传递数据包的延时等详细信息。
3). Ntop支持的协议
____Ntop比MRTG更容易安装,如果用手机话费来比喻流量,MRTG便如同提供总费用的电话账单,而Ntop则是列出每一笔费用的明细一样。目前市场上可网管型的交换机、路由器都支持SNMP协议,Ntop支持简单网络管理协议,所以可以进行网络流量监控。Ntop几乎可以监测网络上的所有协议: TCP/UDP/ICMP、(R)ARP、IPX、Telnet、DLC、Decnet、DHCP-BOOTP、AppleTalk、Netbios、TCP/UDP、FTP、HTTP、DNS、Telnet、SMTP/POP/IMAP、SNMP、NNTP、NFS、X11、SSH和基于P2P技术的协议eDonkey。
4).Ntop支持插件
①.ICMPWATCH:
____用于端口检测很多人都已经知道了可以借助NETSTAT -AN来查看当前的连接与开放的端口,但NETSTAT并不万能,比如Win2000遭到OOB***的时候,不等NETSTAT就已经死机了。为此,出现了一种特殊的小工具——端口监听程序。端口监听并不是一项复杂的技术,但却能解决一些局部问题。
②.NetFlow:
____近年来,很多服务提供商一直使用NetFlow。因为NetFlow在大型广域网环境里具有伸缩能力,可以帮助支持对等点上的最佳传输流,同时可以用来进行建立在单项服务基础之上的基础设施最优化评估,解决服务和安全问题方面所表现出来的价值,为服务计费提供基础。
③.rrdPlugin:
____用于生成流量图。RRD的作者,也是MRTG的作者,RRD可以简单的说是MRTG的升级版,它比MRTG更灵活,更适合用shell、perl等程序来调用,成生所要的图片。
④.sFlow:
____sFlow(RFC 3176)是基于标准的最新网络协议,能够解决当前网络管理人员面临的很多问题。sFlow已经成为一项线速运行的“永远在线”技术,可以将sFlow技术嵌入到网络路由器和交换机 ASIC芯片中。与使用镜像端口、探针和旁路监测技术的传统网络监视解决方案相比,sFlow能够明显地降低实施费用,同时可以使面向每一个端口的全企业网络监视解决方案成为可能。与数据包采样技术(如RMON)不同,sFlow是一种导出格式,它增加了关于被监视数据包的更多信息,并使用嵌入到网络设备中的sFlow代理转发被采样数据包,因此在功能和性能上都超越了当前使用的RMON、RMON II和NetFlow技术。sFlow技术独特之处在于它能够在整个网络中,以连续实时的方式监视每一个端口,但不需要镜像监视端口,对整个网络性能的影响也非常小。
____另外,Ntop还允许用户安装插件用,以提供对于特定协议下具体统计数据的报告,如NFS和NetBIOS插件。当然,Ntop也可以生成运行它的主机的统计数据,列出开放套接字、接收和发送的数据以及每个过程的相关主机对。
二、Ntop系统的部署
对于共享网络,只须将连接到共享网络中的流量采集点的网络接口置为混杂工作模式,就可实现采集网络流量数据的功能。与交换网络相比,网络发生拥塞时,集线器网络的可靠性很低,SNMP问询命令和回应数据包可能发生延迟或丢失,这时候Ntop检测数据也就不准确了,对于交换网络的情况,需要交换设备的支持(如具有SPAN端口的交换机)。流量采集主机连接到交换设备的一个端口后,通过交换机的SPAN至(Switched PortAnalyzer)端口把要分析的所有流量镜像到该采集点上。SPAN在使用中非常灵活,可以监视交换机的单个端口,也可以监视多个端口,还可以对VLAN进行监视。这就使流量异常监测系统具有了很大的灵活性。在一些流量比较大的企业,我们一般选用两个网卡,一块网卡作为Ntop专用嗅探网卡,连到核心交换机的镜像端口,另一块配上IP地址并开放相应端口(默认是3000,也可以修改),连接交换机的作用是用来登录Web界面进行管理,Ntop的部署如图1所示。
。
图1 Ntop的安装位置
____Ntop没有自己的捕包工具,它需要一个外部的捕包程序库:libpcap。Ntop利用libpcap独立地从物理链路上进行捕包,它可以借助libpcap的平台成为一个真正的与平台无关的应用程序。它直接从网卡捕包的任务由libpcap承担,所以我们必须确保Linux系统下正确安装了libpcap。
三.Ntop安装配置(OSSIM用户可略过此步)
____Ntop工作时需要使用zlib、gd、libpcap及libpng的函数,安装前须检查服务器中是否已经含有下列的软件:zlib(zlib-1.1.3-xx以上)、gd(gd-1.3.xx以上)、libpng。可以使用RPM来确认:
rpm -qa | grep libpcap
rpm -qa | grep zlib
rpm -qa | grep gd
rpm -qa | grep libpng
如果发现缺少任何一个就需要自行安装,举例如下。
1).安装libpcap
# tar zxvf libpcap-0.9.8.tar.gz
# cd libpcap-0.9.8
#./configure
# make&&make install
2).安装RRDtool
____RRDtool是指Round Robin Database 工具(环状数据库)。Round Robin是一种处理定量数据以及当前元素指针的技术。想象一个周边标有点的圆环,这些点就是时间存储的位置。从圆心画一条到圆周的某个点的箭头,这就是指针。一个圆环上没有起点和终点,可以一直存储下去。经过一段时间后,所有可用的位置都会被用过,该循环过程会自动重用原来的位置。这样,数据集不会增大,并且不需要维护。
#tar -zxvf rrdtool-1.3.1.tar.gz
#export PKG_CONFIG_PATH=/usr/lib/pkgconfig/
#./configure
#make
#make install
3).安装Ntop
下载ntop安装包:http://www.nmon.net/packages/rpm/x86_64/ntop/
#rpm -ivh ntop-3.3.10-.x86.rpm
#yum install ntop \\CentOS系统
#apt-get install ntop \\Debian系统
____注意:在Ossim 系统中已经为我们安装好Ntop软件,可以直接使用。如果您选择单独安装可以继续参考以下内容。另外如果您使用Red Hat Linux 、Fedora或CentOS请首先关闭 SELinux功能。
4).建立Ntop用户并配置权限
#useradd ntop
5).建立Ntop存放数据的目录
#mkdir -p /var/ntop
#chown -R ntop.ntop /var/ntop
6).复制ntop.conf配置文件
#cp /ntop-3.3.10/ntop.conf.sample /etc/ntop.conf
7).设置管理密码
在执行ntop之前必须先建立管理员密码,长度至少5位。使用参数-A建立管理员密码
#ntop -A
8). Ntop的管理员密码重置方法
Ntop的用户密码文件是经过加密存储在ntop_pw.db文件中,Ntop用户密码存储位置:
64位版本:/var/lib/ntop_db_64/ntop_pw.db
64位版本需先删除其密码文件ntop_pw.db,然后用notp -A 重置管理员密码后,最后重启ntop服务就能生效。
#/etc/init.d/ntop restart
另外,注意一个细节,ntop的访问日志位置在/var/log/ntop/目录下,它的pcap log在/var/lib/ntop目录下。
四、应用Ntop
1. 启动Ntop
#/usr/local/bin/ntop -i eth0 -d -L -u ntop -P /var/ntop --use-syslog=daemon
命令行中各项简要介绍如下。
-i "eth0":指定监听网卡。
-d:后台执行。
-L:输出日志写入系统日志(/var/log/messages)。
-u ntop:指定使用Ntop身份执行。
-P /var/ntop:指定Ntop数据库的文件位置。
-use-syslog=daemon:使用系统日志进程。
-w:使用其他端口,指定ntop使用其他端口,例如执行ntop –w 1900以后,便可以使用http://ip:1900来连接ntop。
2.利用Web浏览器查看Ntop状况
Ntop的通讯端口为3000,所以在浏览器使用IP:3000进入ntop便可看到ntop欢迎界面,如图2所示。
Ntop用彩旗的颜色来描述风险的高低,在系统里用绿、黄、红分别表示低、中、高风险程度。例如有的主机私自修改了MAC,有的主机发送欺骗MAC攻击的数据包,类似这样的主机都会被标记红色旗帜代表高风险。
我们可以使用Ntop分析各主机的网络使用量,了解各个主机使用带宽的比例。在Pfofiles中打开ntop界面,选择“Summary/Host”,具体操作如下:
图 显示主机信息
3.查看整体流量
____对于网络整体流量的统计,分别是Protocol Traffic Counters、IP Traffic Counters、TCP/UDP Connections Stats、Active TCP Connections List、Peers List。按照不同的Packet,将流量数据存放到不同的Counter中。对网络整体流量进行分类统计,包括下列情形。
流量分布情形:区分为本网络主机之间、本网络与外部网络之间、外部网络与本网络之间的网络流量统计。
数据包分布情形:依据数据包大小、广播形态及IP与非IP等加以分类及统计。
协议使用及分布情形:本网络各主机传送与接收数据所使用的通信协议种类与数据传输量。
通过Summary→Traffic查看整体流量(如图3所示),网络流量会以清晰的表格形式显示,如图3所示。
图3 协议分布
在图3中,Summary内容为目前玩过的整体概况,包括流量,主机网络负载等。All Protocols选项可以查看各主机占用的带宽和各时段使用的流量明细。IP显示网络主机的流量状况和排名;Utils可以显示ntop记录的网络状况、流量统计并可以将数据存储为txt,xml等格式;Plugins包含了ntop所支持的插件类型;Admin选项可以对ntop进行配置,例如我们可以配置Pcap Log的路径,这对于解决Ntop数据占用磁盘空间问题很有帮助,默认路径为/usr/local/ntop/var/ntop目录下。另外为了节约磁盘空间可以降低Max Hashes和Max Sessions的值。此外还可以进行ntop重启停止等操作。另外,如果ntop启动失败,你可以到/var/log/messages中寻找错误日志。如果你需要设置开机自动启动还可以到/etc/rc.d/rc.local文件最后加入启动ntop的命令。如果你想修改ntop外观可以编辑ntop的HTML文档、或CSS式样文件,这些内容在/usr/share/ntop/html目录下。
图4 以表格形式显示网络流量
4.查看通信数据包(协议)比例
____数据包对于网络管理的网络安全而言具有至关重要的意义,如防火墙的作用就是检测网络中的数据包,判断其是否违反了预先设置的规则,如果违反就加以阻止。Linux网络中最常见的数据包是TCP和UDP。如果想了解一个计算机传输了哪些数据,可以双击计算机名称即可分析出用户各种网络传输的协议类型和占用带宽的比例,如图5所示。
图5查看协议类型和占用比例
5.与Google Map整合:Ntop中标注IP所在国家的位置
____选取Summary→Hosts World Map Ntop命令,与Google Earth(谷歌地球)进行技术整合,能将收集到的信息实时地在谷歌地球上显示出来。首先要有Gmail账号,然后到http://code.google.com/apis/maps/signup.html上申请Google Maps API的密钥,成功后如图6所示。
图6 注册使用Google Maps API
接下来复制密钥,选择Admin→Configure→Preferences,这时会提示输入用户名、密码,
如图7所示。
图7 定位到Admin→Configure→Preferences
在如图8所示的界面中找到google_maps.key选项,并把密钥填写进去。注意,调整参数需要输入用户和密码,如果忘记了Ntop密码,可以通过输入“/usr/sbin/ntop –A”命令来修改用户admin的密码。
保存退出后,在Chrome 浏览器中再次选择Hosts World Map,配置完成。
注意:由于Google Maps的限制,不能跟踪所有IP地址。如果在设置时出现“Please enable make sure that the ntop html/ directory isproperly installed”提示错误,多半是权限问题,可采用以下方法解决:
#chown -R ntop:ntop /var/lib/ntop/ \\**改变owner**\
#chown -R ntop:ntop /usr/share/ntop/
# ln -s /usr/share/ntop/html /var/lib/ntop/ \\*建立一个符号链接*\\
# /etc/init.d/ntop restart 重启服务以便设置生效
6.数据转储功能
____Ntop还支持把流量转储成其他格式(如文本文件、Perl、PHP、Python),以便其他外部程序可以对数据进行深加工。可以选择Utils→Data Dump命令,如图9所示。
图9 定位到Utils→Data Dump
如我们选择报告主机类型,格式为PHP。则转储数据如下:
'1.1.1.12' => array(
'hostResolvedName' => '1.1.1.12',
'pktSent' => 12628,
'pktRcvd' => 32668,
'ipv4BytesSent' => 1818480,
'ipv4BytesRcvd' => 30936426,
'bytesMulticastSent' => 0,
'pktMulticastSent' => 0,
'bytesMulticastRcvd' => 0,
'pktMulticastRcvd' => 0,
'bytesSent' => 1818480,
'bytesRcvd' => 30936426,
'ipv4BytesSent' => 1818480,
'ipv4BytesRcvd' => 30936426,
'ipv6BytesSent' => 0,
'ipv6BytesRcvd' => 0,
'tcpBytesSent' => 1813788,
'tcpBytesRcvd' => 30936426,
'udpBytesSent' => 4692,
'udpBytesRcvd' => 0,
'icmpSent' => 0,
'icmpRcvd' => 0,
),
7.查看网络流量图(Local Network Traffic Map)
____首先,在Admin→Configure→Preference中,配置dot.path的参数为 /usr/bin/dot,然后选择IP→Local→Network Traffic Map,就可以看到一张反应各个主机流量流向的拓扑图,箭头方向代表数据的流向,鼠标点击相应的IP地址就能看到非常详细的IP统计信息。图10是Ntop根据网络流量情况自动生成的拓扑图。
图10 Ntop检测数据流向图
8.下一代Ntop工具 ---Ntopng
NtopNG功能上比Ntop有所增强,主要亮点还是图形化显示方面,只要大家掌握了Ntop的使用,能够理解Ntop各种菜单中显示参数的含义,那么对于Ntopng的使用将易如反掌,下面展示几个Ntopng的工作界面。
以上精美图片是不是有些心动?下载地址为:http://www.ntop.org/get-started/download/ 、Windows 64位系统安装地址为:http://www.nmon.net/packages/Windows/ 具体安装方法不再讲述。
上面介绍了一些Ntop工具的特点,不过还有很多由于篇幅限制没有给大家介绍,要知道Ntop这个工具只是Ossim平台的一个很小的模块,Ossim系统中集成的ntop可以将netflow数据存入mysql数据库,并可以再下次系统启动后继续从数据库中读取,不会影响新生成的数据分析图。