Linux 网络流量实时监控工具之ntopng详解

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

大纲

一、前言

二、ntopng 简介

三、ntopng 功能说明

四、ntopng 安装详解

五、ntopng 配置详解

六、ntopng 使用详解

注,操作系统 CentOS 5.5 X86_64,软件版本 ntopng-1.1.1。( 所以软件请点击这里下载:http://yunpan.cn/QUxy45R7m4VaD)


一、前言

最近公司换了几台服务器,把旧服务器上的服务往新服务器上迁移,发现在旧服务器的ntop太老了,就决定啊更新一下。到官网(http://www.ntop.org/products/ntop/)看了一下ntop不更新了,现在出ntopng了,然后就安装配置了一下,在这个过程中发现一些问题,然后到网上搜索了一下发现在这方面的资料不多,所以呢?把这几天的使用心得与大家分享一下,哈哈。


二、ntopng 简介

ntopng 高速的基于Web的流量分析与集流工具。ntopng是NTOP的新一代版本,官方原先版本的NTOP已经不再更新。ntopng是原ntop下一代版本,网络流量实时监控显示。ntop是基于Libpcap和它被写在一个可移植的方式来运行在UNIX平台上,MacOSX和Win32一样。

ntopng 用户可以使用一个网页浏览器浏览的ntop(即作为一个Web服务器)流量信息和得到网络状态转储。在后一种情况下,ntop可以看出具有一个嵌入式网络接口作为一个简单的的类远程监控剂。使用:

  • 一个网络接口。

  • 有限的通过Web界面的配置和管理。

  • 降低CPU和内存使用率(根据网络规模和流量而有所不同)。


三、ntopng 功能说明

1.常用功能

  • 根据许多协议对网络流量进行排序

  • 显示网络流量和IPv4/v6的活动主机

  • 显示主机的地理位置

  • 显示IP的各种协议流量分布

  • 根据源/目的IP流量分析和排序

  • 显示IP流量子网矩阵

  • 报告使用IP协议,按协议类型排序

  • 生产的HTML5/AJAX网络流量统计

  • 自动从网络中识别有用的信息

  • 将截获的数据包转换成易于识别的格式

  • 对网络环境中通信失败的情况进行分析

  • 在运行时无需重启

  • 实时监控工具汇总数据(5分钟)

  • 许多新功能,包括基于HTML5动态图形用户界面,分类,DPI等。

2.支持平台

  • UNIX(包括Linux,* BSD和MacOSX)

  • Win32的(包括最新的Windows 7/8)

3.Web图形用户界面

  • 一个现代化的HTML 5浏览器需要可视化ntopng的流量统

4.支持协议

  • 支持IPv4/IPv6

  • 更多

5.可扩展性

  • ntopng引擎使用LuaJIT语言脚本。

  • 用户可以扩展网络接口,以及实时修改,而无需代码转换成C + +引擎ntopng。


四、ntopng 安装详解

1.实验拓扑

NTOPNG_thumb2

2.安装yum源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@ntopng ~] # uname -a 
Linux ntopng. test .com 2.6.18-194.el5  #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux  
[root@ntopng ~] # lsb_release -a  
LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch  
Distributor ID:    CentOS  
Description:    CentOS release 5.5 (Final)  
Release:    5.5  
Codename:    Final
[root@ntopng ~] # mkdir src 
[root@ntopng ~] # cd src/  
[root@ntopng src] # wget wget http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
[root@ntopng src] # rpm -ivh epel-release-5-4.noarch.rpm 
warning: epel-release-5-4.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6  
Preparing...                 ########################################### [100%]  
    1:epel-release            ########################################### [100%]  
You have new mail  in  /var/spool/mail/root  
[root@ntopng src] # yum list

3.同步时间

1
2
3
4
[root@ntopng ~] # yum install -y ntp
[root@ntopng ~] # ntpdate 202.120.2.101 
22 Nov 11:33:42 ntpdate[12584]: step  time  server 202.120.2.101 offset 33865.699182 sec  
[root@ntopng ~] # hwclock –w

4.升级库文件

注,新版的ntopng主要依赖两个库文件一个是glibc-2.7以上版,另一个是libstdc4.3.2以上版。(其中glibc编译安装,libstdc用RPM包安装,编译安装glibc时间要长一点,估计有5分钟左右。)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@ntopng src] # yum localinstall -y --nogpgcheck libstdc4.3.2-7.x86_64.rpm 或者 [root@ntopng src]# rpm -ivh libstdc4.3.2-7.x86_64.rpm --nodeps –force
[root@ntopng src] # strings /usr/lib64/libstdc++.so.6 | grep GLIBC 
GLIBCXX_3.4  
GLIBCXX_3.4.1  
GLIBCXX_3.4.2  
GLIBCXX_3.4.3  
GLIBCXX_3.4.4  
GLIBCXX_3.4.5  
GLIBCXX_3.4.6  
GLIBCXX_3.4.7  
GLIBCXX_3.4.8  
GLIBCXX_3.4.9  
GLIBCXX_3.4.10  
GLIBC_2.2.5  
GLIBC_2.3  
GLIBC_2.4  
GLIBCXX_FORCE_NEW  
GLIBCXX_DEBUG_MESSAGE_LENGTH

