admin管理员组

文章数量:1531321

2023年12月14日发(作者:)

Linux下网络流量监控

2009-06-24 10:54:29| 分类: CentOS | 标签: |字号大中小 订阅

其它软件包的检查:

[root@mail doc]# rpm -qa|grep gd

gd-1.8.4-4

gd-devel-1.8.4-4

[root@mail doc]# rpm -qa|grep perl

perl-5.6.0-17

mod_perl-1.24_01-3

[root@mail doc]# rpm -qa|grep libp

libpng-1.0.12-2

libpng-devel-1.0.12-2

[root@mail doc]# rpm -qa|grep zlib

zlib-1.1.3-24

zlib-devel-1.1.3-24

[root@mail doc]# rpm -qa|grep gcc

gcc-2.96-98

gcc-g77-2.96-98

gcc-c++-2.96-98

目前mrtg的最新版本为mrtg-2.16.1:

wget ftp:///mirrors/mrtg/

[root@mail src]# tar xvfz

[root@mail src]# cd mrtg-2.16.1

[root@mail mrtg-2.16.1]# ./configure --prefix=/data/mrtg

[root@mail mrtg-2.16.1]# make

[root@mail mrtg-2.16.1]# make install

到现在我们就已经正确地安装了MRTG系统。

配置SNMP服务

对于不同的设备,配置SNMP支持的方法是不一致的,具体请参考设备的随机文档,一般里 面都有详细的介绍。这里我们讨论在Linux环境下配置SNMP服务器,以实现对本机流出流入数据的分析和报表(我的应用环境是使用Linux带动一个小型局域网上网,监控本机进出 流量)。

在linux环境下安装snmp软件包是很容易的,只需要安装相应的软件包即可:

[root@mail doc]# rpm -qa|grep snmp

5

5

5

[root@mail doc]# /etc/rc.d/init.d/snmpd start

Starting snmpd: [ OK ]

如果命令输出如上所示,就表示snmp服务器启动正常。

为了配合mrtg使用,还要修改snmpd的配置,以使其允许mrtg读取其interface(网络接口) 流量数据。

vi /etc/snmp/

装下面这个的#注

view mib2 included .-2 fc

然后将

access notConfigGroup "" any noauth exact systemview none none

修改为:

access notConfigGroup "" any noauth exact mib2 none none

在55行左右加入:

view systemview included .1.3.6.1.2.1.2

然后再重新启动snmpd:

/etc/rc.d/init.d/snmpd restart

生成MRTG配置文件

# mkdir /data/mrtg/cfg/

配置文件:/data/mrtg/cfg/

# cd /data/mrtg/bin

# ./cfgmaker --global 'WorkDir: /data/apache2/htdocs/mrtg' --global 'Options[_]:

/data/mrtg/cfg/ public@192.168.3.9

更新信息.

env LANG=C /data/mrtg/bin/mrtg /data/mrtg/cfg/

# mkdir /data/apache2/htdocs/mrtg

生成mrtg的index文件

# ./indexmaker --output /data/apache2/htdocs/mrtg/ /data/mrtg/cfg/

servername

documentroot /data/apache2/htdocs/mrtg

customlog logs/ common

options followsymlinks includes

allowoverride none

order allow,deny

allow from all

authname "MRTG流量察看"

authtype basic

authuserfile /data/apache2/passdir/mrtgpass

require user 4ujk

生成密码:

mkdir /data/apache2/passdir/

/data/apache2/bin/htpasswd -bc /data/apache2/passdir/mrtgpass username userpass

让系统每隔5分钟执行一次mrtg,生成新的MRTG流量图

# crontab –e

*/5 * * * * env LANG=C /data/mrtg/bin/mrtg /data/mrtg/cfg/

=============================================

本章要点

◆ 安装配置MRTG监控Linux网络

◆ 安装配置NTOP监控Linux网络

◆ NTOP的安全策略

17.1 安装配置MRTG监控Linux网络

bits,growright' --output

17.1.1 SNMP简介和MRTG监控过程

1.SNMP简介

