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

初衷

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

一. 工具简介

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

ntopng可以做哪些事情呢:

  1. 根据不同的标准划分网络流量
  2. 展示网络流量和IPv4/IPv6主机
  3. 对网络吞吐率和应用协议等生成报告
  4. 显示本机使用最多的协议,最多的交互主机,自主系统
  5. 将流量统计结果存储
  6. 对每个流都有细粒度的分析
  7. 利用nDPI发现应用协议
  8. 展示IP地址的为知信息
  9. 展示IP流量子矩阵(通信双方)
    等等还有很多。

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

二. 先来看几张效果图

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

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

  1. 安装需要预装的库:

    - 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
  2. 安装nDPI:
    git clone https://github.com/ntop/nDPI.git
    cd nDPI/
    ./autogen.sh
    make
  3. 安装ntopng
    cd ..
    git clone https://github.com/ntop/ntopng.git
    cd ntopng
    ./autogen.sh
    ./configure
    make
    make install
  4. 在运行ntopng之前,确保先启动了redis(ntopng的键值存储区)
    sudo /etc/init.d/redis-server restart
  5. 开启ntopng:
    sudo ./ntopng

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

    sudo netstat -nap|grep ntopng 

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

四. 遇到的问题

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

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

解决:apt-get install libmysqlclient-dev

五. 总结

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

搭建一个简单的基于web的网络流量监控可视化系统的更多相关文章

  1. 从零开始搭建一个简单的基于webpack的vue开发环境

    原文地址:https://segmentfault.com/a/1190000012789253?utm_source=tag-newest 从零开始搭建一个简单的基于webpack的react开发环 ...

  2. Golang学习-第二篇 搭建一个简单的Go Web服务器

    序言 由于本人一直从事Web服务器端的程序开发,所以在学习Golang也想从Web这里开始学起,如果对Golang还不太清楚怎么搭建环境的朋友们可以参考我的上一篇文章 Golang的简单介绍及Wind ...

  3. 通过Dapr实现一个简单的基于.net的微服务电商系统

    本来想在Dpar 1.0GA时发布这篇文章,由于其他事情耽搁了放到现在.时下微服务和云原生技术如何如荼,微软也不甘示弱的和阿里一起适时推出了Dapr(https://dapr.io/),园子里关于da ...

  4. 通过Dapr实现一个简单的基于.net的微服务电商系统(十三)——istio+dapr构建多运行时服务网格之生产环境部署

    之前所有的演示都是在docker for windows上进行部署的,没有真正模拟生产环境,今天我们模拟真实环境在公有云上用linux操作如何实现istio+dapr+电商demo的部署. 目录:一. ...

  5. 通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布

    之前的章节我们介绍了如何通过dapr发起一个服务调用,相信看过前几章的小伙伴已经对dapr有一个基本的了解了,今天我们来聊一聊dapr的另外一个功能--订阅发布 目录:一.通过Dapr实现一个简单的基 ...

  6. 通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解

    首先感谢张队@geffzhang公众号转发了上一篇文章,希望广大.neter多多推广dapr,让云原生更快更好的在.net这片土地上落地生根. 目录:一.通过Dapr实现一个简单的基于.net的微服务 ...

  7. 通过Dapr实现一个简单的基于.net的微服务电商系统(三)——一步一步教你如何撸Dapr

    目录:一.通过Dapr实现一个简单的基于.net的微服务电商系统 二.通过Dapr实现一个简单的基于.net的微服务电商系统(二)--通讯框架讲解 三.通过Dapr实现一个简单的基于.net的微服务电 ...

  8. 通过Dapr实现一个简单的基于.net的微服务电商系统(六)——一步一步教你如何撸Dapr之Actor服务

    我个人认为Actor应该是Dapr里比较重头的部分也是Dapr一直在讲的所谓"stateful applications"真正具体的一个实现(个人认为),上一章讲到有状态服务可能很 ...

  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(七)——一步一步教你如何撸Dapr之服务限流

    在一般的互联网应用中限流是一个比较常见的场景,也有很多常见的方式可以实现对应用的限流比如通过令牌桶通过滑动窗口等等方式都可以实现,也可以在整个请求流程中进行限流比如客户端限流就是在客户端通过随机数直接 ...

随机推荐

  1. Fragment的陷阱

    以前做过的一个项目,Fragment嵌套高德地图,当再次进入Fragment的时候,会出现奇怪的现象.嵌套的地图会出现滑动不动的情况,起先还以为是高德的bug呢,经过一番研究,终确定这是一个坑. 先对 ...

  2. MBProgressHUD 设置透明背景

    MBProgressHUD 默认使用MBProgressHUDBackgroundStyleBlur 类型 MBProgressHUDBackgroundStyleBlur使用了毛玻璃效果 ,我们要把 ...

  3. java 环境配置 maven 环境配置

    1.windows 下Java 环境的安装和配置: 下载jdk并安装 配置环境变量: (1) 新建JAVA_HOME环境变量,赋值为JDK的安装目录: (2) 新建CLASSPATH环境变量,赋值为. ...

  4. 计算机系统监控 PerformanceCounter

    PerformanceCounter 컴퓨터 성능 머니터링 CUP Processor 메모리 하터웨어 DB (CPU,User Connection,Batch Request,Blocking ...

  5. 点滴积累【JS】---JS小功能(JS实现隐藏显示侧边栏,也就是分享栏的隐藏显示)

    效果: 思路: 首先,利用计时器setInterval实现DIV的隐藏显示功能,然后在进行一个判断,之后在把要移动的相应距离进行一个参数传递,再根据参数判断出移动的方向也就是offsetLeft移动的 ...

  6. Redis_发布订阅(Spring Boot)

    目录 前言 生产者和消费者 发布和订阅 Java实现 注意 转至 http://www.tianmaying.com/tutorial/springboot-redis-message 前言 利用Sp ...

  7. 设置VMware随系统开机自动启动并引导虚拟机操作系统

    设置VMware随系统开机自动启动并引导虚拟机操作系统 转载 2012年03月15日 19:50:53 标签: vmware / 虚拟机 / windows / parameters / tools  ...

  8. mybatis3 sqlsession

    1.mybatis3中的通过openSession()方法打开的sqlsession,它的事务默认是关闭的,所以进行数据库完成操作之后,要记得commit(),也可以添加openSession(boo ...

  9. emblog后台拿shell

    emlog版本:5.3.1 先本地弄好shell 新建一个文件夹,里面放shell,shell名称和文件名要一致.压缩为zip 然后在安装插件处上传. 成功后的路径content/plugins/te ...

  10. [Python]计算闰年时候出现的and和or优先级的问题以及短路逻辑

    好吧题目非常easy.可是有些细节还是挺有意思的. 题目是:计算今年是否是闰年,推断闰年条件,满足年份模400为0,或者模4为0可是模100不为0 答案是这种: import time #计算今年是否 ...