艾体宝干货 | 教程:使用ntopng和nProbe监控网络流量

本教程旨在分享如何通过 ntopng 和 nProbe 这两款工具,深入了解和掌握网络流量监控的艺术。我们将提供从基本概念到高级应用的全面指导,涵盖了在多种平台和设备上的部署和配置步骤。不论您是专业人员还是技术爱好者,跟随本教程,都能够有效地安装、配置并运用这些工具,以洞察网络的运行状态和性能,确保网络安全与高效运行。

一、什么是Ntopng

Ntopng 是原始 ntop 的下一代版本,它是一款用于监控网络使用情况的网络流量探测器。能从镜像流量、NetFlow 导出器、SNMP 设备、防火墙日志和入侵检测系统中收集流量信息,从而提供 360° 网络可视性。

ntopng 有三个版本:社区版、专业版(小型企业版)和企业版。社区版免费使用,并且开源。服务器的物理网卡可通过指定其接口名称进行监控,如./ntopng -i eth0

不过,我们将在流量收集模式下使用 ntopng 和 nProbe,后者可以充当探针/代理。nProbe 和 ntopng 之间的通信通过 ZeroMQ 进行,ZeroMQ 是一种发布-订阅协议,允许 ntopng 与 nProbe 通信。

ntpong 社区版安装在 Ubuntu 服务器 18.04.1 上,IP 地址为 172.17.100.7/16。Ubuntu 在 VirtualBox 虚拟机中运行。主机(华硕 k55vm)的 IP 地址为 172.17.100.2/16。主机与 SOHO 路由器相连,SOHO 路由器作为网关与 IP 地址为 172.17.100.1/16 的互联网网关相连。网络图如图 1 所示。

nProbe 安装在 Raspberry Pi 3B 上,IP 地址为 172.17.100.50/16。Windows 7 安装在受监控的 PC 上,IP 地址为 172.17.100.10/16,该 PC 连接到 Cisco Catalyst 交换机 3550 的 FastEthernet0/3。安装了 nProbe 的树莓派连接到 FastEthernet0/24。思科交换机连接到 SOHO 路由器。

图 1 - 网络拓扑结构标题

以下是拓扑结构中所有设备的默认密码列表。

设备 - 用户名/密码

  1. 树莓派:pi/raspberry
  2. Ubuntu 服务器 18.04:ubuntu/ubuntu
  3. ntopng: admin/admin123
  4. Cisco Catalyst 3550:admin/admin,enable 密码:cisco
  5. ntpong Web 界面:http://172.17.100.7:3000

硬件

  1. Raspberry PI 3B

- Raspbian GNU/Linux 9.4 (stretch)

- nProbe v.8.5.180917

  1. 华硕 K55Vm 16GB 内存

- 主机操作系统 Linux Kubuntu 18.04.1

- 带客户虚拟机的 Oracle VirtualBox 5.2:

-- Ubuntu 16.04.5 服务器,已安装 Ntopng

1. 端口镜像配置

为了从连接 PC(172.17.100.10/16)的受监控(源)端口 Fa0/3 向连接 Raspberry PI 的目标端口 Fa0/24 发送流量,我们需要在 Cisco 上配置端口镜像功能:

Switch(config)# monitor session 1 source interface Fa0/3

Switch(config)# monitor session 1 destination interface Fa0/24 encapsulation dot1q ingress vlan 1

确保 nProbe 向 ntpong 发送流量。

2. 在 Raspberry Pi 3B 上安装 Raspbian Stretch

Raspbian Strech 安装在 Raspberry Pi 3B 上。nProbe 安装在 Raspbian Stretch 之上。

2.1 为 Raspberry Pi3 下载 Raspbian Stretch 并将映像复制到 SD 卡

我们将下载最新的 Raspbian Stretch 并将其保存到 x86-64 Kubuntu 18.04。

$ wget https://downloads.raspberrypi.org/raspbian_lite_latest

解压缩镜像

$ unzip raspbian_lite_latest

确保SD卡未被挂载。如果是,请卸载该卡。

$ sudo umount /dev/mmcblk0

将提取的 piCore 映像复制到 SD 卡。

$ sudo dd bs=4M if=2018-06-27-raspbian-stretch-lite.img of=/dev/mmcblk0 status=progress conv=fsync

从 Kubuntu 中取出 SD 卡并插入树莓派。用用户名 pi 和密码 raspberry 登录。

2.2. 利用 SD 卡上的所有空间

默认情况下,镜像文件只占用 4GB 的 SD 卡空间。请执行以下命令。

# raspi-config

导航至 Advanced Options(高级选项)-> A1 Expand Filesystem(A1 扩展文件系统) 确保操作系统可以使用 SD 卡上的所有存储空间。文件系统将在下次重启时扩大。

2.3 配置静态 IP 地址

为接口 eth0 设置静态 IP 地址。

# echo "interface eth0" >> /etc/dhcpcd.conf

# echo "static ip_address=172.17.100.50/16" >> /etc/dhcpcd.conf

# echo "static routers=172.17.100.1" >> /etc/dhcpcd.conf