SNMP是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。SNMP可以提高网络管理员管理网络的效率,发现并解决网络问题,以及规划网络增长。通过SNMP接收随机消息(及事件报告)网络管理系统获知网络出现问题。简单网络管理协议(SNMP)首先是由Internet工程任务组织(Internet Engineering Task Force)(IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。许多人认为SNMP在IP上运行的原因是Internet运行的是TCP/IP,然而事实并不是这样的。SNMP被设计成与协议无关,所以它可以在IP, IPX, AppleTalk, OSI,以及其他用到的传输协议上被使用。

SNMP运行在UDP之上,它利用的是UDP的161/162端口。其中161端口被设备代理监听,等待接受管理者进程发送的管理信息——查询请求消息;162端口由管理者进程监听等待设备代理进程发送的异常事件报告——陷阱消息,如Trap等。SNMP提供三类操作,分别为Get、Set和Trap。

2.MRTG监控过程

服务器的操作系统多种多样,使用较多的一般是UNIX类或Windows类操作系统,它们都支持SNMP。例如,对于Windows系统而言,只要增加―管理和监控工具‖中的Windows组件,就有了对SNMP的支持。

服务器启动SNMP后,就会开放161/162端口。管理员如果要监控这台机器,就要在自己的机器上安装MRTG,然后通过MRTG向服务器的161/162端口发出查询等请求,取得数据后会生成图形及HTML文档的流量报告。这就是MRTG简单的监控过程。

17.1.2 Linux下MRTG的安装与配置

MRTG通过SNMP从设备中得到使用设备(如交换机)的网络流量信息,并把PNG格式图形以HTML方式显示出来,便于网络管理员对所监控设备(交换机)进行管理。目前市场上可网管型(智能)的交换机都支持SNMP,可以通过MRTG进行网络流量监控。

下面以Red Hat Linux 9.0为例介绍MRTG的安装与配置。

1.安装基础软件包

要安装MRTG软件包必须首先安装gcc, perl, gd, libpng, zlib, freetype等软件包。

2.安装配置net-snmp

光盘里有net-snmp的安装RPM包,安装完以后,配置/etc/snmp/文件,使其能配合MRTG工作。

把下面的语句:

改成:

修改以后可以启动snmpd服务:

3.安装配置MRTG

② 生成配置文件

③ 设置MRTG定期执行方式

/usr/local/mrtg/cfg/

④ 建立索引页面

执行以下命令还可以生成一个索引页面:

到此为止,配置完毕,重新启动snmp和httpd服务,访问ip/mrtg/,就能看到网络流量图了。如图17-1所示。

图17-1 MRTG监控的网络流量图

17.1.3 建立MRTG监控中心

在实际应用中,企业可能有多台服务器,通常需要管理员24小时不间断地对服务器的流量进行监控。如果这时还是简单地在管理员的机器上使用MRTG就不适用了。最好的方法是建立一个MRTG监控中心。

MRTG监控中心可以是一台专用的服务器,也可以由其他服务器兼作MRTG监控中心。用于监控中心的机器和其他服务器都位于防火墙背后,由于SNMP也很容易成为攻击的目标,所以在防火墙的规则中,要禁止外界对服务器161/162端口的访问。这样便保证了MRTG监控中心担负起监控其他所有服务器的责任。MRTG监控中心将不断产生流量报告,以Web页面的形式发送给管理员。当然,该Web页面是带有身份认证功能的,以确保只有拥有账号的管理员才能查看相应的流量报告。

使用这样的MRTG监控中心,可以带来以下好处:

① 24小时不间断地工作,能保证产生详细、全面的流量报告;

② 提供带身份认证的Web浏览界面,管理员凭账号可以随时随地通过互联网查看流量报告;

③ 免去管理员安装MRTG的烦恼,只需通过浏览器就能查看流量报告;

④ 只允许MRTG监控中心机器访问服务器161/162端口,安全性更高。

通过三步,已经完成了对一台服务器的监控设定,如果还有其他服务器需要流量监控,重复第三步(安装配置MRTG)即可。如果这些服务器都是位于防火墙后面,还要修改一个防火墙的规则,即开放MRTG监控中心对外的80端口,同时过滤掉所有外界对SNMP服务端口的访问。以上安装配置完成,用户可以通过浏览器访问MRTG监控中心。MRTG监控中心会要求输入用户名、密码才能进入,而Apache的日志会记录相关的事件,以备日后对登录情况进行审查。到此为止,已经可以应用一个简单的MRTG监控中心实现集中管理,并且拥有身份认证。管理员还可以通过编写CGI程序来实现更多的功能。比如详细记录访问情况、提供更直观的监控报告等。此外,还可以使用SSL加密页面来传输数据。

17.1.4 MRTG软件的不足和RRDTool的对比

1.MRTG软件的不足

MRTG监测网络流量很方便,但是如果需要监测其他的系统性能,比如CPU负载、系统负载、网络连接数等,就不是那么简单了。即使实现了这些功能,但管理起来非常麻烦。比如公司有一两千个被监测点,分布在不同的机房,为了管理方便需要将这些服务器和网络设备分类,这样的话就需要将这些被监测点放在不同的MRTG配置文件中,运行多个crontab,甚至还要自己写HTML页面对其进行管理。

MRTG毕竟是一套很老的软件,而且存在许多不足的地方,其作者Tobias Oetiker在1999年就已经开始开发另一套开源软件RRDTool来代替MRTG。现在RRDTool已经发展得很成熟,在功能上MRTG难以与其相提并论。

2.RRDTool与MRTG对比

与MRTG一样,RRDTool也是由Tobias Oetiker撰写的开源软件,但RRDTool并非MRTG的升级版本,两者有非常大的区别,也可以说RRDTool是将用来取代MRTG的产品。下面是两个软件的一些优缺点的对比。

(1)MRTG

优点:

简单、易上手,基本安装完了之后只要修改一下配置文件即可使用。

缺点:

— 使用文本式的数据库,数据不能重复使用。

— 只能按日、周、月、年来查看数据。

— 由于MRTG本来只是用来监测网络的流量,所以只能存储两个DS(Data Source),即存储流量的输入和输出。

— 每取一次数据即需要绘图一次,浪费系统资源。

— 图像比较模糊。

— 无用户、图像管理功能。

— 没有详细日志系统。

— 无法详细了解各流量的构成。

— 只能用于TCP/IP网络,对于SAN网络流量无能为力。

— 不能在命令行下工作。

(2)RRDTool

优点:

— 使用RRD(Round Robin Database)存储格式,数据等于放在数据库中,可以方便地调用。比如,将一个RRD文件中的数据与另一个RRD文件中的数据相加。

— 可以定义任意时间段画图,可以用半年数据画一张图,也可以用半小时内的数据画一张图。

— 能画任意个DS,多种图形显示方式。

— 数据存储与绘图分开,减轻系统负载。

— 能任意处理RRD文件中的数据,比如,在浏览监测中我们需要将数据由Bytes转化为bits,可以将原始数据乘8。

缺点:

— RRDTool的作用只是存储数据和画图,它没有MRTG中集成的数据采集功能。

— 在命令行下的使用非常复杂,参数极多。

— 无用户、图像管理功能。

============================

一、SNMP简介

SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及 HUBS 等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。简单网络管理协议(SNMP)首先是由Internet工程任务组织(Internet Engineering Task Force)(IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。许多人认为 SNMP在IP上运行的原因是Internet运行的是TCP/IP协议,然而事实并不是这样。 SNMP被设计成与协议无关,所以它可以在IP,IPX,AppleTalk,OSI以及其他用到的传输协议上被使用。询时顺序不对,那么关于一些大的灾难性的事件的通知又会太馒。这就违背了积极主动的网络管理目的。

SNMP协议运行在UDP协议之上,它利用的是UDP协议的161/162端口。其中161端口被设备代理监听,等待接受管理者进程发送的管理信息查询请求消息;162 端口由管理者进程监听等待设备代理进程发送的异常事件报告陷阱消息,如Trap等。SNMP提供三类操作,分别为Get、Set和Trap。

软件的不足

谈到网络流量监控,相信大家都熟悉MRTG这个工具。MRTG监测网卡流量很方便,但是如果需要监测其它的系统性能比如CPU负载、系统负载,网络连接数等,就不是那么简单了。即使实现了这些功能,但管理起来非常麻烦。比如公司有1、2千个被监测点,分布在不同的机房,为了管理方便需要将这些服务器和网络设备分类,这样的话就需要将这些被监测点放在不同的MRTG配置文件中,运行多个crontab,甚至还要自己写HTML页面对其进行管理。MRTG存在许多缺点:

1. 使用文本式的数据库,数据不能重复使用;

2. 只能按日、周、月、年来查看数据;

3. 只能画两个DS(一条线、一个块);

4. 无管理功能;

5. 没有详细日志系统;

6. 无法详细了解一一流量具体构成;

7. 只能用于TCP/IP网络对于 SAN网络流量无能为力;

8. 不能在命令行下工作。

MRTG毕竟是一套很老的软件了,而且存在许多不足的地方,其作者Tobias Oetiker在1999年就已经开始开发另一套开源软件RRDTool来代替MRTG。现在RRDTool在已经发展得成熟,在功能上MRTG难以与其相提并论。

3. RRDTool的特点

优点:

1. 使用RRD(Round Robin Database)存储格式,数据等于放在数据库中,可以方便的调用。比如将一个RRD文件中的数据与另一个RRD文件中的数据相加;

2. 可以定义任意时间段画图,可以用半年数据画一张图,也用半小时内的数据画一张图;

3. 能画任意个DS,多种的图形显示方式;

4. 数据存储与绘图分开,减轻系统负载;

5. 能任意处理RRD文件中的数据,比如在浏览监测中我们需要将数据由Bytes转化为Bits,可以将原始数据乘8。

缺点:

1. RRDTool的作用只是存储数据和画图,它没有MRTG中集成的数据采集功能;

2. 在命令行的使用非常复杂,参数极多。

3. 无用户、图像管理功能。

二、安装配置NTOP监控Linux网络

1 P2P对于网络流量提出挑战

如果说让Linux网络管理员最头疼的问题,恐怕大家都会回答是网络带宽匮乏了,实际情况确实如此,随着网络应用与网络软件的越来越多,占用带宽资源的服务也越来越多。我们究竟应该怎么管理网络成为一个非常严肃的问题。BT,P2P等软件吞噬着网络带宽,蠕虫等网络病毒也使网络应用变得枯竭。从某种意义上讲带宽就是钱,那么我们这些网络管理员如何有效的监视、控制公司的网络流量呢?下面笔者为读者介绍一个不可多得的监控网络流量的工具:NTOP。

1.Linux异构网络中P2P流量情况

P2P(Peer-to-Peer)是一种用于文件交换的新技术,通过Internet允许建立分散的、动态的、匿名的逻辑网络。P2P为对等连接或对等网络,点对点网络技术,可应用于文件共享交换,深度搜索、分布计算等领域。它允许个体的PC通过Internet共享文件。随着P2P文件交换应用的普及,ISP在维持和增加宽带网的收益上也面临着新的挑战和机遇。据有关资料统计,现有的网络中有超过70%的带宽被P2P通信占据着。P2P通信会导致异常的流量峰值,对网络资源造成意外的变形;所带来的网络拥塞、性能下降等问题,已影响到正常的网络应用,如WWW、Email等,缓慢的网页浏览和收发邮件速度更引起普通用户的不满。

若想控制P2P通信,就必须对P2P通信进行有效地识别,然而,许多P2P通信使用了不同的通信技术和协议,使用传统的技术来识别它们非常困难。比如,许多P2P协议不使用固定的端口,而是动态地使用端口,包括使用一些知名服务的端口。KaZaA就是可以使用端口80(通常是http/web来使用)来通信的,从而穿透传统的基于IP和端口的防火墙和包过滤器。所以,通过简单的基于IP和端口的分类技术(分析IP包头、IP地址、端口号等)很难识别、跟踪或控制这类通信。过去有一段时间,有人使用监测6881~6889端口来识别BT(BitTorrent),但这种做法现在早已失效——BT已不再使用固定的6881~6889端口来通信,而是动态地使用端口。随着P2P应用的不断增长,更多的通信协议被使用;识别和分类P2P的技术必须快速、简单,以适应这种技术的变化。现在,识别P2P通信的方法是在应用层分析数据包,看是否有某个应用协议的特征码,然后确定通信的种类。应用层分析数据包的基本方法是,如果应用层数据包的头部有―220 ftp server ready‖的特征串,可以确定是在使用ftp程序;如果有―HTTP/1.1 200 ok‖的特征串,可以确定是在使用http传送数据。

的功能

MRTG基于SNMP协议获取信息,对于端口的流量,MRTG能提供精确统计,但对于3层以上的信息则无从得知了。而这正是NTOP的强项。NTOP能够更加直观的将网络使用量的情况和每个节点计算机的网络带宽使用详细情况显示出来。ntop是一种网络嗅探器,嗅探器在协助监测网络数据传输、排除网络故障等方面有着不可替代的作用。可以通过分析网络流量来确定网络上存在的各种问题,如瓶颈效应或性能下降;也可以用来判断是否有黑客正在攻击网络系统。如果怀疑网络正在遭受攻击,通过嗅探器截获的数据包可以确定正在攻击系统的是什么类型的数据包,以及它们的源头,从而可以及时地做出响应,或者对网络进行相应的调整,以保证网络运行的效率和安全。通过ntop网管员还可以很方便地确定出哪些通信量属于某个特定的网络协议、占主要通信量的是那个主机、各次通讯的目标是哪个主机、数据包发送时间、各主机间数据包传递的间隔时间等。这些信息为网管员判断网络问题及优化网络性能,提供了十分宝贵的信息。

ntop提供以下一些功能:

1. 自动从网络中识别有用的信息;

2. 将截获的数据包转换成易于识别的格式;

3. 对网络环境中的通讯失败进行分析;

4. 探测网络环境下的通讯瓶颈;

5. 记录网络通信时间和过程。

6.自动识别客户端正在使用的操作系统.

7.可以在命令行和Web两种方式运行.

3. 主动分析避免异常流量

面对异常流量,我们应当建立一套分析系统,支持异常流量发现和报警,能够通过对一个时间段内历史数据的自动学习,获取包括总体网络流量水平、流量波动、流量跳变等在内的多种网络流量测度,并自动建立当前流量的置信度区间作为流量异常监测的基础。

如果自行建立主动型的网络分析系统一般包括:测量节点、中心服务器、数据库和分析服务器。但对于中小企业来说难度较大。主动分析是借助产品化和集成程度较高的测量工具,有目的对生产网络注入监控点,并根据测量数据流的传送情况来分析网络的性能。虽然这些监控点也会占用带宽,但和P2P下载所占用的可用带宽相比是微不足道的。排除病毒和封锁P2P之后,一般带宽占用前两名的应用是基于网站页面的在线音频与在线视频。为了节约带宽,我们应该在工作时间段对其进行限制和封锁。

ntop和MRTG相比相比它的安装配置比较简单。目前市场上可网管型的交换机、路由器都支持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, Overnet, Bittorrent, Gnutella (Bearshare, Limewire,etc),

(Kazaa, Imesh, Grobster)。

4 Ntop的安装

NTOP在 可以下载最新的源代码安装使用。NTOP可以安装在所有计算机(Linux/Unix/BSD/Windows)上,这里根据各服务器自身应用的特点,定制规则,并将收集到的信息、告警等传至网管员控制台的NTOP控制中心。运行软件需要libpcap库支持。libpcap 是 unix/linux 平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。Libpcap 提供了系统独立的用户级别网络数据包捕获接口,并充分考虑到应用程序的可移植性。Libpcap 可以在绝大多数类

unix 平台下工作,Libpcap 软件包可从 / 下载。Windows客户端安装WinPcap( / )它是网络数据包截取驱动程序,能够分析在线播放的流媒体直接下载地址信息类似与libpcap的包,支持Windows平台。可以进行信息包捕获和网络分析,是基于UNIX的libpcap和BPF(Berkeley 分帧过滤器)模型的包。配置NTOP的网络拓朴如图16-2,核心交换机是SmartBits 6000C。其L3+模块的NetStream功能兼容Cisco的NetFlow V5/V8格式,能够提供对业务流量数据的精确统计。使用基于Linux平台的ntop作为收集和分析NetStream数据的工具。另外还要安装以下函数库:glibc, glibc-devel ,gcc ,gdbm, binutils,ncurses,RRDTool。打开交换机SPAN端口:ntop若是架设在集线器时便能监视到网络上所有的封包。但若是架设在交换机环境下时,除非是开放SPAN的功能否则只能监测给自己的封包。所谓SPAN,是The Switched Port Analyzer的缩写,通常被称为端口镜像或端口监听。SPAN功能是基于交换机的,而交换机的原理不同于集线器:交换机在获得了源端口的MAC地址后,会将流经该MAC地址的所有数据直接发往目标端口。

560)=560;" border=0 big(this)?>

图1 配置Ntop的网络拓扑

软件安装过程:

#rpm - ivh

然后建立日志文件目录

#mkdir /var/log/ntop/

建立账号:#useradd -g ntop -s /bin/true -M ntop初始化:/usr/sbin/ntop -P /usr/share/ntop/ -u ntop -A

启动ntop

#ntop -i eth0

第一次运行系统它会要你输入管理员的密码,预设密码是:admin,第二次执行就不用再输入,如果希望系统启动时自动启动NTOP,可以这样操作:如果没有打开可以运行命令:

#ntsysv

打开终端窗口,在ntop服务选项加上*(用空格键),然后重新启动系统,这样系统会自动启动ntop监控服务。这时你可以打开浏览器输入:IP:3000即可打开管理界面。Ntop主页面如图2。

560)=560;" border=0 big(this)?>

