iT邦幫忙

2025 iThome 鐵人賽

DAY 27
0
佛心分享-IT 人自學之術

從基礎開始—web學習之路系列 第 27

從基礎建設web網頁-ntopng 介紹

  • 分享至 

  • xImage
  •  

一、什麼是 ntopng

ntopng 是一套 網路流量監控與分析工具,帶有 Web 介面,可以即時或歷史地顯示網路流量狀況。

它可以透過被動捕捉封包 (libpcap / PF_RING) 或接收流量匯出 (NetFlow / sFlow / IPFIX) 來取得網路流量資料。

它不只是簡單流量統計,還會做 協定偵測 (Layer-7 DPI, 應用層分析)、延遲/丟包/重傳的 TCP 指標、地理位置、行為分析等。
tecmint.com

它支援 SNMP、警示 (alerts)、REST API、歷史報表、Lua 腳本擴充等功能。
ntop

簡單來說,ntopng 是網路監控 + 分析 + 告警於一體的工具。

二、主要功能與特色

下面依功能面向做分類:

功能 / 面向 說明
即時流量監控 可以看到目前正在透過網路的封包、各主機上下行速率、流量來源/目的地、應用協定的分布等。

Top Talkers / 熱點主機 找出哪些 IP 或主機使用最多頻寬 (上傳/下載)/哪些應用協定佔比最高。

協定 / 應用偵測 (Layer-7 / DPI) 使用 nDPI 引擎偵測應用協定(YouTube, Facebook, BitTorrent, HTTP, DNS 等)流量。
tecmint.com

TCP / 性能指標 顯示 TCP retransmissions、out-of-order、封包丟失、往返時間 (RTT) 等指標。
tecmint.com

延遲 / 應用延時 / 多媒體 / VoIP 指標 支援顯示應用延遲、抖動 (jitter)、MOS (語音質量指標) 等。

歷史資料和報表 可以保存流量與統計資料以便事後分析,也可以產生自訂報表(流量趨勢、協定分布、主機歷史等)

警示 / 行為異常檢測 設定閾值 (thresholds),對異常流量或行為 (如流量突增、可疑通訊) 發出警示通知。

地理定位 / 地圖視覺化 主機/IP 可以標示在地圖上(Geolocation)以辨識來源國家或地區。

多介面 / 聚合 / 隧道解封 (tunnel decapsulation) 支援監控多個網路介面、將多條介面資料合併;對隧道協定(如 GRE, GTP 等)也可做解封分析。

整合 / 擴充性 支援 REST API,可整合到其他系統;可用 Lua 腳本延伸;可輸出資料到 Elasticsearch、ClickHouse、MySQL 等資料庫。

SNMP / 網管設備監控 可用 SNMP 收集網管設備 (Switch/Router) 的統計資料,如介面流量、設備負載、端口狀態等。

身分識別 / VPN 結合 在較高版本中,可以把 VPN 使用者與流量做關聯,甚至辨識出哪個使用者做了什麼流量。

三、典型應用場景

以下是一些常見的應用場景,你可以參考哪種環境下用 ntopng 比較有價值:

公司/組織網路監控
監控整個局域網的流量走向、找出流量異常、抓取高頻寬使用者、針對應用協定做深入分析。

ISP / 網路服務供應商
監控連接端點的流量、標示來源國家、分析流量趨勢、偵測惡意流量。

安全監控 / 入侵偵測補強
結合 IDS/Suricata 等偵測系統,把入侵事件與流量結合起來做分析。

家庭 / 小型網路
給予家用路由器使用者了解哪台裝置在耗頻寬、什麼應用在佔線,找出可能的異常流量來源。雖然在資源受限的設備上可能會比較吃資源。

雲端 / 虛擬化環境
在 VM 或 Container 裡監控虛擬網路介面。 ntopng 支援在許多平台上運行 (Linux、FreeBSD、macOS、Windows)

四、基本部署與使用流程(以 Linux 為例)

以下是建議的操作流程與注意事項。不同發行版或應用(如 pfSense)可能略有差異。

  1. 安裝

常見方式包括:

使用套件庫安裝(例如 Ubuntu / Debian 會有 ntop 的 apt repository)
ATA Learning

從官方提供的二進位檔案安裝

在 Docker container 中部署
YouTube

安裝後會有一個服務 (daemon) 在背景執行。

  1. 設定介面 / 捕捉來源

在 ntopng 的設定檔 (ntopng.conf 或透過命令行選項) 裡指定:

要監控的網路介面 (例如 eth0, ens33 等)

是否啟用 DNS 解析功能 (把 IP 轉為 host 名稱)

捕捉方式:直接封包捕捉 vs 接收流匯出 (NetFlow / sFlow)

日誌 / 資料存儲位置

其他選項:授權認證 (user/password)、TLS、API 端點等

例如 command line 範例(在配置中使用 Redis):

ntopng --dns-mode 1 --interface 5 --daemon --redis localhost:6379 --verbose

這是 Wikipedia 上的範例參數格式(設定 DNS 模式、介面、背景執行、Redis 等)
維基百科

  1. 存取 Web 介面

安裝並啟動後,你可以透過瀏覽器連到 ntopng 的 Web UI(預設端口通常是 3000 或 追你設定的端口)

在界面中,你可以看到:

主控面板 (Dashboard):流量總覽、警示、熱門協定、主機分布等

Hosts / 主機清單:各主機的流量、協定使用、連線狀態等

流 (Flows):查看實際的來源/目的地對應的流量

協定 / 應用分佈:不同應用或協定在網路中的比重

報表 / 歷史資料:趨勢圖、日/週/月報表

警示設定 / 行為偵測:你可以設定警示條件,當超過就觸發通知


上一篇
從基礎建設web網頁-網頁原始碼該如何檢查
下一篇
從基礎建設web網頁-前端畫面設計流程
系列文
從基礎開始—web學習之路30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言