Implementing Network Traffic Baselining

使用 Python pandas 从 NetFlow/IPFIX 数据构建网络流量基线,实现统计分析、Z-Score 异常检测以及按小时/按天的流量模式分析。

killvxk e94c7a3 4 files · 20.9 KB Updated

File contents

实施网络流量基线分析

概述

网络流量基线通过分析历史 NetFlow/IPFIX 数据,建立正常通信模式的统计画像,反映预期行为。本技能使用 Python pandas 计算按小时和按天的流量分布、每台主机的字节/数据包计数、协议比例和 Top-N 通信者画像。异常检测使用 Z-Score 阈值和 IQR(四分位距)离群值方法,帮助 SOC 分析员识别偏差,例如数据泄露峰值、信标行为(Beaconing)和异常端口使用。

前置条件

  • 导出为 CSV 或 JSON 格式的 NetFlow v5/v9 或 IPFIX 流量数据
  • Python 3.8+ 及 pandas、numpy 库
  • 历史流量数据(基线建议至少 7 天)

步骤

  1. 从 CSV 或 JSON 导出文件中导入 NetFlow/IPFIX 记录
  2. 计算按小时和按天的流量分布(字节、数据包、流量数)
  3. 构建每个源 IP 的基线画像(均值、中位数、标准差)
  4. 计算协议和端口分布基线
  5. 应用 Z-Score 异常检测识别统计离群值
  6. 将超过 IQR 阈值的流量标记为潜在异常
  7. 生成包含异常告警的基线报告

预期输出

JSON 报告,包含流量基线(按小时/按天画像)、每台主机统计数据、带 Z-Score 的检测异常,以及带偏差指标的 Top 通信者排名。

killvxk/cybersecurity-skills-zh/tree/main/skills/implementing-network-traffic-baselining commit e94c7a3caf

Frequently asked questions

npx skillmds@latest add killvxk/implementing-network-traffic-baselining