nfstream/nfstream

NFStream: a Flexible Network Data Analysis Framework.

解決的問題

NFStream 提供高階的 Python 框架,支援線上(即時)與離線(pcap 檔案)資料分析,簡化網路流量分析的流程。它解決了從原始網路封包中提取有意義且可重現特徵的困難,特別是針對加密流量,並提供標準化的方式,將資料準備好以供機器學習模型使用。

如何運作

NFStream 使用基於 CFFI 的高效能計算引擎處理網路資料,並支援多平台執行。它利用 nDPI 進行深度封包檢測,以識別加密應用並提取元資料(如 TLS 或 SSH 指紋)。它也能探測系統核心,將網路流量與特定的本機程序(PID 與程序名稱)關聯起來。在特徵萃取方面,它計算事後統計(封包大小/到達時間間隔的平均值、標準差)與早期流量特徵(前 n 個封包的 SPLT 分析)。

適用對象

專為需要執行實際網路流量分析、建立可重現實驗,或部署機器學習模型進行流量管理與分類的網路研究人員與安全工程師設計。

主要亮點

  • 加密流量可見性: 使用 nDPI 識別加密應用並提取元資料指紋。
  • 系統整合: 透過核心探測將網路流量對應至實際系統程序。
  • 機器學習就緒: 提供標準化的統計特徵萃取,並原生支援導出至 Pandas 與 CSV,方便模型訓練。
  • 高效率: 在 Linux 上使用 AF_PACKET_V3/FANOUT,並支援 PyPy 以加快執行速度。
  • 可擴充性: 支援透過 NFPlugins 插件系統建立自訂流量特徵。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案