# DynPRE：基于动态推断的协议逆向工程

> DynPRE 以捕获的客户端—服务端流量为起点，再与在线协议服务端交互，推断报文格式与类型。它检测 Cookie 等会话特定标识符并实时改写，使重放的请求保持有效；随后发送字节级探测请求，以服务端响应作为字段识别的语义反馈，对响应进行对齐分析，并通过请求—响应映射细化格式，同时识别报文类型。作者在 12 种协议、规模分别为 10、100 与 1,000 条报文的数据集上，报告平均字段完美分割率为 0.50、报文类型 V-measure 为 0.94，而 Netzob、NetPlier、FieldHunter、BinaryInferno 与 NEMESYS 的完美分割率为 0.15–0.31。

- 作者：Zhengxiong Luo; Kai Liang; Yanyang Zhao; Feifan Wu; Junze Yu; Heyuan Shi; Yu Jiang
- 原标题：DynPRE: Protocol Reverse Engineering via Dynamic Inference
- 发表载体：NDSS 2024
- 发表状态：会议论文
- 出版／提交日期：2024 年（具体日期未核实）
- 日期依据：Internet Society 向 Crossref 提交的元数据仅给出出版年份 2024；出版方 PDF 另列研讨会日期为 2024 年 2 月 26 日至 3 月 1 日，本条目不据此推定出版月份或日期。
- DOI：10.14722/ndss.2024.24083
- 来源复核于：2026-10-18
- 收录于：2026-10-19
- 原始论文：<https://www.ndss-symposium.org/ndss-paper/dynpre-protocol-reverse-engineering-via-dynamic-inference/>
- PDF：<https://www.ndss-symposium.org/wp-content/uploads/2024-83-paper.pdf>
- BibTeX：<https://awesomerea.org/papers/citations/paper-dynpre.bib>
- 目录页面：<https://awesomerea.org/zh/papers/paper-dynpre/>
- 记录 JSON：<https://awesomerea.org/papers/paper-dynpre/record.json>
- 英文版：[English](https://awesomerea.org/papers/paper-dynpre/index.md)

## 研究范围与局限

该方法需要捕获流量以及可被反复查询的可达服务端，无法仅凭被动捕获流量工作。探测会改变服务端状态：每次探测都会新建会话，但具有全局状态的协议（如 IoT 设备的开关状态）仍可能降低反馈质量。在 1,000 条报文的数据集上，单次分析平均耗时 259 分钟，平均发起 50,344 次连接、交换约 398 万条报文，因此低速或限流的服务端会降低效率。在开源评测环境中，加密与认证机制均被关闭；IoT 案例研究中的加密流量则借助设备私钥解密。带校验和的协议需要额外的校验和逆向步骤，且仅在 ICMP 上演示。格式真实标签来自 tshark 解析器，报文类型则来自人工阅读协议文档。针对五台设备的 IoT 案例研究检验生成的报文能否触发设备行为，而非规范是否完整。状态机推断沿用已有方法，并未作为贡献加以评估。

## 与本合集的关联

补充主动与服务端交互的协议推断方法，与本节中仅基于流量、借助二进制及基于源码的协议重建研究互补。

## 发表与复核说明

NDSS 论文页面列出七位作者及其单位，并链接 PDF 与演示幻灯片；Crossref 给出相同的作者顺序，仅记载年份 2024。PDF 页脚标明研讨会于 2024 年 2 月 26 日至 3 月 1 日在圣迭戈举行，并载有 ISBN 1-891562-93-2 与 DOI。未找到 arXiv 版本。论文称 DynPRE 可在 github.com/DynPRE/DynPRE 获取，但 2025-08-27 快照仅有一份 README，请读者通过电子邮件联系作者获取代码，且未声明许可证。论文的基线工具来自公开版本，其中 FieldHunter 使用公开的重新实现。

## 一手来源

1. <https://www.ndss-symposium.org/ndss-paper/dynpre-protocol-reverse-engineering-via-dynamic-inference/>
2. <https://www.ndss-symposium.org/wp-content/uploads/2024-83-paper.pdf>
3. <https://api.crossref.org/works/10.14722/ndss.2024.24083>
4. <https://doi.org/10.14722/ndss.2024.24083>
5. <https://github.com/DynPRE/DynPRE/blob/3a0fdcef1d9245db6bc0a4e25f66d04e34d14bca/README.md>

## 关于此条目

已依据论文及一手来源复核。请通过原始论文或 BibTeX 引用原作者。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