图2 ntop主界面

NTOP的主界面,一共八个大版面,33个选项。主要包括:

About: 基础知识,使用指南。

Summary : 目前网络的整体概况

l Traffic : 流量

l Hosts : 所有主机使用概况

l Network Load : 各时段的网络负载

l Netflows : 网络流量图。

All Protocols : 查看各主机占用的频宽与各时段网络使用者等的明细

l Traffic : 流量。

l Throughput : 频宽使用明细表 (点选主机,可以看到该主机详细的信息及使用状况)

l Activity : 各时段所有主机使用流量(状况). (点选主机,可以看到该主机详细的信息及使用状况)

IP : 局域网络内各主机使用状况.

l Routers : 路由器状况。

l Ports Used : 端口使用情况

l Active TCP Sessions : 目前正在进行的联机 。

l Host Fingerprint : 主机快照情况。

l Host Characterization : 主机描述。

l Local Matrix : 局域网络内各主机间的流量明细。

Media :监控其他网络类型。

l FC : 光纤网络的状况 。

l SCSI : SCSI 设备状况 。

Utils:ntop的备份和日志文件。

Plugins:ntop的插件。

Admin : 新增ntop 使用者或重新启动,停止ntop 。

=================================

三、 Ntop使用详解

ntop是一个灵活的、功能齐全的,用来监控和解决局域网问题的工具。它同时提供命行输入和web界面,可应用于嵌入式web服务。下面分别介绍:

