网络服务器的资料总流量,以及TCP、UDP等的封包传送率(或者说是流量),是网络管理人员所必须要注意的事项,因为而当流量过高的时候,就需要找到网络的瓶颈。因此,网络管理方面,有必要了解网络中每个主机的各种网络服务的状态,并视流量来加以限制或者是加大带宽。我们介绍Linux环境下一个功能完备的GUI网络检测工具ntop。
准备工作
下载软件:
ntop工作时需要使用zlib、gd、libpcap及libpng的函数(zlib用来压缩图表、gd用来绘制图表),安装前请检查服务器中是否已经含有下列的软件: zlib(zlib-1.1.3-xx以上) gd(gd-1.3.xx以上)、libpng。可以使RPM来确认:
rpm -qa | grep libpcaprpm -qa | grep zlibrpm -qa | grep gdrpm -qa | grep libpng
notp可以在red hat 7.1的工具盘中找到,不过我们尽量不用,因为它有很大的安全漏洞,其中有一个漏洞允许远程读取主机上的任意文件。详细情况可以参看: 。最好下载它的最新版本代码:ntop-02-07-10.tar.gz.ntop,首页在。下面以红旗3.0(kernel 2.4.7-10)为例介绍ntop的安装和使用。
安装软件:
gunzip ntop-02-07-10.tar.gz
tar zxvf ntop-02-07-10.tar
mv ntop-02-07-10 ntop
cd ntop/gdchart0.94c
./configure
cd gd-1.8.3/libpng-1.2.4
make
cd ../../zlib-1.1.4
./configure
make
cd ..
make
cd ../ntop
./configure
make
make install
安装结束后为ntop 建立一个存放数据的目录:
mkdir -p /home/ntop_dbasechown 99,99 /home/ntop_dbase执行ntop
/usr/local/bin/ntop -u nobody -P /home/ntop_dbase&
说明:第一次执行ntop系统会让你输入密码,自己可以设定一个,以后再用ntop 就不用了。启动X窗口,在浏览器中输入http ://192.168.0.2:3000/ (安装软件的主机) 即可打开ntop的主菜单。
ntop 也可以在命令行下使用:
intop -i eth0
实际案例分析
我单位是一个由多种系统组成的Linux中小局域网。网络拓扑如图1。其中服务器使用的操作系统为红旗3.0,客户端PC使用的是Windows 9x/Me/2000。
一天下午网络性能突然下降,导致网上的大量数据无法顺利传输。我首先怀疑是物理故障。但是使用ping命令测试发现网络是连通的,没有物理损坏。
检测故障
启动ntop,可以看到ntop能检测网络中的绝大多数协议文件。首先检查网络负荷:点击“IP Protos” 菜单(见图2),发现网络中的机器网络负荷为98%。
点击主机“IP Traiffic”菜单来查询网络流量,见图3。
果然发现以主机名为cao1的PC发送了大量数据,它的网络负荷接近99%。点击“cao1”后点击“Host”可以查看其它情况。见图4,可以看出,主机“cao1”IP地址为192.168.0.1,MAC地址为00:50:BA:F0:AB:AC,使用的操作系统为Windows。
(点击查看大图)
双击“cao1”就可以了解主机“cao1”的详细情况所有网络情况。我们来看其中传输数据类型这一部分见图5。从中可以看出它发送的数据都是UDP格式的。
我们知道UDP是Linux网络层的传输层的数据,所以可以判断是广播风暴造成了网络性能下降。
解决方法
我们找到主机“cao1”,原来一个工作人员正在向客户演示公司的产品信息,他使用了超级解霸2000。我们知道超级解霸2000播放文件时有一个选项是进行局域网的DVB音视频广播。这名工作人员由于操作失误以致向网络的所有主机包括服务器进行了DVB音视频广播,造成了广播风暴。
关闭主机“cao1”超级解霸2000的DVB音视频广播的选项。网络恢复正常。
总结
ntop 的确是网管人员的好帮手。通过它,基本上所有进出流量、主机信息网络、安全状态都无所遁形,不管进行网络监测还是日志管理,都是非常优秀的工具。不过由于ntop从本质上讲是一种网络嗅探器,所以是一把双刃剑。对于网络的安全,管理显得格外重要,除网络管理员外其它人员禁止在网络中使用任何嗅探工具—包括一些企业高级管理人员,是完全有必要的