免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2619 | 回复: 1
打印 上一主题 下一主题

Linux下NTOP使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-12 09:43 |只看该作者 |倒序浏览

为什么要安装在Linux下安装NTOP呢[color="#000000"]?现在的P2P对于网络流量提出挑战
如果让说Linux网络管理员最头疼的问题,恐怕大家都会回答是网络带宽匮乏了,实际情况确实如此,随着网络应用与网络软件的越来越多,占用带宽资
源的服务也越来越多。我们究竟应该怎么管理网络成为一个非常严肃的问题。BT,P2P等软件吞噬着网络带宽,蠕虫等网络病毒也使网络带宽变得枯竭。从某种
意义上讲带宽就是钱,那么我们这些网络管理员如何有效地监视、控制公司的网络流量呢?下面介绍一个不可多得的监控网络流量的工具NTOP。
1.Linux异构网络中P2P流量情况
P2P(Peer-to-Peer)是一种用于文件交换的新技术,通过Internet允许建立分散的、动态的、匿名的逻辑网络。P2P为对等连接
或对等网络,点对点网络技术可应用于文件共享交换、深度搜索、分布计算等领域。它允许个体的PC通过Internet共享文件。随着P2P文件交换应用的
普及,ISP在维持和增加宽带网的收益上也面临着新的挑战和机遇。据有关资料统计,现有的网络中有超过70%的带宽被P2P通信占据着。P2P通信会导致
异常的流量峰值,对网络资源造成意外的损失;所带来的网络拥塞、性能下降等问题,已影响到正常的网络应用,如WWW、E-mail等,缓慢的网页浏览和收
发邮件速度更引起普通用户的不满。
若想控制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传送数据。
2.NTOP的功能
MRTG基于SNMP获取信息,对于端口的流量,
MRTG能提供精确统计,但对于三层以上的信息则无从得知了。而这正是NTOP的强项。NTOP能够更加直观地将网络使用量的情况和每个节点计算机的网络
带宽使用详细情况显示出来。NTOP是一种网络嗅探器,嗅探器在协助监测网络数据传输、排除网络故障等方面有着不可替代的作用。可以通过分析网络流量来确
定网络上存在的各种问题,如瓶颈效应或性能下降;也可以用来判断是否有黑客正在攻击网络系统。如果怀疑网络正在遭受攻击,通过嗅探器截获的数据包可以确定
正在攻击系统的是什么类型的数据包,以及它们的源头,从而可以及时地做出响应,或者对网络进行相应的调整,以保证网络运行的效率和安全。通过NTOP网管
员还可以很方便地确定出哪些通信量属于某个特定的网络协议、占主要通信量的是哪个主机、各次通信的目标是哪个主机、数据包发送时间、各主机间数据包传递的
间隔时间等。这些信息为网管员判断网络问题及优化网络性能,提供了十分宝贵的信息。
NTOP提供以下一些功能:
① 自动从网络中识别有用的信息;
② 将截获的数据包转换成易于识别的格式;
③ 对网络环境中的通信失败进行分析;
④ 探测网络环境下的通信瓶颈;
⑤ 记录网络通信时间和过程;
⑥ 自动识别客户端正在使用的操作系统;
⑦ 可以在命令行和Web两种方式下运行。
3.流量分析要点

连接性。也称可用性、连通性或者可达性,严格说应该是网络的基本能力或属性。Internet的出现,以及采用新技术而带来的生产力提高,导致对更高带宽
和服务的需求。企业需要更高带宽的定制服务;而消费者则需要像宽带连接和视频点播等服务;运营商必须在他们的目标市场需求与他们业务的现实之间取得平衡;
这些都必须以网络的连接性能为基础和保障。
② 时延。定义了一个IP包穿越一个或多个网段所经历的时间。时延由固定时延和可变时延两部分组成。固定时延基本不变,由传播时延和传输时延构成;可变时延由中间路由器处理时延和排队等待时延两部分构成。
③ 丢包率。是指丢失的IP包与所有的IP包的比值。许多因素会导致数据包在网络上传输时被丢弃,例如,数据包的大小及数据发送时链路的拥塞状况等。不同业务对丢包的敏感性不同,在多媒体业务中,丢包是导致图像质量降低和断帧的根本原因。

