引導(dǎo)語:
本教程旨在分享如何通過 ntopng 和 nProbe 這兩款工具,深入了解和掌握網(wǎng)絡(luò)流量監(jiān)控的藝術(shù)。我們將提供從基本概念到高級應(yīng)用的全面指導(dǎo),涵蓋了在多種平臺和設(shè)備上的部署和配置步驟。不論您是專業(yè)人員還是技術(shù)愛好者,跟隨本教程,都能夠有效地安裝、配置并運用這些工具,以洞察網(wǎng)絡(luò)的運行狀態(tài)和性能,確保網(wǎng)絡(luò)安全與高效運行。
簡介:
本文是關(guān)于使用 ntopng 和 nProbe 監(jiān)控網(wǎng)絡(luò)流量的教程。文章詳細介紹了如何配置和使用這兩個工具來監(jiān)控和分析網(wǎng)絡(luò)流量。內(nèi)容涉及硬件和軟件的安裝、配置端口鏡像、靜態(tài)IP地址設(shè)置、SSH服務(wù)器的啟用,以及 ntopng 和 nProbe 的詳細配置步驟。教程詳細描述了在不同操作系統(tǒng)和設(shè)備上的安裝過程,包括在 Ubuntu 服務(wù)器和 Raspberry Pi 上的設(shè)置。最后,還包括了測試步驟,確保系統(tǒng)正確安裝和運行。
一、什么是Ntopng
Ntopng 是原始 ntop 的下一代版本,它是一款用于監(jiān)控網(wǎng)絡(luò)使用情況的網(wǎng)絡(luò)流量探測器。能從鏡像流量、NetFlow 導(dǎo)出器、SNMP 設(shè)備、防火墻日志和入侵檢測系統(tǒng)中收集流量信息,從而提供 360° 網(wǎng)絡(luò)可視性。
ntopng 有三個版本:社區(qū)版、專業(yè)版(小型企業(yè)版)和企業(yè)版。社區(qū)版免費使用,并且開源。服務(wù)器的物理網(wǎng)卡可通過指定其接口名稱進行監(jiān)控,如./ntopng -i eth0
不過,我們將在流量收集模式下使用 ntopng 和 nProbe,后者可以充當探針/代理。nProbe 和 ntopng 之間的通信通過 ZeroMQ 進行,ZeroMQ 是一種發(fā)布-訂閱協(xié)議,允許 ntopng 與 nProbe 通信。
ntpong 社區(qū)版安裝在 Ubuntu 服務(wù)器 18.04.1 上,IP 地址為 172.17.100.7/16。Ubuntu 在 VirtualBox 虛擬機中運行。主機(華碩 k55vm)的 IP 地址為 172.17.100.2/16。主機與 SOHO 路由器相連,SOHO 路由器作為網(wǎng)關(guān)與 IP 地址為 172.17.100.1/16 的互聯(lián)網(wǎng)網(wǎng)關(guān)相連。網(wǎng)絡(luò)圖如圖 1 所示。
nProbe 安裝在 Raspberry Pi 3B 上,IP 地址為 172.17.100.50/16。Windows 7 安裝在受監(jiān)控的 PC 上,IP 地址為 172.17.100.10/16,該 PC 連接到 Cisco Catalyst 交換機 3550 的 FastEthernet0/3。安裝了 nProbe 的樹莓派連接到 FastEthernet0/24。思科交換機連接到 SOHO 路由器。
圖 1 - 網(wǎng)絡(luò)拓撲結(jié)構(gòu)
以下是拓撲結(jié)構(gòu)中所有設(shè)備的默認密碼列表。
設(shè)備 - 用戶名/密碼
- 樹莓派:pi/raspberry
- Ubuntu 服務(wù)器 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 內(nèi)存
主機操作系統(tǒng) Linux Kubuntu 18.04.1
帶客戶虛擬機的 Oracle VirtualBox 5.2:
Ubuntu 16.04.5 服務(wù)器,已安裝 Ntopng
1. 端口鏡像配置
為了從連接 PC(172.17.100.10/16)的受監(jiān)控(源)端口 Fa0/3 向連接 Raspberry PI 的目標端口 Fa0/24 發(fā)送流量,我們需要在 Cisco 上配置端口鏡像功能:
Switch(config)# monitor session 1 source interface Fa0/3
S
witch(config)# monitor session 1 destination interface Fa0/24 encapsulation dot1q ingress vlan 1
確保 nProbe 向 ntpong 發(fā)送流量。
2. 在 Raspberry Pi 3B 上安裝 Raspbian Stretch
Raspbian Strech 安裝在 Raspberry Pi 3B 上。nProbe 安裝在 Raspbian Stretch 之上。
2.1 為 Raspberry Pi3 下載 Raspbian Stretch 并將映像復(fù)制到 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 映像復(fù)制到 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 卡空間。請執(zhí)行以下命令。
# raspi-config
導(dǎo)航至 Advanced Options(高級選項)-> A1 Expand Filesystem(A1 擴展文件系統(tǒng)) 確保操作系統(tǒng)可以使用 SD 卡上的所有存儲空間。文件系統(tǒng)將在下次重啟時擴大。
2.3 配置靜態(tài) IP 地址
為接口 eth0 設(shè)置靜態(tài) 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 服務(wù)器
導(dǎo)航至 Interface Options-> SSH(接口選項-> SSH)并單擊 Yes(是)啟用 SSH 服務(wù)器。
# raspi-config
2.5 設(shè)置時區(qū)
我們需要配置正確的時區(qū)(圖 2)。
# dpkg-reconfigure tzdata
圖 2 - Raspberry PI 上的時區(qū)配置
3. 在 Raspbian 上安裝和配置 nProbe
3.1 安裝 nProbe
下載并導(dǎo)入公鑰。
$ 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 服務(wù)器的安裝和配置
Ubuntu 18.04.1 作為 VirtualBox guest 虛擬機運行,本教程不涉及其安裝。
4.1 Ubuntu 18.04.1 服務(wù)器的靜態(tài) IP 地址配置
Ubuntu 18.04 使用 netplan 配置網(wǎng)絡(luò)接口(圖 3)。根據(jù)需要更改網(wǎng)卡名稱,我的網(wǎng)卡名稱是 enp0s3。
$ cat /etc/netplan/01-systemd-networkd-eth.yaml
圖 3 - Ubuntu 18.04 的靜態(tài) IP 地址配置
保存更改。
$ sudo netplan apply
5. 在 Ubuntu 18.04.x LTS 服務(wù)器上安裝和配置 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服務(wù)器(圖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 服務(wù)器
$ 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 時發(fā)現(xiàn)權(quán)限問題,請將以下目錄的所有者從 root 更改為nobody。
# chown -R nobody /var/lib/ntopng/
6. 測試
打開您常用的網(wǎng)絡(luò)瀏覽器并輸入 URL http://172.17.100.7:3000。如果您正確遵循說明,您將看到 Ntopng 登錄頁面。默認用戶名是admin,密碼是admin。首次登錄時系統(tǒng)會提示您更改密碼。
我們將在下一個教程中討論 ntpong 流收集模式。
圖5-ntopng登錄頁面