# 自动化加密流量标签样本采集构建与关联系统A3C-Windows **Repository Path**: network-intelligent-perception/A3C-windows ## Basic Information - **Project Name**: 自动化加密流量标签样本采集构建与关联系统A3C-Windows - **Description**: 自动化加密流量标签样本采集构建与关联系统A3C-win版:Chen Z, Cheng G, Xu Z, et al. A3C System: One-Stop Automated Encrypted Traffic Labeled Sample Collection, Construction and Correlation in Multi-Systems[J]. Applied Science - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 0 - **Created**: 2023-03-12 - **Last Updated**: 2026-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 自动化加密流量标签样本采集构建与关联系统A3C-Windows #### 介绍 本软件的主要功能有三点:自动化选择端系统采集网卡、端系统流量采集和流量进程级标签构造。本软件能够智能识别出当前系统中的多网卡,并自动选择对外通信的网卡作为流量采集网卡。用户在运行本软件的同时运行其他网络应用,期间产生的网络流量将会被软件自动抓取并按照应用进程分类标签,构建进程级标签样本。 #### 软件架构 本软件包含三个核心模块:流量采集、原始流量处理和进程判断,总体设计框架如图 ![软件架构图](imgs/framework.png) **流量采集** 流量采集借助Npcap实现,Npcap项目致力于采用Microsoft Light-Weight Filter (NDIS 6 LWF)技术和Windows Filtering Platform(NDIS 6 WFP)技术对当前最流行的WinPcap工具包进行改进。如图2-2所示,用户指定目标网卡,在点击开始后本软件调用Npcap对网卡流量进行监听,当网络报文经过网卡时,回调函数读取Npcap缓冲区,获得报文原始字节流数据,并作为上层原始流量处理的输入。 原始流量处理 本模块处理Npcap交付的原始数据包流量,从中提取网络层地址和传输层端口信息。如图2-3所示,对原始流量逐层解析,判断其网络层和传输层协议类型,如IPv4和IPv6、TCP和UDP等,对不同的协议做特异性处理。同时判断局域网协议,例如LLMNR、ARP等在局域网中辅助互联网通信的协议,往往与互联网应用所产生的流量无关,在此处会加以过滤。 **进程判断** 流量的进程判断基于系统进程和网络端口的实时对应关系,通常情况下,作为客户端发起的连接端口号往往在1024-65535之间,且存在进程与端口的一对多关系,除DNS的53端口和5353端口外,端口与进程大多呈现多对一关系。 #### 安装教程 本软件的图形界面需要.Net Framework 4.7环境,一般情况下Windows 10系统会自动保持.Net Framework版本的更新,无需做特别的操作。如果用户计算机上需要手动安装,请参考微软的安装文档下载并安装.Net Framework。 **解压缩** 用户获取到压缩包后首先进行解压缩,得到下列文件: * A3C_desktop.exe-----------启动程序 * A3C_2.dll-----------程序运行所需的动态链接库 * Npcap-1.20.exe------抓包功能的依赖库安装程序 * Readme.txt----------简单的说明文档 **Npcap安装** 到Npcap官网下载安装,安装过程中需要选择下列安装项: ![](imgs/install.png) #### 使用说明 **流量采集** 在本软件运行的初始化阶段,本软件调用网络适配器检索的Win32 API检索当前系统中可用网络适配器,并通过读取每个适配器的默认网关判断是否为有效的对外网络适配器,从而实现采集网卡的自动选择。如图4-6所示,成功选择了以太网适配器作为采集目标。在自动选择网卡的同时,本软件同样支持用户在下拉列表中手动选择需要采集的网卡。 ![](imgs/select_net.png) 确定网卡后,点击“开始”按钮进行流量采集,运行状态如图4-7所示。“流量采集网卡”处显示目前正在监听的网卡,界面的左下角为当前的运行状态“正在抓包”,右下角为采集过程中的实时统计信息,展示了捕获的进程数量和数据包总数。中间的列表详细列出了每个进程对应的数据包捕获数量,在运行过程中,可以点击“停止”按钮终止流量采集。 ![](imgs/running_status.png) **结果说明** 当用户点击“停止”按钮后,本次采集的结果会自动弹出,如图4-8所示。本次采集到流量样本将会保存在一个以时间戳命名的文件夹下,同时被分类和标签的流量数据包将会以进程名命名,存储为pcap文件格式。除了被标签数据包以外,本软件在每次采集时会产生五个固定的文件,如图红色框所示。 * all.pcap-------采集过程中获取的所有流量 * DNSPro.pcap----采集过程中产生的DNS流量 * other.pcap-----采集过程中局域网协议如LLMNR、ARP等通信流量 * unknown.pcap---采集过程中无法分类和打标签的流量 * log.txt--------系统运行日志 ![](imgs/result.png) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request **注:**本软件已登记《计算机软件著作权》,登记号:2021SR1327235;并申请了国家专利,专利号:202111528265.5,禁止用于商业用途