Analyzing Network Flow Data With Netflow

解析 NetFlow v9 和 IPFIX 记录,检测容量异常(volumetric anomalies)、端口扫描(port scanning)、数据外泄(data exfiltration)和 C2 信标模式(C2 beaconing patterns)。使用 Python netflow 库解码流记录, 构建流量基线,并应用统计分析识别字节数异常、连接时长异常和周期性定时模式的流量。

killvxk 450e9f0 4 files · 21.7 KB Updated

File contents

指令

  1. 安装依赖:pip install netflow
  2. 从路由器采集 NetFlow/IPFIX 数据,或使用内置采集器:python -m netflow.collector -p 9995
  3. 使用 netflow.parse_packet() 解析捕获的流数据。
  4. 分析流量,检测以下内容:
    • 端口扫描(Port scanning):单一源地址扫描同一端口的大量目标
    • 数据外泄(Data exfiltration):向异常目标发送的高字节数出站流量
    • C2 信标(C2 beaconing):具有固定间隔的周期性连接
    • 容量异常(Volumetric anomalies):超出基线阈值的流量峰值
  5. 生成按优先级排列的发现报告。
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)

killvxk/cybersecurity-skills-zh/tree/main/skills/analyzing-network-flow-data-with-netflow commit 450e9f074c

Frequently asked questions

npx skillmds@latest add killvxk/analyzing-network-flow-data-with-netflow