带宽。一般分为瓶颈带宽和可用带宽。瓶颈带宽是指当一条路径(通路)中没有其他背景流量时,网络能够提供的最大的吞吐量。可用带宽是指在网络路径(通路)
存在背景流量的情况下,能够提供给某个业务的最大吞吐量。在复杂的网络系统上面,不同的应用占用不同的带宽,重要的应用是否得到了最佳的带宽?它占的比例
是多少?队列设置和网络优化是否生效?通过如MRTG等网络流量分析会使其更加明确,并以图形HTML文档方式显示给用户,以非常直观的形式显示流量负
载。
4.主动分析避免异常流量
面对异常流量,我们应当建立一套分析系统,支持异常流量发现和报警,能够通过对一个时间段内历史数据的自动学习,获取包括总体网络流量水平、流量波动、流量跳变等在内的多种网络流量测度,并自动建立当前流量的置信度区间作为流量异常监测的基础。
如果自行建立主动型的网络分析系统,一般包括测量节点、中心服务器、数据库和分析服务器。但对于中小企业来说难度较大。主动分析是借助产品化和集成
程度较高的测量工具,有目的地对生产网络注入监控点,并根据测量数据流的传送情况来分析网络的性能。虽然这些监控点也会占用带宽,但和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。
Linux下NTOP的安装
NTOP在http://www.ntop.org/download.html
可以下载最新的源代码。NTOP可以安装在所有计算机(Linux/Unix/
BSD/Windows)上,这里根据各服务器自身应用的特点,定制规则,并将收集到的信息、告警等传至网管员控制台的NTOP控制中心。运行软件需要
Libpcap库支持。Libpcap是UNIX/Linux平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。Libpcap提供了系统
独立的用户级别网络数据包捕获接口,并充分考虑到应用程序的可移植性。Libpcap可以在绝大多数类UNIX平台下工作,Libpcap软件包可从
http://www.tcpdump.org/下载。
Windows客户端安装了WinPcap (http://
www.winpcap.org/),它是网络数据包截取驱动程序,能够分析在线播放的流媒体直接下载地址信息,类似于Libpcap包,支持
Windows平台。可以进行信息包捕获和网络分析,是基于UNIX的Libpcap和BPF(Berkeley分帧过滤器)模型的包。配置NTOP的网
络拓扑,如图17-2所示,核心交换机是SmartBits 6000C。其L3+模块的NetStream功能兼容Cisco的NetFlow
V5/V8格式,能够提供对业务流量数据的精确统计。使用基于Linux平台的NTOP作为收集和分析NetStream数据的工具。另外,还要安装以下
函数库:glibc, glibc-devel, gcc, gdbm, binutils, ncurses, RRDTool。
当你在Linux下安装并运行 NTOP 之后,可以通过下面的地址在浏览器中打开它:http://127.0.0.1:3000
在 NTOP 的 Web 界面中,我们可以直观的查看到全局网络流量统计、Host 信息、网络负载统计、所有协议及 IP 的流量情况。此外,ntop 还提供相应工具,让你能够转存数据。

图为   配置NTOP的网络拓扑
软件安装过程:
#rpm - ivh   ntop-3.2-1.el4.rf.i386.rpm
然后建立日志文件目录:
#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监控服务。这时你可以打开浏览器输入http://IP:3000,即可打开管理界面。NTOP主界面如图17-3所示。
NTOP的主界面一共8个大版面,33个选项。主要包括以下内容。
① About:在线手册。

