| name | implementing-network-traffic-baselining |
| description | 使用 Python pandas 从 NetFlow/IPFIX 数据构建网络流量基线,实现统计分析、Z-Score 异常检测以及按小时/按天的流量模式分析。 |
| domain | cybersecurity |
| subdomain | network-security |
| tags | ["netflow","ipfix","traffic-analysis","baselining","anomaly-detection","pandas","network-monitoring"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
实施网络流量基线分析
概述
网络流量基线通过分析历史 NetFlow/IPFIX 数据,建立正常通信模式的统计画像,反映预期行为。本技能使用 Python pandas 计算按小时和按天的流量分布、每台主机的字节/数据包计数、协议比例和 Top-N 通信者画像。异常检测使用 Z-Score 阈值和 IQR(四分位距)离群值方法,帮助 SOC 分析员识别偏差,例如数据泄露峰值、信标行为(Beaconing)和异常端口使用。
前置条件
- 导出为 CSV 或 JSON 格式的 NetFlow v5/v9 或 IPFIX 流量数据
- Python 3.8+ 及 pandas、numpy 库
- 历史流量数据(基线建议至少 7 天)
步骤
- 从 CSV 或 JSON 导出文件中导入 NetFlow/IPFIX 记录
- 计算按小时和按天的流量分布(字节、数据包、流量数)
- 构建每个源 IP 的基线画像(均值、中位数、标准差)
- 计算协议和端口分布基线
- 应用 Z-Score 异常检测识别统计离群值
- 将超过 IQR 阈值的流量标记为潜在异常
- 生成包含异常告警的基线报告
预期输出
JSON 报告,包含流量基线(按小时/按天画像)、每台主机统计数据、带 Z-Score 的检测异常,以及带偏差指标的 Top 通信者排名。