1 Web浏览器方式:

(1)查看网络的所有的计算机流量

查看网络整体流量用鼠标点击―Stats‖按钮后下载―Triffic‖选项。网络流量会以柱面图和明细表格的形式显示出,如果你想查看网络的所有的计算

机流量,用鼠标点击―IP Traffic‖-―Host‖按钮即可,如图3。

图3网络总体流量

(2)查看通信数据包(协议)比例

数据包对于网络管理的网络安全具有至关重要的意义。比如,防火墙的作用本质就是检测网络中的数据包,判断其是否违反了预先设置的规则,如果违反就加以阻止。Linux网络中最常见的数据包是是TCP和UDP。如果想了解一个计算机传输了那些数据,可以双击计算机名称即可分析出用户各种网络传输的协议类型和占用带宽的比例。如图4、图5。图4 是全部网络数据包柱状图,图5是数据包(协议)比例图。

图4 全部网络数据包柱状图

图5 数据包(协议)比例图

(3)查看端口使用情况

说明:Linux网络中最常见的数据包是是TCP和UDP。

网络中有许多TCP数据包和UDP数据包在传送,根据它们使用的不同端口,就可以识别它们的用途,从而可判断网络中有什么类型的数据在传送,为网络管理提供依据。在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。如果想了解一个计算机传输数据使用哪些端口,可以双击计算机名称即可分析出网络传输的协议使用的端口号。如图6。

