引導(dǎo)語(yǔ):
本教程旨在分享如何通過(guò) ntopng 和 nProbe 這兩款工具,深入了解和掌握網(wǎng)絡(luò)流量監(jiān)控的藝術(shù)。我們將提供從基本概念到高級(jí)應(yīng)用的全面指導(dǎo),涵蓋了在多種平臺(tái)和設(shè)備上的部署和配置步驟。不論您是專業(yè)人員還是技術(shù)愛(ài)好者,跟隨本教程,都能夠有效地安裝、配置并運(yùn)用這些工具,以洞察網(wǎng)絡(luò)的運(yùn)行狀態(tài)和性能,確保網(wǎng)絡(luò)安全與高效運(yùn)行。
簡(jiǎn)介:
本文是關(guān)于使用 ntopng 和 nProbe 監(jiān)控網(wǎng)絡(luò)流量的教程。文章詳細(xì)介紹了如何配置和使用這兩個(gè)工具來(lái)監(jiān)控和分析網(wǎng)絡(luò)流量。內(nèi)容涉及硬件和軟件的安裝、配置端口鏡像、靜態(tài)IP地址設(shè)置、SSH服務(wù)器的啟用,以及 ntopng 和 nProbe 的詳細(xì)配置步驟。教程詳細(xì)描述了在不同操作系統(tǒng)和設(shè)備上的安裝過(guò)程,包括在 Ubuntu 服務(wù)器和 Raspberry Pi 上的設(shè)置。最后,還包括了測(cè)試步驟,確保系統(tǒng)正確安裝和運(yùn)行。
一、什么是Ntopng
Ntopng 是原始 ntop 的下一代版本,它是一款用于監(jiān)控網(wǎng)絡(luò)使用情況的網(wǎng)絡(luò)流量探測(cè)器。能從鏡像流量、NetFlow 導(dǎo)出器、SNMP 設(shè)備、防火墻日志和入侵檢測(cè)系統(tǒng)中收集流量信息,從而提供 360° 網(wǎng)絡(luò)可視性。
ntopng 有三個(gè)版本:社區(qū)版、專業(yè)版(小型企業(yè)版)和企業(yè)版。社區(qū)版免費(fèi)使用,并且開(kāi)源。服務(wù)器的物理網(wǎng)卡可通過(guò)指定其接口名稱進(jìn)行監(jiān)控,如./ntopng -i eth0
不過(guò),我們將在流量收集模式下使用 ntopng 和 nProbe,后者可以充當(dāng)探針/代理。nProbe 和 ntopng 之間的通信通過(guò) ZeroMQ 進(jìn)行,ZeroMQ 是一種發(fā)布-訂閱協(xié)議,允許 ntopng 與 nProbe 通信。
ntpong 社區(qū)版安裝在 Ubuntu 服務(wù)器 18.04.1 上,IP 地址為 172.17.100.7/16。Ubuntu 在 VirtualBox 虛擬機(jī)中運(yùn)行。主機(jī)(華碩 k55vm)的 IP 地址為 172.17.100.2/16。主機(jī)與 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 交換機(jī) 3550 的 FastEthernet0/3。安裝了 nProbe 的樹(shù)莓派連接到 FastEthernet0/24。思科交換機(jī)連接到 SOHO 路由器。
圖 1 - 網(wǎng)絡(luò)拓?fù)?/a>結(jié)構(gòu)
以下是拓?fù)浣Y(jié)構(gòu)中所有設(shè)備的默認(rèn)密碼列表。
設(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)存
主機(jī)操作系統(tǒng) Linux Kubuntu 18.04.1
帶客戶虛擬機(jī)的 Oracle VirtualBox 5.2:
Ubuntu 16.04.5 服務(wù)器,已安裝 Ntopng
1. 端口鏡像配置
為了從連接 PC(172.17.100.10/16)的受監(jiān)控(源)端口 Fa0/3 向連接 Raspberry PI 的目標(biāo)端口 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卡未被掛載。如果是,請(qǐng)卸載該卡。
$ 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 卡并插入樹(shù)莓派。用用戶名 pi 和密碼 raspberry 登錄。
2.2. 利用 SD 卡上的所有空間
默認(rèn)情況下,鏡像文件只占用 4GB 的 SD 卡空間。請(qǐng)執(zhí)行以下命令。
# raspi-config
導(dǎo)航至 Advanced Options(高級(jí)選項(xiàng))-> A1 Expand Filesystem(A1 擴(kuò)展文件系統(tǒng)) 確保操作系統(tǒng)可以使用 SD 卡上的所有存儲(chǔ)空間。文件系統(tǒng)將在下次重啟時(shí)擴(kuò)大。
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(接口選項(xiàng)-> SSH)并單擊 Yes(是)啟用 SSH 服務(wù)器。
# raspi-config
2.5 設(shè)置時(shí)區(qū)
我們需要配置正確的時(shí)區(qū)(圖 2)。
# dpkg-reconfigure tzdata
圖 2 - Raspberry PI 上的時(shí)區(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 虛擬機(jī)運(yùn)行,本教程不涉及其安裝。
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 可以從軟件源安裝,也可以從源代碼編譯安裝。我們將展示這兩種方法,請(qǐng)選擇你喜歡的安裝方式。
5.1 從版本庫(kù)安裝 ntpong
將 repository universe 添加到 /etc/apt/sources.list 中(圖 4)。使用你喜歡的文件編輯器。
$ sudo su
# vi /etc/apt/sources.list
圖 4 -將 Universe 添加到 Ubuntu 存儲(chǔ)庫(kù)列表
# apt-get update
# apt-get install ntopng
5.2 Ntop源碼編譯和安裝
如果您喜歡手動(dòng)安裝,下面是步驟。
$sudo su
添加universe存儲(chǔ)庫(kù),因?yàn)槲覀儗拇鎯?chǔ)庫(kù)中安裝redis服務(wù)器(圖4)。
安裝PF_RING、nDPI和ntpong的依賴項(xiàng)。
$ 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從存儲(chǔ)庫(kù)安裝 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 安裝后步驟
如果您在啟動(dòng) ntpong 時(shí)發(fā)現(xiàn)權(quán)限問(wèn)題,請(qǐng)將以下目錄的所有者從 root 更改為nobody。
# chown -R nobody /var/lib/ntopng/
6. 測(cè)試
打開(kāi)您常用的網(wǎng)絡(luò)瀏覽器并輸入 URL http://172.17.100.7:3000。如果您正確遵循說(shuō)明,您將看到 Ntopng 登錄頁(yè)面。默認(rèn)用戶名是admin,密碼是admin。首次登錄時(shí)系統(tǒng)會(huì)提示您更改密碼。
我們將在下一個(gè)教程中討論 ntpong 流收集模式。
圖5-ntopng登錄頁(yè)面