# echo "static domain_name_servers=172.17.100.1 8.8.8.8" >> /etc/dhcpcd.conf

2.4 启用 SSH 服务器

导航至 Interface Options-> SSH(接口选项-> SSH)并单击 Yes(是)启用 SSH 服务器。

# raspi-config

2.5 设置时区

我们需要配置正确的时区(图 2)。

# dpkg-reconfigure tzdata

图 2 - Raspberry PI 上的时区配置标题

3. 在 Raspbian 上安装和配置 nProbe

3.1 安装 nProbe

下载并导入公钥。

$ wget http://packages.ntop.org/apt/ntop.key

$ sudo su

# apt-key add ntop.key

添加 ntop 软件源。

# echo "deb http://apt.ntop.org/stretch_pi armhf/" > /etc/apt/sources.list.d/ntop.list

# echo "deb http://apt.ntop.org/stretch_pi all/" >> /etc/apt/sources.list.d/ntop.list

# apt-get update

从软件源安装 nprobe。

# apt-get install nprobe

3.2 nProbe 配置

我们将在另一篇文章中讨论 nProbe 配置。

4. Ubuntu 18.04.1 服务器的安装和配置

Ubuntu 18.04.1 作为 VirtualBox guest 虚拟机运行,本教程不涉及其安装。

4.1 Ubuntu 18.04.1 服务器的静态 IP 地址配置

Ubuntu 18.04 使用 netplan 配置网络接口(图 3)。根据需要更改网卡名称,我的网卡名称是 enp0s3。

$ cat /etc/netplan/01-systemd-networkd-eth.yaml

图 3 - Ubuntu 18.04 的静态 IP 地址配置标题

保存更改。

$ sudo netplan apply

5. 在 Ubuntu 18.04.x LTS 服务器上安装和配置 Ntopng

ntpong 可以从软件源安装,也可以从源代码编译安装。我们将展示这两种方法,请选择你喜欢的安装方式。

5.1 从版本库安装 ntpong

将 repository universe 添加到 /etc/apt/sources.list 中(图 4)。使用你喜欢的文件编辑器。

$ sudo su

# vi /etc/apt/sources.list

标图 4 -将 Universe 添加到 Ubuntu 存储库列表题

# apt-get update

# apt-get install ntopng

5.2 Ntop源码编译和安装

如果您喜欢手动安装,下面是步骤。

$sudo su

添加universe存储库,因为我们将从存储库中安装redis服务器(图4)。

安装PF_RING、nDPI和ntpong的依赖项。

$ sudo apt-get install autoconf pkg-config libtool libcurl4-openssl-dev rrdtool librrd-dev libmysqlclient-dev bison flex libpcap0.8-dev libmaxminddb-dev libsqlite3-dev libpcap-dev

5.2.1从存储库安装 Redis 服务器

$ sudo apt-get install redis-server redis-tools

5.2.2 PF_RING 安装

$ git clone https://github.com/ntop/PF_RING.git

$ cd PF_RING/kernel

$ make

$ sudo insmod ./pf_ring.ko

$ cd ../userland

$ make

$ cd ~

5.2.3 nDPI 安装

$ git clone https://github.com/ntop/nDPI.git

$ cd nDPI

$ ./autogen.sh

$ ./configure –with-pic

$ make

$ cd ~

5.2.4 ntopng 安装

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

$ cd ntopng

$ ./autogen.sh

$ ./configure

$ make geoip

$ make

$ sudo make install

5.2.5 ntopng 安装后步骤

如果您在启动 ntpong 时发现权限问题,请将以下目录的所有者从 root 更改为nobody。

# chown -R nobody /var/lib/ntopng/

6. 测试

打开您常用的网络浏览器并输入 URL http://172.17.100.7:3000。如果您正确遵循说明,您将看到 Ntopng 登录页面。默认用户名是admin,密码是admin。首次登录时系统会提示您更改密码。

我们将在下一个教程中讨论 ntpong 流收集模式。

标题图5-ntopng登录页面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/652365.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IPD管理体系指南

目录 简介 CSDN学院 作者简介 简介 学习任何新的和识或体系,都是需要从这个体影涉及的概念开始的。 IPD 合集也是遵活的这个基础逻辑。 通过 100 例的内容,先将 IPD 涉及到的机含点做了一个统一的梳理。 而本期课程呢,作为IPD 体系的前…

文盘Rust -- 生命周期问题引发的 static hashmap 锁

100编程书屋_孔夫子旧书网 2021年上半年,撸了个rust cli开发的框架,基本上把交互模式,子命令提示这些cli该有的常用功能做进去了。项目地址:https://github.com/jiashiwen/interactcli-rs。 春节以前看到axum已经0.4.x了,于是想看看能不能用rust做个服务端的框架。 春节…

已解决ModuleNotFoundError : No module named ‘pandas亲测有效!!!

已解决ModuleNotFoundError : No module named ‘pandas亲测有效!!! 亲测有效 报错问题解决思路解决方法 报错问题 在运行Python代码时,你可能会遇到以下报错信息: ModuleNotFoundError: No module named pandas这个…

【算法】重建二叉树并进行后序遍历的Java实现

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