图为   NTOP主界面
② Summary:目前网络的整体概况。
—   Traffic:流量。
—   Hosts:所有主机的使用概况。
—   Network Load:各时段的网络负载。
—   Netflows:网络流量图。
③ IP Summary:各主机的流量状况与排名明细。
—   Traffic:所有主机的流量明细。
—   Multicast:多点传送情况。
—   Domain:域名。
—   Distribution:通信量状况。
—   Local >>Local:本地流量。
—   Local>>Remote:所有主机对外的明细。
—   Remote>>Local:远程主机到本地流量。
—   Remote>>Remote:远程主机到远程主机流量。
④ All Protocols:查看各主机占用的频宽与各时段网络使用者等的明细。
—   Traffic:流量。
—   Throughput:频宽使用明细表(点选主机,可以看到该主机详细的信息及使用状况)。
—   Activity:各时段所有主机使用流量状况(点选主机,可以看到该主机详细的信息及使用状况)。
⑤ Local IP:局域网络内各主机使用状况。
—   Routers:路由器状况。
—   Ports Used:端口使用情况。
—   Active TCP Sessions:目前正在进行的联机。
—   Host Fingerprint:主机快照情况。
—   Host Characterization:主机描述。
—   Local Matrix:局域网络内各主机间的流量明细。
⑥ FC:光纤网络的状况。
⑦ SCSI:SCSI设备状况。
⑧ Admin:新增NTOP使用者或重新启动,停止NTOP。
NTOP软件的使用方法
NTOP是一个灵活的、功能齐全的,用来监控和解决局域网问题的工具。它同时提供命令行输入和Web界面,可应用于嵌入式Web服务。下面分别介绍。
1.Web浏览器方式
(1)查看网络的所有的计算机流量
查看网络整体流量用鼠标点击“Stats”按钮后,下载“Triffic”选项。网络流量会以柱面图和明细表格的形式显示出,如果你想查看网络的所有的计算机流量,用鼠标点击“IP Traffic”-“Host”按钮即可,如下图所示。

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

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