图6 端口使用情况

(4)使用NTOP监控SAN网络

SAN(Storage Area Network的缩写)意为存储区域网络,是真正的专注于企业级的存储。SAN采用一个分离的网络(从传统的局域网中分离)连接所有的存储器和服务器,这个网络可以采用高性能的实现技术,如

光纤通道(Fiber Channel),可以容纳SCSI等协议,使数据块的移动更为有效,也便于用户自由增加磁盘阵列、磁带库或服务器等设备。现在的SAN基本都是通过Fibre Channel来实现的,Fibre Channel,简称FIBRE

CHANNEL,又称光纤通道,是利用专用设备进行数据高速传输的一种网络标准,主要用于连接服务器的干线(backbones),并把服务器连接到存储设备上。NTOP最新版本比MRTG的最大优势是可以监控SAN网络。

图7使用ntop监控SAN网络

(5)NTOP 提供的插件

NTOP还提供的几个插件,最主要包括:

ICMPWATCH:用于端口检测很多人都已经知道了可以借助NETSTAT -AN来查看当前的连接与开放的端口,但NETSTAT并不万能,比如你的Win2000遭到OOB攻击的时候,不等NETSTAT你就已经死机了。为此,出现了一种特殊的小工具——端口监听程序。端口监听并不是一项复杂的技术,但却能解决一些局部问题。

