使用NetFlow分析網路流量資料 是做什麼的?
使用時機
- 調查需要以NetFlow分析網路流量資料的安全事件時
- 建立此領域的偵測規則或威脅狩獵查詢時
- SOC分析師需要此分析類型的結構化程序時
- 驗證相關攻擊技術的安全監控覆蓋範圍時
前置條件
- 熟悉網路安全概念與工具
- 可存取測試或實驗環境以安全執行
- Python 3.8+ 並安裝所需依賴套件
- 已取得進行任何測試活動的適當授權
指示
- 安裝依賴套件:
pip install netflow
- 從路由器收集NetFlow/IPFIX資料,或使用內建收集器:
python -m netflow.collector -p 9995
- 使用
netflow.parse_packet() 解析擷取的流量資料
- 分析流量中是否有以下情況:
- 連接埠掃描:單一來源對多個目的地使用相同連接埠
- 資料外洩:高位元組數量的對外流量流向異常目的地
- C2通訊:固定間隔的週期性連線
- 容積異常:超出基線閾值的流量突增
- 產出包含優先順序的發現報告。
python scripts/agent.py --flow-file captured_flows.json --output netflow_report.json
範例
解析NetFlow v9封包
import netflow
data, _ = netflow.parse_packet(raw_bytes, templates={})
for flow in data.flows:
print(flow.IPV4_SRC_ADDR, flow.IPV4_DST_ADDR, flow.IN_BYTES)