注,ntopng主要依赖GLIBCXX_3.4.9。

1
2
3
4
5
6
[root@ntopng src] # tar xf glibc-2.7.tar.gz 
[root@ntopng src] # cd glibc-2.7  
[root@ntopng glibc-2.7] # mkdir glibc_build  
[root@ntopng glibc-2.7] # cd glibc_build/  
[root@ntopng glibc_build] # /root/src/glibc-2.7/configure --prefix=/usr
[root@ntopng glibc_build] # make && make install

5.安装ntopng的依赖包

1
2
3
[root@ntopng ~] # yum install -y GeoIP-devel GeoIP redis
  [root@ntopng ~] # service redis start
Starting redis-server:                                     [确定]

6.安装ntopng

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@ntopng src] # rpm -ivh ntopng-1.1.1_6986-6986.x86_64.rpm 
warning: ntopng-1.1.1_6986-6986.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID 7921df34  
error: Failed dependencies:  
     libc.so.6(GLIBC_2.7)(64bit) is needed by ntopng-1.1.1_6986-6986.x86_64  
[root@ntopng src] # rpm -ivh ntopng-1.1.1_6986-6986.x86_64.rpm --nodeps  
warning: ntopng-1.1.1_6986-6986.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID 7921df34  
Preparing...                 ########################################### [100%]  
    1:ntopng                  ########################################### [100%]  
Setting up redis auto startup  
[root@ntopng src] # rpm -ivh ntopng-data-1.0.9_6921-6921.x86_64.rpm  
warning: ntopng-data-1.0.9_6921-6921.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID 7921df34  
Preparing...                 ########################################### [100%]  
    1:ntopng-data             ########################################### [100%]

好了,到这里我们就安装完成了,下面我们来说一下ntopng配置文件。


五、ntopng 配置详解

1.查看默认配置文件

1
2
3
[root@ntopng src] # cd /etc/ntopng/ 
[root@ntopng ntopng] # ls  
ntopng.conf.sample  ntopng.start

注,ntopng.conf.sample  文件是配置文件样例,ntopng.start是ntopng启动时需要的配置文件。下面我们来查看一下具体文件,

1
2
[root@ntopng ntopng] # vim ntopng.conf.sample
-G= /var/tmp/ntopng .gid

注,-G指定运行所用进程号文件。

1
2
3
[root@ntopng ntopng] # vim ntopng.start
-- local -networks “192.168.1.0” 
--interface 0

注,--local-network指定本地子网段,--interface 0 指定监听eth0网卡上的流量。我们来可以配置ntopng运行甩使用的账户、指定web服务端口,如果不指定默认为3000。

2.配置ntopng

注,我们可以将所以的配置文件都放存ntopng.conf的配置文件中。

1
2
3
4
5
6
7
[root@ntopng ntopng] # cp ntopng.conf.sample ntopng.conf 
[root@ntopng ntopng] # vim ntopng.conf
-G= /var/tmp/ntopng .gid 
-- local -networks  "192.168.18.0/24"  
--interface eth0  
--user nobody  
--http-port 8888

注,配置文件说明 。

  • -G指定运行所用进程号文件

  • --local-network指定本地子网段

  • --interface eth1指定监听eth0网卡上的流量

  • --user nobody指定运行服务所使用账户

  • --http-port 8888 指定web服务端口,如果不指定默认为3000。

3.启动ntopng服务