NetFlow:近年来,很多服务提供商一直使用NetFlow。因为NetFlow在大型广域网环境里具有伸缩能力,可以帮助支持对等点上的最佳传输流,同时可以用来进行建立在单项服务基础之上的基础设施最优化评估,解决服务和安全问题方面所表现出来的价值,为服务计费提供基础。NetFlow是一种数据交换方式,其工作原理是:NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成NetFlow 缓存,随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。但是,NetFlow也不是万能的,比如它无法提供应用反应时间。

rrdPlugin:用于生成流量图。RRD的作者,也是MRTG的作者,RRD可以简单的说是MRTG的升级版,它比MRTG更灵活,更适合用shell、perl等程序来调用,成生所要的图片。

sFlow(RFC 3176)是基于标准的最新网络导出协议,能够解决当前网络管理人员面临的很多问题。sFlow已经成为一项线速运行的―永远在线‖技术,可以将sFlow技术嵌入到网络路由器和交换机ASIC芯片中。与使用镜像端口、探针和旁路监测技术的传统网络监视解决方案相比,sFlow能够明显地降低实施费用,同时可以使面向每一个端口的全企业网络监视解决方案成为可能。与数据包采样技术(如RMON)不同,sFlow是一种导出格式,它增加了关于被监视数据包的更多信息,并使用嵌入到网络设备中的sFlow代理转发被采样数据包,因此在功能和性能上都超越了当前使用的RMON、RMON II和NetFlow技术。sFlow技术独特之处在于它能够在整个网络中,以连续实时的方式监视每一个端口,但不需要镜像监视端口,对整个网络性能的影响也非常小。NTOP插件工作界面如图8。

