17.2.3 软件使用方法
NTOP是一个灵活的、功能齐全的,用来监控和解决局域网问题的工具。它同时提供命令行输入和Web界面,可应用于嵌入式Web服务。下面分别介绍。
1.Web浏览器方式
(1)查看网络的所有的计算机流量
查看网络整体流量用鼠标单击"Stats"按钮后,下载"Triffic"选项。网络流量会以柱面图和明细表格的形式显示出,如果你想查看网络的所有的计算机流量,用鼠标单击"IP Traffic"→"Host"按钮即可,如图17-4所示。

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

图17-5 全部网络数据包柱状图

图17-6 数据包(协议)比例图
说明 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中的端口,是逻辑意义上的端口。如果想了解一个计算机传输数据使用哪些端口,可以双击计算机名称即可分析出网络传输的协议使用的端口号。如图17-7所示。

图17-7 端口使用情况
(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网络。工作界面如图17-8所示。

图17-8 使用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插件工作界面如图17-9所示。

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

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

图17-11 命令行浏览器下的NTOP
NTOP有很多命令行参数,可以使用"ntop-h"获取帮助信息。另外在首选单"About"的"Man Page"中有200页的常见问题回答。这样你也可以自己轻松监控流量了。在线官方文件http://www.ntop. org/ntop-overview.pdf。