当前位置: 首页 > news >正文

java流量监控系统demo_搭建一个简单的基于web的网络流量监控可视化系统

本文转载于我的个人博客,转载请标明出处。

初衷

在腾讯云的学生认证申请提交上去n天之后,终于得到了审批,所以迫不及待的想玩玩腾讯云,作为一个搞网络的,自然有一些关于网络应用的小玩意,所以把以前部署过的一个网络流量监控系统在腾讯云上面跑跑,体验一下腾讯云,检查一下腾讯云的安全。

一. 工具简介

相信用过linux的人都知道linux中一个常用的用来实时显示系统中各个进程的资源占用情况的性能分析命令top。在网络中有一个类似功能的软件——ntopng(以前称作ntop,加上ng(next generation)指下一代),他是一个网络流量探针,来显示网络的使用情况,他基于libpcap,同时提供了非常炫酷的web展示界面给用户,方便用户分析网络。

ntopng可以做哪些事情呢:

根据不同的标准划分网络流量

展示网络流量和IPv4/IPv6主机

对网络吞吐率和应用协议等生成报告

显示本机使用最多的协议,最多的交互主机,自主系统

将流量统计结果存储

对每个流都有细粒度的分析

利用nDPI发现应用协议

展示IP地址的为知信息

展示IP流量子矩阵(通信双方)

等等还有很多。

ntopng的系统构架如下图,比较简单,不再说了。

8329efb089f95103fe8d134e7f927905.png

二. 先来看几张效果图

为了不暴露隐私,展示几张网上的图片.

c83773ad9ca46eeabdabdc75298435e6.png

214b497380b2843ed3382464877843d8.png

70842fda14e397716c1711456241af06.png

1c4131cce9ec523b9997a7ab8bd24765.png

三. 步骤

远程登录腾讯云,执行下面的步骤

安装需要预装的库:

- glib2

- GNU autotools/libtool

- libgeoip

- libpcap or PF_RING (optional but recommended)

- redis (redis server) 2.2 or newer

- GeoIP (optional) 1.4.8 or newer

- wget (for 'make geoip')

- libxml2-dev

- libglib2.0-dev

- libsqlite3-dev

- libcurl-dev

apt-get install subversion libglib2.0 libxml2-dev libpcap-dev libtool rrdtool librrd-dev autoconf automake autogen redis-server wget libsqlite3-dev libhiredis-dev libgeoip-dev libcurl4-openssl-dev libpango1.0-dev libcairo2-dev libpng12-dev git

安装nDPI:

git clone https://github.com/ntop/nDPI.gitcd nDPI/./autogen.sh

make

安装ntopng

cd ..

git clone https://github.com/ntop/ntopng.git

cd ntopng

./autogen.sh./configuremake

make install

在运行ntopng之前,确保先启动了redis(ntopng的键值存储区)

sudo /etc/init.d/redis-server restart

开启ntopng:

sudo ./ntopng

这是默认开启方式,ntopng在TCP/3000端口侦听,使用下面的命令,可以证实:

sudo netstat -nap|grep ntopng

093053e0bb74b9985e15747a683d0266.png

在本地web浏览器上输入腾讯云的公网IP:3000,然后会显示登录界面,默认的用户名和密码都是admin

b6e4ae6df55f7de954928790f83a2671.png

四. 遇到的问题

遇到的问题主要是一些库的安装问题

问题:MySQL libraries not found, please install them as specified in README.compilation

解决:apt-get install libmysqlclient-dev

五. 总结

我买的是腾讯云最low的配置了,整体来说,git clone的时候速度非常不好,并且十分不稳定,高则上M,低则失败。但是apt-get是非常快的,整体来说还是非常不错的,毕竟在云计算的安全策略下可以做自己想做的事情了。。。

相关文章:

  • jquery与java_纯javascript和jquery实现增删改查
  • mysql 批量字段前缀_sqlserver数据库,批量更改表名和字段的前缀 | 学步园
  • pdfpcell 怎么设置单元格大小_PdfPCell的方法隐藏单元格的边框
  • java strace_用strace排查故障的5种简单方法(每日一译)
  • java银行账户系统_用java编的银行账户系统代码
  • java扩展包_CodeRunner 的 Java 扩展 Jar 包支持
  • java session 修改_修改 Servlet 的sessionId
  • qt添加qwt帮助文件_win 7下安装qwt 6.1.0,基于qt 4.8.5
  • java亮眼_一些java处理变量的 让我眼前一亮的
  • 36岁自学python_深入 Python 解释器源码,我终于搞明白了字符串驻留的原理!
  • idea 收费标准_2013年IDEA期限与费用
  • java反射机制学习_java学习之 反射机制
  • 怎样看java文件的编码方式_如何查看Java源文件的编码方式及去掉BOM
  • 蓝桥杯泊松分酒java_蓝桥杯编程大题-泊松分酒 | 学步园
  • java学生登陆界面代码_登录界面 - java代码库 - 云代码
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【翻译】babel对TC39装饰器草案的实现
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • co模块的前端实现
  • exports和module.exports
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Java 多线程编程之:notify 和 wait 用法
  • JavaScript标准库系列——Math对象和Date对象(二)
  • javascript面向对象之创建对象
  • opencv python Meanshift 和 Camshift
  • python docx文档转html页面
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SpiderData 2019年2月25日 DApp数据排行榜
  • 闭包--闭包之tab栏切换(四)
  • 代理模式
  • 解析带emoji和链接的聊天系统消息
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 云大使推广中的常见热门问题
  • 在electron中实现跨域请求,无需更改服务器端设置
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • (07)Hive——窗口函数详解
  • (Python第六天)文件处理
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (七)c52学习之旅-中断
  • (转)甲方乙方——赵民谈找工作
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .NET 事件模型教程(二)
  • .net(C#)中String.Format如何使用
  • .NET/C# 使用反射注册事件
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [ACTF2020 新生赛]Upload 1
  • [Android实例] 保持屏幕长亮的两种方法 [转]