图8 NTOP插件工作界面

2.命令行方式:

实际上我们还可以通过命令行方式来使用NTOP,一般高手都是这样操作的,因为命令行下修改和添加设置非常迅速,而且还有很多图形化无法实现的操作,特别适合远程操作。如图9。

图9命令行下的ntop

常用参数

-d : 放入后台执行。

-L : 输出讯息写入系统记录文件。

-r : 设定页面的自动更新频率,预设每 3 秒更新一次. 。

-w : 使用其它端口 (预设是 3000) 。

-W : 同 -w , 不过这个是使用 SSL 联机 。

-u : 指定使用其它身份执行。

-i : 指定 ntop 监听的网卡,"," 隔开多个网卡。

-M : 使用 -i 指定多张网卡时, 预设是合并统计. 若要分别统计,加此参数。

-h:获取帮助信息。

如果安装了lynx浏览器还可以大大方便远程管理。方法是使用命令:―lynx:ip:3000 ‖即可如图10。

图10 命令行浏览器下的ntop

Ntop有很多命令行参数,可以使用ntop -h获取帮助信息。另外在首选单―About‖的―Man Page‖中有200页的常见问题回答。这样你也可以自己轻松监控流量了。在线官方文件:/。

===================

四、安全使用NTOP

Ntop可以监测的数据包括:网络流量、使用协议、系统负载、端口情况、数据包发送时间等。透过它﹐基本上所有进出数据都无所遁形,不管拿来做例行的网络监测工作﹐还是拿来做报告﹐都是非常优秀的工具,让您的网络流量透明化。它工作的时候就像一部被动声纳,默默的接收看来自网络的各种信息,通过对这些数据的分析,网络管理员可以深入了解网络当前的运行状况。不过﹐由于ntop本质上是嗅探器,它是一把双刃剑﹐如何保护这些信息只能给授权的人士获得﹐将变得额外重要。

1.经常查看ntop的进程和日志

经典的信息保密性安全模型Bell-LaPadula模型指出,进程是整个计算机系统的一个主体,它需要通过一定的安全等级来对客体发生作用。进程在一定条件下可以对诸如文件、数据库等客体进行操作。如果进程用作其他不法用途,将给系统带来重大危害。在现实生活当中,许多网络黑客都是通过种植―木马‖的办法来达到破坏计算机系统和入侵的目的,而这些―木马‖程序无一例外的是需要通过进程这一方式在机器上运行才能发挥作用的。要切实保证计算机系统的安全,我们必须对其进程进行监控和保护。 Linux系统提供了who、w、ps和top等察看进程信息的系统调用,通过结合使用这些系统调用,我们可以清晰地了解进程的运行状态以及存活情况,从而采取相应的措施,来确保Linux系统的安全。它们是目前在Linux下最常见的进程状况查看工具,它们是随

Linux套件发行的,安装好系统之后,用户就可以使用。Linux 日志都以明文形式存储,所以您不需要特殊的工具就可以搜索和阅读它们。您还可以编写脚本,来扫描这些日志,并基于它们的内容去自动执行某些功能。Linux

日志存储在 /var/log 目录中。这里有几个由系统维护的日志文件,但其他服务和程序也可能会把它们的日志放在这里。大多数日志只有 root 才可以读,ntop的日志文件查看非常方便使用,用鼠标点击―Utile‖-―view log‖按钮即可。如图11。

图11 ntop日志界面

2. 进行web访问认证

