emadkarimain/Encrypted-Traffic-Classification-XGBoost

GitHub: emadkarimain/Encrypted-Traffic-Classification-XGBoost

基于 XGBoost 和统计特征分析的加密流量分类 pipeline,无需解密即可高精度识别 22 种网络应用的加密流量类型。

Stars: 0 | Forks: 0

# 基于机器学习的加密流量分类 本仓库包含一个全面的机器学习 pipeline,旨在无需解密的情况下识别网络应用产生的加密流量。通过分析统计特征(包长度、到达时间间隔),我们能够高精度地对流量进行分类。 ## 🚀 核心亮点 - **高准确率:** 使用 XGBoost 模型实现了 **97.2% 的准确率**。 - **强大的泛化能力:** 成功区分了多种流量类型(实时流量与批量存储流量)。 - **优化:** 通过 **5 折交叉验证 (5-fold Cross-Validation)** 实现了自动化的超参数调优。 - **高效性:** 标准化的数据处理使线性模型的收敛速度提升了 **36 倍**。 ## 🛠 技术栈 - **语言:** Python - **ML 框架:** Scikit-learn, XGBoost - **数据分析:** Pandas, NumPy - **数据可视化:** Matplotlib, Seaborn ## 📊 方法论与工作流 1. **预处理:** 处理 Infinity/NaN 值并清理数据集。 2. **特征工程:** 对数分布分析与特征标准化。 3. **模型选择:** 对比 **Logistic Regression** 与 **XGBoost**。 4. **验证:** 使用准确率、精确率、召回率和 F1-Score 评估模型性能。 ## 📈 结果与可视化 本项目表明,XGBoost 在识别加密模式方面显著优于传统的线性模型。 | 模型 | 准确率 | 精确率 | F1-Score | | :--- | :---: | :---: | :---: | | Logistic Regression | 72.5% | 68.1% | 0.75 | | **XGBoost** | **97.2%** | **96.5%** | **0.97** | ### 性能分析 以下是 **XGBoost** 模型的混淆矩阵,展示了其在各个加密类别中近乎完美的分类效果: ### 特征分布 对流量特征(例如,包长度平均值)的分析揭示了不同应用程序的独特特征,从而实现了高精度的分类: ## 📂 项目结构 - `NDA_Homework1_...ipynb`:包含详细文档说明的主 Python notebook。 - `Features/`:针对特定应用对处理后的子数据集。 - `Figures/`:导出的可视化图表和性能分析图。 - `22_apps_flow_features.csv`:包含 22 种网络协议的原始数据集。 ## 📜 许可证 本项目采用 MIT 许可证授权。
标签:Apex, NumPy, Python, Scikit-learn, XGBoost, 交叉验证, 代码示例, 分类算法, 加密流量识别, 异常检测, 数据分析, 数据科学, 无后门, 机器学习, 机器学习管道, 模型评估, 深度包检测, 特征工程, 网络协议分析, 网络安全, 网络安全分析, 资源验证, 逆向工具, 逻辑回归, 防御绕过, 隐私保护