概述

上一篇文章我介绍了用vnstat来监控网站服务器流量,但是vnstat只能计算网卡的流量,如果想知道都是哪个IP哪个主机发送或是接收了多少流量就需要用到我们今天介绍的软件了。ntop是输出Web页面来显示的,iftop虽然可以实时监控流量,但是不支持Web输出。

功能

NTOP主要提供以下一些功能:

  • 自动从网络中识别有用的信息;
  • 将截获的数据包转换成易于识别的格式;
  • 对网络环境中通信失败的情况进行分析;
  • 探测网络环境中的通信瓶颈;
  • 记录网络通信的时间和过程。
它可以通过分析网络流量来确定网络上存在的各种问题;也可以用来判断是否有黑客正在攻击网络系统;还可以很方便地显示出特定的网络协议、占用大量带宽的 主机、各次通信的目标主机、数据包的发送时间、传递数据包的延时等详细信息。通过了解这些信息,网管员可以对故障做出及时的响应,对网络进行相应的优化调 整,以保证网络运行的效率和安全。

环境

CentOS 5.8 X86

Web:LNMP(Linux+Nginx+MySQL+PHP)

安装

安装首先需要先安装依赖包,然后Python最好在2.6版本以上,然后就可以安装ntop了。

依赖包

Ntop的依赖包很多,而且如果一个一个下载安装会安装非常麻烦,我们需要运用yum形式来安装。
[code lang="bash"]yum -y install libpcap-devel libtool autoconf automake gdbm-devel zlib-devel ruby GeoIP-devel subversion
yum -y install rrdtool perl-rrdtool rrdtool-devel[/code]
说明:如果缺少subversion你将会收到显示如下错误:
[code lang="bash"]You must have svn/subversion installed to compile autogen.sh.
Download the appropriate package for your distribution, or get the source from http://subversion.tigris.org[/code]
GeoIP是一个 ip 对应地理信息的数据库。所谓GeoIP,就是通过来访者的IP,定位他的经纬度,国家/地区,省市,甚至街道。

升级Python

因为我之前没有升级Python之前就开始安装Ntop了,收到如下的错误,所以我们要先把Python升级。
[code lang="bash"]>>>> Unable to locate python-config: using workaround <<<<
checking for python... python
checking Checking python version... Old python installed
Please install python 2.6 or newer.[/code]
首先我们先检查自己的Python的版本,默认安装的是2.4版本,我们运行以下命令来查看。
[code lang="bash"]python -V[/code]
如果显示2.4的话那就需要升级。

下面就是升级到2.7.3版本的代码。
[code lang="bash"]wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
tar zxvf Python-2.7.3.tgz
cd Python-2.7.3
./configure --prefix=/usr/local/python273
make &amp;&amp; make install[/code]
下面我们来检查下是否2.7.3版本的Python是否安装成功:
[code lang="bash"]/usr/local/python273/bin/python -V[/code]
如果安装成功我们就把2.7.3替换掉原来的2.4。
[code lang="bash"]ln -s /usr/local/bin/python273 /usr/bin/python
mv /usr/bin/python /usr/bin/python.bak[/code]
但是考虑到yum还需要原来2.4版本的Python,我们还需要修改yum的配置(如果yum直接用Python2.7.3的话需要整体升级,非常麻烦)
[code lang="bash"]vi /usr/bin/yum[/code]
将文本编辑显示的第一行#!/usr/bin/python修改为#!/usr/bin/python2.4,保存修改即可。

安装ntop

我这里装的是目前最新版本。
[code lang="bash"]wget http://sourceforge.net/projects/ntop/files/ntop/Stable/ntop-5.0.1.tar.gz/download
tar zxvf ntop-5.0.1.tar.gz
cd ntop-5.0.1
./autogen.sh
./configure
make &amp;&amp; make install[/code]

配置

添加用户

首先给ntop添加一个用户和用户组,方便web访问环境,以及日志保存路径。
[code lang="bash"]groupadd ntop
useradd ntop -g ntop[/code]
[code lang="bash"]mkdir /var/log/ntop
chown -R ntop.ntop /usr/local/share/ntop/
chown -R ntop.ntop /var/log/ntop/[/code]

运行程序

首次运行,可以使用以下命令:
[code lang="bash"]ntop -P /var/log/ntop/ -u ntop[/code]
注意首次运行的时候需要设定管理员用户admin的密码。

设置开机启动

只需要运行以下命令。
[code lang="bash"]# echo "ntop -p /var/log/ntop &amp; 2&gt;1 1&gt; /dev/null" &gt;&gt; /etc/rc.d/rc.local[/code]

Web环境

只需要在浏览器地址栏输入http://ip:3000就可以查看网站的流量了。

在Admin选项卡中可以修改一些配置,建议把端口号3000修改成不常见的端口。

最后修改:2022 年 05 月 23 日
如果觉得我的文章对你有用,请随意赞赏