缺省情况下,编译Apache时自动加入mod_auth模块,利用此模块可以实现―用户名+密码‖以文本文件为存储方式的认证功能。

1.修改Apache的配置文件/usr/local/apache/conf/,对认证资源所在的目录设定配置命令。下例是对/usr/local/apache/htdocs/ntop目录的配置:

2.在限制访问的目录/usr/local/apache/htdocs/ntop下建立一个文件.htaccess,其内容如下:

3.利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文件:/usr/local/apache/,每行内容格式为“用户名:密码”。

欲了解htpasswd程序的帮助,请执行htpasswd –h

4.重新启动Apache服务器

然后在浏览器中输入localhost访问新建好的站点。这时就会要求输入用户名和密码。

3. 加密连接Ntop

SSL使用公共密钥加密技术,服务器在连接结束时给客户端发送公用密钥用来加密信息,而加密的信息只有服务器用它自己持有的专用密钥才能解开。客户端用公用密钥加密数据,并且发送给服务端自己的密钥,以惟一确定自己,防止在系统两端之间有人冒充服务端或客户端进行欺骗。加密的HTTP连接用443端口号代替80端口号,以区别于普通的不加密的HTTP。客户端使用加密HTTP连接时会自动使用443端口而不是80端口,这使得服务端更容易作出相应的响应。SSL 验证和加密的具体过程如下:

1. 用户使用浏览器,访问Web 服务器站点,发出SSL 握手信号;

2. Web 服务器发出回应,并出示服务器证书(公钥),显示系统Web 服务器站点身份;

3. 浏览器验证服务器证书,并生成一个随机的会话密钥,密钥长度达到128 位;

4. 浏览器用Web 服务器的公钥加密该会话密钥;

5. 浏览器将会话密钥的加密结果发送Web 给服务器;

6. Web 服务器用自己的私钥解密得出真正的会话密钥;

7. 现在浏览器和Web 服务器都拥有同样的会话密钥,双方可以放心使用这个会话密钥来加密通讯内容。

8. 安全通讯通道建立成功。

NTOP支持SSL加密连接,为了防止非授权用户查看NTOP提供的网络信息,您可以使用SSL加密连接NTOP服务器与浏览器的数据。首先修改配置文件/etc/,使用以下选项:

然后使用命令启动https连接和ntop服务器。

apachectl stop

apachectl startssl

ntop start

注意此时使用的3001端口。

IP地址或者域名:3001/ 此时屏幕提示见图12。

图12 https 安全性提示的界面

点击接受按钮,即可进入SSL加密页面,注意浏览器位置栏和右下角的安全标志。见图13。

图16-14 加密连接界面

SSL加密技术可以使NTOP提供的信息更加安全。只有授权用户可以查看。说明:在IE浏览器只有右下角的安全标志。

功能总结

ntop能够显示基于IP地址的带宽占用情况,帮助网络管理员迅速定位恶意抢占网络带宽的用户和应用,还能基于协议的类型进行统计并生成直观的图表,帮助网络管理员了解业务流量的组成和比例,进而以此为依据来优化网络。

网络服务器的资料总流量(网卡的资料传送总数),以及CPU使用率和特殊服务等的封包传送率(或者说是流量),都是网络管理人员所必须要注意的事项,当流量发生异常变化的时候,就需要注意可能有黑客在尝试窃取我们的信息。另外在网络管理方面,有必要了解我们Linux服务器的网络流量状态,并视流量来加以限制或者是加大带宽。本文介绍的NTOP是开源软件,但我觉得它比起其它的商业管理软件来说真的是毫不逊色。

总结: 如果作为一名普通网络用户,在浩瀚的互联网畅游之时,没有人会注意到平静的海面下其实暗流汹涌。一般来说,网络管理者所需要了解的是各个网段的使用情形,频宽的使用率,网络问题的瓶颈发生于何处。当网络问题发生时,必须能够很快地区隔出问题的发生原因,迅速定位到线路问题、网络设备问题、或者是路由和放火墙的设定问题。在一个稍微较小的网络中,一个有经验的管理者要回答这些问题并不难,但是如果其所管理的网络范围过于庞大,那么就可能需要一个有效率的网管系统了。在业务繁忙的工作网络中,网络突然缓慢,在重要数据往来的工作时间段,留给系统管理员的响应时间只有宝贵的十几分钟、甚至几分钟。如果你不能回答网络为什么缓慢?必须在经过科学合理的计算和统计,并且在预先建立的流量分析系统中才能找到答案

本文出自 技术博客

本文标签: 网络使用端口