注,在运行ntopng之前,要确认先启动redis服务,redis为ntopng提供键值存储。我们这边重新启动一下redis服务。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@ntopng ntopng] # service redis restart 
Stopping redis-server:                                     [确定]  
Starting redis-server:                                     [确定]
[root@ntopng ntopng] # service ntopng start 
Starting ntopng  
[root@ntopng ntopng] # netstat -ntulp  
Active Internet connections (only servers)  
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID /Program  name
tcp        0      0 127.0.0.1:6379              0.0.0.0:*                   LISTEN      28069 /redis-server
tcp        0      0 0.0.0.0:779                 0.0.0.0:*                   LISTEN      2717 /rpc .statd   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      2674 /portmap     
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      3013 /sshd        
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      3026 /cupsd       
tcp        0      0 0.0.0.0:8888                0.0.0.0:*                   LISTEN      28084 /ntopng     
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      3051 /sendmail    
tcp        0      0 127.0.0.1:6010              0.0.0.0:*                   LISTEN      3247 /sshd        
tcp        0      0 127.0.0.1:6011              0.0.0.0:*                   LISTEN      21756 /sshd       
tcp        0      0 :::22                       :::*                        LISTEN      3013 /sshd        
tcp        0      0 ::1:6010                    :::*                        LISTEN      3247 /sshd        
tcp        0      0 ::1:6011                    :::*                        LISTEN      21756 /sshd       
udp        0      0 0.0.0.0:773                 0.0.0.0:*                               2717 /rpc .statd   
udp        0      0 0.0.0.0:776                 0.0.0.0:*                               2717 /rpc .statd   
udp        0      0 0.0.0.0:48354               0.0.0.0:*                               3162 /avahi-daemon
udp        0      0 0.0.0.0:5353                0.0.0.0:*                               3162 /avahi-daemon
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               2674 /portmap     
udp        0      0 0.0.0.0:631                 0.0.0.0:*                               3026 /cupsd       
udp        0      0 :::59191                    :::*                                    3162 /avahi-daemon
udp        0      0 :::5353                     :::*                                    3162 /avahi-daemon

4.测试访问一下

(1).http://192.168.18.201:8888,默认的用户名和密码是admin。

ntopng1_thumb2

(2).默认的界面

121004750.png


六、ntopng 使用详解

注,ntopng的使用是非常简单的我在这里就不多说废话了,给大家截些图片。

1.查看实流量

_thumb2[1]

2.查看所有流量

121042595.png

3.查看所有主机

ntop3_thumb2

4.查看接口流量

ntopng3_thumb2

5.查看管理界面

ntopng4_thumb2

好了,到这里我们的ntopng的讲解就全部完成了,最后希望大家有所收获吧!^_^……















本文转自陈明乾51CTO博客,原文链接:http://blog.51cto.com/freeloda/1331617,如需转载请自行联系原作者
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
10天前
|
网络协议 算法 Linux
【Linux】深入探索:Linux网络调试、追踪与优化
【Linux】深入探索:Linux网络调试、追踪与优化
|
1天前
|
数据可视化 小程序 Linux
【Linux】自动化构建工具make/Makefile和git介绍
【Linux】自动化构建工具make/Makefile和git介绍
8 0
|
2天前
|
缓存 Linux
linux性能分析之内存分析(free,vmstat,top,ps,pmap等工具使用介绍)
这些工具可以帮助你监视系统的内存使用情况、识别内存泄漏、找到高内存消耗的进程等。根据具体的问题和需求,你可以选择使用其中一个或多个工具来进行内存性能分析。注意,内存分析通常需要综合考虑多个指标和工具的输出,以便更好地理解系统的行为并采取相应的优化措施。
17 5
|
4天前
|
Linux Shell 网络安全
网络安全中Dos和linux常用命令总结
本篇是对网安学习中,常用的命令做一个图文与命令示例,并对一些比较重要的dos和shell命令进行总结,方便自己后续学习进行查询,并希望能够给更多人有一个总结命令和了解命令的地方.
28 5
|
6天前
|
Ubuntu 网络协议 Linux
|
6天前
|
Linux
Linux课程四课---Linux开发环境的使用(自动化构建工具-make/Makefile的相关)
Linux课程四课---Linux开发环境的使用(自动化构建工具-make/Makefile的相关)
|
7天前
|
JSON 网络协议 Linux
Linux ip命令:网络的瑞士军刀
【4月更文挑战第25天】
11 1
|
8天前
|
缓存 网络协议 Linux
Linux 网络命令大全,详细归纳!
【4月更文挑战第24天】
35 3
Linux 网络命令大全,详细归纳!
|
9天前
|
Linux 网络安全 数据处理
【专栏】Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
【4月更文挑战第28天】Linux下的xxd命令是一个强大的二进制数据处理工具,用于十六进制转储和数据分析。它可以显示文件的十六进制和ASCII表示,方便查看内容、分析数据结构和比较文件。xxd支持指定输出格式、写入文件、数据提取和转换等功能。在网络安全分析、程序调试和数据恢复等领域有广泛应用。通过掌握xxd,用户能更深入理解和处理二进制数据。