艾体宝干货 | 教程:使用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登录页面

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

11thingsboard物联网网关接入ThingsBoard物联网平台的操作说明

本文包含关于如何配置ThingsBoard 平台和连接钡铼技术R40设备的说明。ThingsBoard平台是一个用于数据收集、处理、可视化和设备管理的开源物联网平台。它通过行业标准MQTT协议实现设备连接。ThingsBoard结合了可扩展性、容错性和性能,因此您永远不会丢失数据。 4G L…

【考研数学】线代除了「李永乐」,还能跟谁?

考研线代,除了利用了老师,我觉得还有一个宝藏老师的课程值得听! 那就是喻老,这个是我在b站上面新发现的老师,听完他的课程发现真的喜欢 他不仅在B站上开设了课程,还编写了配套的线性代数辅导讲义&#xff…

Python图形界面(GUI)Tkinter笔记(十一):用【Entry()】实现单行文本输入(2)

Tkinter库中的单行文本输入框(Entry)与Pyhton中最常的get()方法有机结合在一起能实现各种各样的功能。get()不只是与Entry()方法配合使用,还可以与其它方法配合使用,例如还可以与前面的Button()方法使用等等。总之,不同的工具不同的组合产生的反应是充满各种梦幻与想象,妙趣…

NIO的ByteBuffer和Netty的ByteBuf的性能

在讨论Java NIO的ByteBuffer与Netty的ByteBuf的性能时,需要考虑几个主要的因素,因为性能表现并不是绝对的,而是依赖于具体的使用场景。Netty的ByteBuf设计更加现代,针对网络编程的需求进行了优化,包含了许多ByteBuffer…

网络安全面临的最大的威胁是什么

网络安全面临的威胁概述 网络安全威胁是指可能对网络系统造成损害、干扰或未经授权访问的各种风险和威胁。随着数字化进程的加快,网络安全问题愈发凸显,企业和个人都面临着来自多方面的威胁。这些威胁包括但不限于恶意软件、网络钓鱼、零日漏洞、拒绝服务…

Python中的SSH、SFTP和FTP操作详解

大家好,在网络编程中,安全地连接到远程服务器并执行操作是一项常见任务。Python 提供了多种库来实现这一目标,其中 Paramiko 是一个功能强大的工具,可以轻松地在 Python 中执行 SSH、SFTP 和 FTP 操作。本文将介绍如何使用 Parami…

企业选择定制化MES管理系统时需要考虑的核心功能

在当今制造业的数字化转型浪潮中,企业对于实现生产现场透明管理的需求愈发迫切。为了满足这一需求,MES管理系统成为了众多企业的首选解决方案。MES管理系统以其高度的灵活性和可定制性,能够根据不同行业的特性,为企业提供量身定制…

php质量工具系列之paslm

Psalm是一个静态分析工具,深入程序,尽可能多地找到与类型相关的bug 混合类型警告 Intelligent logic checks 属性初始化检查 Taint analysis Language Server Automatic fixes Automatic refactoring 安装 composer global require --dev vimeo/psalm …

看潮成长日程表用户手册(上)

看潮成长日程表用户手册(上) 一、特色功能1、以每周日程表为主要形式2、全时管控的时间管理3、持续的日程管理4、分期间时间表5、按日排程,按周输出6、夏季作息时间处理7、年度假日处理8、休息日处理9、弹性日程10、完成记录11、多种输出形式…

重构与优化-前言

关注公众号畅读:IT技术馆 Java代码重构是优化现有代码结构、提升代码可读性、可维护性和性能的过程,而不会改变其外在行为。这包括命名规范、消除重复代码、改进设计模式的使用、优化数据结构和算法等。下面是一些常见的Java代码重构技巧及示例: 1. 重命名(Rename) 目的…

光纤跳线组成结构划分你知道吗

按照组成结构划分 光纤跳线根据组成结构的不同可分为带状光纤跳线和束状光纤跳线。带状光纤跳线使用的是由光纤带组成的带状光缆,大多呈扁平形状,因具有较高的光纤密度,它可以容纳更多的纤芯,因此大大节省布线成本和空间&#xf…

猫咪掉毛严重怎么办?小米、希喂、霍尼韦尔宠物空气净化器测评

吸猫成瘾,养猫“致贫”?在当今社会,养猫已成为众多年轻人的一个追捧的事情。乖巧又可爱,下班回到家撸一把猫已经成为年轻人的日常。但是猫咪可爱也不影响它的各种养猫伴生的问题!无论是漂浮的浮毛、飘散的皮屑还是偶发…

C++11 新特性

原文 https://www.cnblogs.com/linuxAndMcu/p/11600553.html 1. nullptr (1) 作用:nullptr 的类型为 nullptr_t,能够隐式地转换为任何指针的类型,能和他们进行相等或者不等的比较。 简单说,nullptr目的是为了区分 空指针NULL …

2024年上半年系统架构设计师真题-复原程度90%

前言 此次考试监考特别严格,草稿纸不允许带出考场,并且准考证上不允许任何写画,甚至连笔都允许带一支,所以下面的相关题目都是参考一些群友的提供,加上自己的记忆回顾,得到的结果。 其中综合知识部分的题…

1.int 与 Integer 的简单区别

蓝桥杯刷题从此开始: 第一题就是两个数的和,个人看来主要考察 int与integer 的区别; 这是我提交的答案,竟然会报错: import java.util.*; //输入A、B,输出AB。 class add {public static void main(String …

yolov10 瑞芯微RKNN、地平线Horizon芯片部署、TensorRT部署,部署工程难度小、模型推理速度快

特别说明:参考官方开源的yolov10代码、瑞芯微官方文档、地平线的官方文档,如有侵权告知删,谢谢。 模型和完整仿真测试代码,放在github上参考链接 模型和代码。 yolov8、v9还没玩热乎,这不yolov10又来了,那么…

tomcat--安全配置多虚拟机

端口8005/tcp 安全配置管理 8005是Tomcat的管理端口,默认监听在127.0.0.1上。无需验证就可发送SHUTDOWN (大小写敏感)这个字符串,tomcat接收到后就会关闭此Server。此管理功能建议禁用,可将SHUTDOWN改为一串猜不出的字符串实现或者port修改成…

Python开发——os与os.path的使用

1. os的一般用法 使用dir()列出库的属性与方法 # 使用dir()列出库的属性与方法 print(dir(os)) 使用os.getcwd()打印当前目录 # 使用os.getcwd()打印当前目录 print("当前目录为:"os.getcwd()) # 打印表示当前工作目录的字符串 获取指定路径下的目录和文件列表 #…

Java进阶学习笔记26——包装类

包装类: 包装类就是把基本类型的数据包装成对象。 看下API文档: deprecated:极力反对、不赞成的意思。 marked for removal:标识为去除的意思。 自动装箱:基本数据类型可以自动转换成包装类。 自动拆箱:…

前端怎么使用svg格式的图片

目录 第一步,找到图标 第二步,使用 第一种,SVG下载 第二种,粘贴SVG代码 第一步,找到图标 以阿里巴巴矢量图标库为例,随便找一个图标,如下图 第二步,使用 第一种,SV…