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