[AIGC] Java常用的JSON库及简单示例

Java常用的JSON库及简单示例 在Java的世界里,JSON库广泛用于日常开发工作,本文将介绍几个常用的JSON库并配以简单的示例代码。 1. Gson Gson是Google提供的一个用来在Java对象和JSON数据之间进行转换的Java库。 它有一定的学习曲线,但一旦熟…

两年前的微信聊天记录能恢复吗?正确答案在这里(全)

微信已经成为我们日常沟通中不可或缺的一部分,承载着无数重要的对话和回忆。然而,面对手机更换、系统升级或意外删除等情况,许多人不禁要问:两年前的微信聊天记录能恢复吗?这个问题的答案并不简单,因为能否…

基于Docker搭建属于你的CC++集成编译环境

常常,我会幻想着拥有一个随时可以携带、随时可以使用的开发环境,那该是多么美好的事情。 在工作中,编译环境的复杂性常常让我头疼不已。稍有不慎,删除了一些关键文件,整个编译链就会瞬间崩溃。更糟糕的是,…

【leetcode1944--队列中可以看到的人数】

有n人排成一个队列,从左到右编号为0到n-1,height数组记录每个人的身高,返回一个数组,记录每个人能看到几个人。 类比:山峰问题,高的后面的矮的看不见。 从后往前,最后一个元素入栈&#xff0c…

ClickHouse数据管理与同步的关键技术

2024年 5 月 18 日,ClickHouse官方首届杭州 Meetup 活动成功举行。本次活动由 ClickHouse 和阿里云主办,NineData 和云数据库技术社区协办。围绕ClickHouse的核心技术、应用案例、最佳实践、数据管理、以及迁移同步等方面,和行业专家展开交流…

wps能打开caj文件吗?CAJ应该如何打开?caj转pdf

问题1:wps能打开caj文件吗? WPS不能直接打开CAJ文件。 CAJ是中国知网开发的一种文件格式,主要用于存储学术文献,需要使用专门的阅读器才能打开。 问题2:CAJ应该如何打开? 要打开CAJ文件,你可…

QT 圆盘百分比

1. /* 设置抗锯齿 */painter.setRenderHints(QPainter::Antialiasing, true);/* 最外层的圆 */QRect drawRect event->rect();QRadialGradient gradient1(drawRect.center(), drawRect.width() / 2, drawRect.center()); gradient1.setColorAt(0, Qt::transparent); gradi…

LangChain 0.2 - 基于 SQL 数据构建问答系统

本文翻译整理自:Build a Question/Answering system over SQL data https://python.langchain.com/v0.2/docs/tutorials/sql_qa/ 文章目录 一、项目说明⚠️ 安全说明⚠️架构 二、设置三、Chains1、将问题转换为 SQL查询2、执行 SQL查询3、回答问题 四、Agents1、S…

计算机网络-BGP基础概念

一、BGP的基本概念 BGP是一种实现自治系统AS之间的路由可达,并选择最佳路由的矢量性协议。早期发布的三个版本分别是BGP-1(RFC1105)、BGP-2(RFC1163)和BGP-3(RFC1267),1994年开始使用…

基础—SQL—DML(数据操作语言)插入数据

一、介绍 分类全称说明DMLData Manipulation Language数据操作语言。用来对数据库表中的数据进行增删改(插入、删除、修改) 则增、删、改是三个操作也就对应着三个关键字,分别是: 添加数据:( INSERT )修改数据&#…

LangChain技术解密:构建大模型应用的全景指南

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…

基础—SQL—图形化界面工具的DataGrip使用(2)

一、回顾与引言 (1) 上次内容,博客讲到了DDL语句的数据库操作、表操作、表字段的操作的相关语法,然而之前都是在MySQL的命令行当中去操作演示的。这种方式可以用,但是使用的话,第一,在我们日常…

【Java面试】五、MySQL篇(下)

文章目录 1、事务的特性2、并发事务问题3、事务的隔离级别4、undo log 和 redo log4.1 底层结构4.2 redo log4.3 undo log 5、MVCC5.1 隐式字段5.2 undo log 版本链5.3 ReadView5.4 ReadView的匹配规则实现事务隔离 6、MySQL的主从同步原理7、分库分表7.1 垂直分库7.2 垂直分表…

Android面试题之Jetpack的三大核心组件

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 ViewModel 和 LiveData 是 Android Jetpack 组件库中的两个核心组件,它们能帮助开发者更有效地管理 UI 相关的数据,并且…

5款免费文字转语音工具,视频剪辑师都在用

随着“行走美丽中国”话题的热度不断攀升,越来越多的人开始将他们游历各地的精彩瞬间制作成视频,并分享至网络。 在众多视频内容中,想要让自己的作品脱颖而出,不仅需要引人入胜的画面,还需要配上生动有趣的配音。 今…

nbcio-vue升级迁移flowable到最新的jeeg-boot-vue3的问题记录(一)

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 1、vue3 jeeg-boot-vue3新版本的流程定义的页面,刷新出现下面问题,或第一次进去也一样 看着好像就一个警告的信息,不知道是什么原因引起的,应…