网络监控工具—ntop
简介:Ntop是一种监控网络流量工具,用ntop显示网络的使用情况比其他一些网络管理软件更加直观、详细。Ntop甚至可以列出每个节点计算机的网络带宽利用率。他是一个灵活的、功能齐全的,用来监控和解决局域网问题的工具;尤其当ntop与nprobe配合使用,其功能更加显著。它同时提供命令行输入和web页面,可应用于嵌入式web服务 。
ntop使用平台:Ntop可以支持win32、linux、Unix、BSD等平台。
实验环境:
操作系统: red hat 企业版 5 2.6.18-164.el5
必要的编译环境:
Development Libraries 开发的库文件
Development Tools 开发的工具
Legacy Software Development 传统的开发工具
X Software Development 图形化的软件开发工具
GNOME Software Development gnome桌面下的软件开发工具
KDE Software Development kde桌面下的软件开发工具
说明:若没有的话需要使用yum来进行安装, yum groupinstall 包名称
本地yum的搭建:
Vim /etc/yum.repo.d/server1.repo
[rhel-server]
name=Red Hat Enterprise Linux server
baseurl=file:///mnt/cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
[rhel-vt]
name=Red Hat Enterprise Linux vt
baseurl=file:///mnt/cdrom/VT
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
[rhel-cluster]
name=Red Hat Enterprise Linux cluster
baseurl=file:///mnt/cdrom/Cluster
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
[rhel-clusterstorage]
name=Red Hat Enterprise Linux clusterstorage
baseurl=file:///mnt/cdrom/ClusterStorage
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
具体的实现步骤:
1.1. 安装 cairo-devel
因为安装 rrdtool 需要cairo向量图形绘图库。
资讯领域中,cairo 是一个让用于提供向量图形绘图的免费函式库,Cairo 提供在多个背景下做 2-D 的绘图,进阶的更可以使用硬件加速功能。
虽然 Cairo 是使用C语言撰写的,但是当使用 Cairo 时,可以用许多其他种语言来使用,包括有 C++、C#、Java、Python、Perl、Ruby、
Scheme、Smalltalk 以及许多种语言,Cairo 在 GPL 与 Mozilla Public License 两个认证下发行。
1.2. 安装 pango-devel
因为安装 rrdtool 需要。pango是一个文字渲染库。
Pango()是一个开放源代码的自由函数库,用于高质量地渲染国际化的文字。Pango可以使用不同的后端字体,并提供了跨平台支持。
Pango已经被整合到多数Linux发行版中,并在Fedora Core 6被用于Firefox网页浏览器和Thunderbird邮件客户端的文字渲染。虽然在
Mozilla的源代码里并没有包含Pango,但Fedora Core得到了Mozilla基金会的特别许可[1]。同样,Debian的Iceweasel、IceDove和IceApe也
使用了Pango。
在与Cairo融合后,Pango可以完全进行文字处理和图形渲染。
1.3. 安装 rrdtool
RRDtool是由Tobias Oetiker 编写并由全球各地的许多人贡献的工具。RRDtool是指Round Robin Database 工具(环状数据库)。Round robin是一种处理定量数据、以及当前元素指针的技术。想象一个周边标有点的圆环--这些点就是时间存储的位置。从圆心画一条到圆周的某个点的箭头--这就是指针。就像我们在一个圆环上一样,没有起点和终点,你可以一直往下走下去。过来一段时间,所有可用的位置都会被用过,该循环过程会自动重用原来的位置。这样,数据集不会增大,并且不需要维护。RRDtool处理RRD数据库。它用向RRD数据库存储数据、从RRD数据库中提取数据。
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz
tar zxf rrdtool-1.4.7.tar.gz
cd rrdtool-1.4.7
./configure --prefix=/usr
make && make install
1.4. 安装 libpcap-devel
libpcap是unix/linux平台下的网络数据包捕获函数包,
大多数网络监控软件都以它为基础。
Libpcap可以在绝大多数类unix平台下工作.
Libpcap应用程序框架
Libpcap提供了系统独立的用户级别网络数据包捕获接口,并充分考虑到应用程序的可移植性。
yum install libpcap-devel
1.5. 安装 GeoIP
所谓GeoIP,就是通过来访者的IP,定位他的经纬度,国家/地区,省市,甚至街道等位置信息。这里面的技术不算难题,关键在于 有个精准的数据库。有了准确的数据源就奇货可居赚点小钱,可是发扬合作精神,集体贡献众人享用是我们追求的。
下面是简要安装步骤:
wget http://www.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
tar zxf GeoIP.tar.gz
cd GeoIP-1.4.8/
./configure --prefix=/usr
make && make install
1.6. 安装 ntop
Wget"http://sourceforge.net/projects/ntop/files/ntop/Stable/ntop-4.1.0.tar.gz/download"
tar zxf ntop-4.1.0.tar.gz
cd ntop-4.1.0
./autogen.sh
make && make install
1.7. 运行 ntop
一般建议以 ntop 用户来运行 ntop 程序。
下面是创建 ntop 用户的步骤:
useradd -s /sbin/nologin ntop
passwd -l ntop
计划将 ntop 的数据库放在 /var/ntop 目录
[root@liunx0918 ~]# mkdir /var/ntop
[root@liunx0918 ~]# chown -R ntop:ntop /var/ntop
检查防火墙设置,放开 3000 端口
先执行 service iptables save
再在 /etc/sysconfig/iptables 中添加一行
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3000 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
保存
执行 service iptables restart
[root@liunx0918 ~]# service iptables save
Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
[root@liunx0918 ~]# vi /etc/sysconfig/iptables
修改 /etc/sysconfig/iptables 文件,如上所示。
[root@liunx0918 ~]# service iptables restart
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
[root@liunx0918 ~]#
注:直接执行下面的命令不能放开 3000 端口
iptables -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3000 -j ACCEPT
ntop其他重要参数
ntop -h 写道
[-P <path> | --db-file-path <path>] Path for ntop internal database files
[-i <name> | --interface <name>] Interface name or names to monitor
[-d | --daemon] Run ntop in daemon mode
[-L] Do logging via syslog
[--skip-version-check] Skip ntop version check
[-A] Ask admin user password and exit
ntop -P /var/ntop -i eth0 -u ntop
1.8. 设置 ntop 管理密码
首先得使用 ntop -A 设置管理密码。可以设置得复杂些。
ntop startup - waiting for user response!
Please enter the password for the admin user: Mon May 28 15:07:13 2012 THREADMGMT[t3017280400]: DNSAR(3): Address
resolution thread running
Password too short (5 characters or more). Please try again.
ntop startup - waiting for user response!
Please enter the password for the admin user:
Please enter the password again:
Mon May 28 15:07:31 2012 Admin user password has been set
1.9. 运行 ntop
[root@liunx0918 ~]# ntop -P /var/ntop -i eth0 -u ntop
在就可以通过浏览器来访问了,比如使用 Firefox,网址为:
http://your_server_ip:3000/
2.0 测试
补充说明:
1、About:在线手册
2、Summary:目前网络的整体概述。
--Traffic:流量。
--Hosts:所有主机的使用概述。
--Network Load:各时段的网络负载。
--Netflows:网络流量图。
3、IP summary:各主机的流量状况与排名明细。
--Traffic:所有主机的流量明细。
--Multicast:多点传送情况。
--Domain:域名。
--Distribution:通信量状况。
--Local >> Local:本地流量。
--Local >> Remote:所有主机对外的明细。
--Remote >> Local:远程主机到本地流量。
--Remote >> Remote:远程主机到远程主机流量。
4、All Protocools:查看各主机占用的频宽与各个时段网络使用者等的明细。
--Traffic:流量。
--Throughput:频宽使用明细表(点选主机,可以看的该主机详细的信息及使用状况)。
--Activity:各时段所有主机使用流量状况(点选主机,可以看的该主机详细信息及使用状况)。
5、Local IP :局域网络内各主机的使用状况。
--Routers:路由器状况。
--Ports Userd:端口使用情况。
--Active TCP Sessions:目前正在进行的联机。
--Host Fingerprint:主机快照情况。
--Host Characteri zation: 主机描述。
--Local Matrix:局域网络内各主机间的流量明细。
6、FC:光钎网络的状况。
7、SCSI:SCSI设备状况。