图为   数据包(协议)比例图
说明   Linux网络中最常见的数据包是TCP和UDP。
1)面向连接的TCP
“面向连接”就是在正式通信前必须要与对方建立起连接。TCP(Transmission Control
Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能
建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。
这三次对话的简单过程:主机A向主机B发出连接请求数据包“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步
(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步
“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。
TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP传输
数据。
2)面向非连接的UDP协议
“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。这与现在流行的
手机

信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。UDP(User Data
Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去。UDP适用于一次
只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的
原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。例如,在默认状态下,一次
“ping”操作发送4个数据包。发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。这充分说明了UDP是面向
非连接的协议,没有建立连接的过程。正因为UDP没有连接的过程,所以它的通信效率高;但也正因为如此,它的可靠性不如TCP高。QQ就使用UDP发消
息,因此,有时会出现收不到消息的情况。
(3)查看端口使用情况
网络中有许多TCP数据包和UDP数据包在传送,根据它们使用的不同端口,就可以识别它们的用途,从而可判断网络中有什么类型的数据在传送,为网络
管理提供依据。在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ—45端口、
Serial端口等。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP中的端口,是逻辑意义上的端口。如果想了解一个计算机传输数据使用
哪些端口,可以双击计算机名称即可分析出网络传输的协议使用的端口号。如下图所示。

图为  端口使用情况
(4)使用NTOP监控SAN网络
SAN(Storage Area
Network的缩写)意为存储区域网络,是真正的专注于企业级的存储。SAN采用一个分离的网络(从传统的局域网中分离)连接所有的存储器和服务器,这
个网络可以采用高性能的实现技术,如光纤通道(Fiber
Channel),可以容纳SCSI等协议,使数据块的移动更为有效,也便于用户自由增加磁盘阵列、磁带库或服务器等设备。现在的SAN基本都是通过
Fibre Channel来实现的。Fibre
Channel,又称光纤通道,是利用专用设备进行数据高速传输的一种网络标准,主要用于连接服务器的干线(backbones),并把服务器连接到存储
设备上。
与光纤通道相比,iSCSI具有许多优势,用
“iSCSI=低廉+高性能”这个等式来表示再恰当不过了。iSCSI是基于IP的技术标准,实现了SCSI和TCP/IP的连接,那些以局域网为网络环
境的用户只需要少量的投入,就可以方便、快捷地对信息和数据进行交互式传输和管理。相对于以往的网络接入存储,iSCSI的产生解决了开放性、容量、传输
速度,以及兼容性等许多问题,让用户可以通过现有的TCP/IP网络来构建存储区域网,能够更容易地管理SAN存储。NTOP最新版本比MRTG的最大优
势是可以监控SAN网络。工作界面如下图所示。

图为   使用NTOP监控SAN网络
(5)NTOP提供的插件
NTOP还提供几个插件,最主要包括以下几个。
—  
icmpWatch:用于端口检测。很多人都已经知道了可以借助netstat-an来查看当前的连接与开放的端口,但netstat并不万能,比如你的
Win2000遭到OOB攻击的时候,不等netstat你就已经死机了。为此,出现了一种特殊的小工具——端口监听程序。端口监听并不是一项复杂的技
术,但却能解决一些局部问题。
—  
NetFlow:近年来,很多服务提供商一直使用NetFlow。因为NetFlow在大型广域网环境里具有伸缩能力,可以帮助支持对等点上的最佳传输
流,同时可以用来进行建立在单项服务基础之上的基础设施最优化评估,解决服务和安全问题方面所表现出来的价值,为服务计费提供基础。NetFlow是一种
数据交换方式,其工作原理是:NetFlow利用标准的交换模式处理数据流的第一个IP数据包,生成NetFlow缓存,随后同样的数据基于缓存信息在同
一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。但是,NetFlow也不是万能的,比如它无
法提供应用反应时间。
—   rrdPlugin:用于生成流量图。RRD可以简单地说是MRTG的升级版,它比MRTG更灵活,更适合用shell、Perl等程序来调用,生成所要的图片。
—   sFlow(RFC
3176):基于标准的最新网络导出协议,能够解决当前网络管理人员面临的很多问题。sFlow已经成为一项线速运行的“永远在线”技术,可以将
sFlow技术嵌入到网络路由器和交换机ASIC芯片中。与使用镜像端口、探针和旁路监测技术的传统网络监视解决方案相比,sFlow能够明显地降低实施
费用,同时可以使面向每一个端口的企业网络监视解决方案成为可能。与数据包采样技术(如RMON)不同,sFlow是一种导出格式,它增加了关于被监视数
据包的更多信息,并使用嵌入到网络设备中的sFlow代理转发被采样数据包,因此,在功能和性能上都超越了当前使用的RMON、RMON
II和NetFlow技术。sFlow技术独特之处在于它能够在整个网络中,以连续实时的方式监视每一个端口,但不需要镜像监视端口,对整个网络性能的影
响也非常小。
NTOP插件工作界面如下图所示。

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

图为   命令行下的NTOP
常用参数如下。
— -d:放入后台执行。
— -L:输出信息写入系统记录文件。
— -r:设定页面的自动更新频率,预设每3秒更新一次。
— -w:使用其他端口(预设是3000)。
— -W:同–w,不过这个是使用SSL联机。
— -u:指定使用其他身份执行。
— -i:指定NTOP监听的网卡,“,”隔开多个网卡。
— -M:使用-i指定多张网卡时,预设是合并统计,若要分别统计,加此参数。
— -h:获取帮助信息。
如果安装了Lynx浏览器还可以大大方便管理。方法是使用命令“lynx:http://ip:3000”即可,如下图所示。

图为   命令行浏览器下的NTOP
NTOP有很多命令行参数,可以使用“ntop -h”获取帮助信息。另外在首选单“About”的“Man Page”中有200页的常见问题回答。这样你也可以自己轻松监控流量了。
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/7417/showart_1286772.html

论坛徽章:
0
2 [报告]
发表于 2012-04-01 10:30 |只看该作者
你好,我想问下ntop在大规模网络例如移动、电信、数据中心机房的应用情况,例如性能、CPU消耗怎么样,是否适合电信级网络流量监控啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP