# PULSAR 协议学习研究原型

> 由 Hugo Gascon 等人开发的研究原型，可从记录下来的流量中学习未知网络协议的模型。它从 PCAP 记录中提取报文，将其嵌入为词元或 n-gram 向量，借助 PRISMA R 模块用矩阵分解进行聚类，再生成马尔可夫链状态模型，以及报文模板和把字段与先前报文关联起来的规则，输出为模型文件和 Graphviz 状态图。同一模型还驱动工具中的会话模拟器和有状态模糊测试器，详见作者 2015 年的 SecureComm 论文；本条目只介绍协议学习部分。

- 类型：工具
- 目标：协议
- 类别：协议分析工具
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-03
- 原始资源：<https://github.com/hgascon/pulsar>
- 一手来源：<https://github.com/hgascon/pulsar/blob/3c6117818ef24de246bda2cdf12d9caa5c557177/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/pulsar/>
- 记录 JSON：<https://awesomerea.org/resources/pulsar/record.json>
- 英文版：[English](https://awesomerea.org/resources/pulsar/index.md)

## 使用条件与局限

- 审阅对象为 master 分支提交 3c61178（2022-06-07），也是最后一次推送；仓库没有发行版或标签，命令行工具自称 v0.1-dev。2021 年合并的社区贡献用 2to3 把代码从 Python 2 转换为 Python 3。仓库没有测试或 CI 配置。
- 学习过程以所研究协议的 PCAP 流量记录为输入，也可使用 Cuckoo 沙箱为所分析样本保存的抓包。仓库提交了一个示例模型 models/itunes-xbmc，附带用来学习该模型的约 3 MB iTunes–XBMC 抓包（itunes-xbmc.pcap，来自 2015 年的初始提交）及其 Derrick、Sally 和 Harry 中间文件；除此之外不附带其他目标数据。
- 按 INSTALL.md，用户需把 PRISMA R 模块克隆到 pulsar/modules，从 Konrad Rieck 的仓库构建 Derrick 和 Sally 这两个 C 工具，安装 R、Wireshark 的 mergecap 和 Graphviz，再用 pip 安装 pygraphviz、progressBar、NumPy 和 python-Levenshtein；文档只给出 CentOS 的安装命令。依赖均未固定版本；PRISMA 最后更新于 2018 年，Derrick 和 Sally 最后更新于 2019 年。
- README 让读者参阅 2015 年 SecureComm 论文了解方法，并引用一篇 2012 年 AISec 关于为网络蜜罐学习有状态模型的论文；其中报告的结果出自作者。学到的模板和状态机只是统计近似，需要分析人员验证。
- 采用 BSD-3-Clause（Copyright 2014 Hugo Gascon）；附带的 pulsar/core/sippy SIP 协议栈保留其自身的 GPL-2.0-or-later 声明。

## 一手来源

1. <https://github.com/hgascon/pulsar/blob/3c6117818ef24de246bda2cdf12d9caa5c557177/README.md>
2. <https://github.com/hgascon/pulsar/blob/3c6117818ef24de246bda2cdf12d9caa5c557177/INSTALL.md>
3. <https://github.com/hgascon/pulsar/blob/3c6117818ef24de246bda2cdf12d9caa5c557177/LICENSE>
4. <https://github.com/hgascon/pulsar/blob/3c6117818ef24de246bda2cdf12d9caa5c557177/pulsar.py>
5. <https://github.com/hgascon/pulsar/blob/3c6117818ef24de246bda2cdf12d9caa5c557177/pulsar/core/model.py>
6. <https://github.com/hgascon/pulsar/blob/3c6117818ef24de246bda2cdf12d9caa5c557177/pulsar/core/cluster_generator.R>
7. <https://github.com/hgascon/pulsar/blob/3c6117818ef24de246bda2cdf12d9caa5c557177/pulsar/conf/model.conf>
8. <https://github.com/hgascon/pulsar/tree/3c6117818ef24de246bda2cdf12d9caa5c557177/models/itunes-xbmc>
9. <https://github.com/hgascon/pulsar/blob/3c6117818ef24de246bda2cdf12d9caa5c557177/pulsar/core/sippy/SipCSeq.py>
10. <https://hugogascon.com/publications/2015-securecomm.pdf>
11. <https://doi.org/10.1007/978-3-319-28865-9_18>
12. <https://github.com/tammok/PRISMA/blob/a48624f5102875984975ce99ddd687e0ddd6dee5/README.md>

## 同分区更多条目：协议

- [CanLab CAN 总线逆向分析工作站](https://awesomerea.org/zh/resources/canlab/index.md) · 工具
- [Facedancer USB 设备仿真与代理库](https://awesomerea.org/zh/resources/facedancer/index.md) · 工具
- [Mirage 无线通信分析框架](https://awesomerea.org/zh/resources/mirage-wireless-framework/index.md) · 工具
- [Protobuf Decoder 无定义 Protobuf 网页解码器](https://awesomerea.org/zh/resources/pawitp-protobuf-decoder/index.md) · 工具
- [gr-lora LoRa 物理层解码模块](https://awesomerea.org/zh/resources/gr-lora/index.md) · 工具
- [termshark tshark 终端界面](https://awesomerea.org/zh/resources/termshark/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
