研究
CNNPRE:基于 CNN 的协议逆向方法(IEEE Access 2023)
CNNPRE 的研究代码与数据。CNNPRE 是 Javad Garshasbi 与 Mehdi Teimouri 于 2023 年发表在 IEEE Access 上、用于协议逆向工程的报文类型识别方法。仓库中唯一的 Colab 笔记本把每条报文补齐后的比特串转为缩放的灰度图像,借助在 ImageNet 上预训练的 ResNet50 进行迁移学习以提取特征,加入报文方向和长度分组编码,用 UMAP 降维后再以凝聚聚类和 HDBSCAN 对报文聚类,并将各聚类结果与已标注的报文类型比较评分。笔记本附有从 ARP、DNS 到 SMTP、GSM 等十二种协议的预处理报文数据集。
- 目标
- 协议
- 类别
- 协议分析工具
- 关联
- 学习资源
- 来源复核于
使用条件与局限
- 论文:Javad Garshasbi、Mehdi Teimouri,《CNNPRE: A CNN-Based Protocol Reverse Engineering Method》,IEEE Access 第 11 卷,第 116255–116268 页,2023 年,DOI 10.1109/ACCESS.2023.3325391;Crossref 标注其采用 CC BY-NC-ND 4.0 许可。本合集的论文目录尚无该论文的单独记录。仓库审阅对象为 2026-01-13 的最新提交(一次 README 更新);笔记本最后修改于 2023-07-06,没有发布版本。
- 唯一的代码是为 Google Colab 编写的 cnnpre.ipynb。它用 pip 安装 umap-learn 和 hdbscan,用 apt 安装 TeX Live 与 pandoc 以导出 PDF,其余依赖 Colab 预装的 TensorFlow、scikit-learn、OpenCV、pandas 和 yellowbrick,均未固定版本。它会下载 ImageNet 预训练的 ResNet50 权重,读取写死的 CSV 文件(GSM5000-hex.csv),换用其他数据集时需修改报文数量,最后几个单元格还会挂载 Google Drive 来转换笔记本。没有软件包、命令行工具或测试。
- 输入是按报文组织的 CSV,包含方向、已标注的报文类型以及每条报文的十六进制和比特串。Data/ 收录 ARP、DHCP、DNS、FTP、GSM、HTTP、ICMP、NBNS、NTP、POP、SMTP 和 Syslog 的预处理 CSV,PCAP/ 收录 GSM 捕获文件 44CON-gsm-uplink-downlink-sim-example.pcap,README 指出其余数据来源是公开的 WRCCDC 2021 地区赛流量。仓库未提供从 PCAP 转换为 CSV 的预处理脚本,因此新协议需要自行转换,而笔记本的评估指标还需要真实的报文类型标注。
- 笔记本只涉及报文类型聚类,不包括字段、语义或状态机推断。其中标为 K-Means 的结果用 K-means 肘部法确定聚类数,实际却用凝聚聚类完成聚类;保存的输出只显示一次 GSM 运行。准确率数据来自论文,本合集未复现,撰写本记录时也未运行任何单元格。
- GitHub 未检测到许可证,仓库也没有许可证文件,因此代码和预处理数据集均未声明复用条款;论文的许可只适用于文章本身,不适用于仓库,捕获流量遵循其来源的条款。所审来源未确立与 REA 的关联。
关于此条目
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · JG91/CNNPRE · 修订 c7679ee
- cnnpre.ipynb GitHub · JG91/CNNPRE · 修订 c7679ee
- Data GitHub · JG91/CNNPRE · 修订 c7679ee
- PCAP GitHub · JG91/CNNPRE · 修订 c7679ee
- https://doi.org/10.1109/ACCESS.2023.3325391
同分区更多条目:文档与学习资源
- 安装与客户端配置 · 文档
- CLI 与 Evidence · 文档
- MCP 接口约定与生成目录 · 文档
- 原生二进制调查 · 文档
- 跨层 JavaScript 应用工作流 · 文档
- Android APK 静态分析 · 文档