raptor900/DeepPacket

GitHub: raptor900/DeepPacket

基于 PyTorch 实现的加密流量深度学习分类框架,可在不解密的情况下对 VPN/非 VPN 及应用类型进行识别。

Stars: 50 | Forks: 12

# Deep Packet 本文所述方法的 PyTorch 实现: ## 概述 Deep Packet 使用深度学习对加密网络流量(例如,VPN/非 VPN,应用类型)进行分类,**无需解密**。它直接处理原始数据包字节,将流量分类视为图像/信号分类问题。 实现了两种架构: ### 1. DeepPacketCNN (1D CNN) 直接从原始字节进行端到端分类: ``` Input (1 × 1500 bytes) ↓ Conv1D (200 filters, kernel=5, stride=2) → BN → ReLU ↓ Conv1D (100 filters, kernel=4, stride=1) → BN → ReLU ↓ AvgPool (2) ↓ FC layers: 37200 → 600 → 500 → 400 → 300 → 200 → 100 → 50 ↓ Output (n_classes) → LogSoftmax ``` ### 2. StackedAutoEncoder 带有分类头的预训练栈式自编码器: ``` Input (1500) ↓ AE1: 1500 → 400 (greedy pre-training) AE2: 400 → 300 AE3: 300 → 200 AE4: 200 → 100 AE5: 100 → 50 ↓ FC: 50 → n_classes → LogSoftmax ``` 每个自编码器使用重建损失进行逐层贪婪预训练,然后对整个网络进行端到端微调。 ## 使用方法 ``` import torch from models import DeepPacketCNN, StackedAutoEncoder # CNN 模型 model = DeepPacketCNN(n_classes=10) x = torch.randn(32, 1, 1500) # batch of 32 packets log_probs = model(x) # (32, 10) # Stacked AutoEncoder 模型 sae = StackedAutoEncoder(n_classes=10) x_flat = torch.randn(32, 1500) # flattened packets log_probs = sae(x_flat) # (32, 10) ``` ## 环境要求 - Python ≥ 3.8 - PyTorch ≥ 1.9
标签:Apex, IP 地址批量处理, ISCX-VPN-NonVPN, Python, PyTorch, VPN流量识别, 一维卷积神经网络(1D CNN), 人工智能安全, 入侵检测系统(IDS), 凭据扫描, 加密流量分类, 原始数据包字节处理, 合规性, 图像/信号分类, 堆叠自编码器(Stacked AutoEncoder), 应用层协议分类, 无后门, 无需解密, 机器学习, 深度包检测(DPI), 深度学习, 特征提取, 端到端分类, 网络安全, 网络流量分析, 逆向工具, 隐私保护