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

电子说

1.2w人已加入

描述

本教程旨在分享如何通过 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 路由器。

SSH图 1 - 网络拓扑结构


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

树莓派:pi/raspberry

Ubuntu 服务器 18.04:ubuntu/ubuntu

ntopng: admin/admin123

Cisco Catalyst 3550:admin/admin,enable 密码:cisco

ntpong Web 界面:http://172.17.100.7:3000
 

硬件
 

Raspberry PI 3B
- Raspbian GNU/Linux 9.4 (stretch)
- nProbe v.8.5.180917
 

华硕 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

SSH          图 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

SSH图 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

SSH图 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 流收集模式。

SSH图5-ntopng登录页面

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分