htools-org/wireshark-handshake-protocol

GitHub: htools-org/wireshark-handshake-protocol

一个用 Lua 编写的 Wireshark 协议解析插件,用于解码 Handshake 区块链命名协议的网络数据包。

Stars: 11 | Forks: 1

# Wireshark 的 Handshake 协议插件 这是一个用 Lua 编写的 Wireshark 解析器,用于解码 [Handshake](https://handshake.org) 数据包。 ## 截图 ![Packet List](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/1092d0aea7133809.png) ![Packet Details](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/bfdf63f09f133811.png) ![Packet Details and Bytes](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/80130c9b5c133812.png) ## 进度 虽然所有数据包类型都已添加,但少数尚未经过测试。如果您能捕获到它们,请发送 pcap(或者确认它可以工作并通过 PR 添加一个勾号 :D)。 | Type | Packet | Parser | Tested | | ---- | ----------- | ------ | ------ | | 0 | VERSION | ✔️ | ✔️ | | 1 | VERACK | ✔️ | ✔️ | | 2 | PING | ✔️ | ✔️ | | 3 | PONG | ✔️ | ✔️ | | 4 | GETADDR | ✔️ | ✔️ | | 5 | ADDR | ✔️ | ✔️ | | 6 | INV | ✔️ | ✔️ | | 7 | GETDATA | ✔️ | ✔️ | | 8 | NOTFOUND | ✔️ | | | 9 | GETBLOCKS | ✔️ | ✔️ | | 10 | GETHEADERS | ✔️ | ✔️ | | 11 | HEADERS | ✔️ | ✔️ | | 12 | SENDHEADERS | ✔️ | ✔️ | | 13 | BLOCK | ✔️ | ✔️ | | 14 | TX | ✔️ | ✔️ | | 15 | REJECT | ✔️ | ✔️ | | 16 | MEMPOOL | ✔️ | | | 17 | FILTERLOAD | ✔️ | ✔️ | | 18 | FILTERADD | ✔️ | | | 19 | FILTERCLEAR | ✔️ | | | 20 | MERKLEBLOCK | ✔️ | ✔️ | | 21 | FEEFILTER | ✔️ | | | 22 | SENDCMPCT | ✔️ | ✔️ | | 23 | CMPCTBLOCK | ✔️ | ✔️ | | 24 | GETBLOCKTXN | ✔️ | ✔️ | | 25 | BLOCKTXN | ✔️ | ✔️ | | 26 | GETPROOF | ✔️ | ✔️ | | 27 | PROOF | ✔️ | ✔️ | | 28 | CLAIM | ✔️ | | | 29 | AIRDROP | ✔️ | ✔️ | | 30 | UNKNOWN | ✔️ | | ## 安装 只需将此仓库克隆到 Wireshark 的插件目录。 **请确保目录名为 `handshake`,而不是其他名称。** ``` cd ~/.local/lib/wireshark/plugins/ git clone https://github.com/htools-org/wireshark-handshake-protocol handshake ``` 然后,重启 Wireshark 或重新加载插件(`Ctrl` + `Shift` + `L`)。 大功告成! ## 用法/示例 安装完成后,Handshake 数据包将被自动解码。 **Packet Details**(数据包详情)面板将包含一个名为 **Handshake Protocol Data** 的新树。展开它以探索该数据包。 一些实用的显示过滤器: ``` // Filter by a specific packet type handshake && handshake.type == 0; // [add more] ``` ## 贡献 随时欢迎贡献! 为了保持代码整洁,每种数据包类型都有其独立的文件,并且大部分都有注释。 如果您计划添加新类型,一个好的起点是复制 `packet_version.lua` 并替换其中的 `name`、`type`、`fields` 和 `parse`。 记得在 `handshake.lua` 中添加新类型! ## 反馈 如果有任何缺失的内容或需要更多信息,请随时[创建新 issue](https://github.com/htools-org/wireshark-handshake-protocol/issues/new)。 ## 许可证 [MIT](https://choosealicense.com/licenses/mit/) ## 致谢 - [Bitcoin 协议文档](https://en.bitcoin.it/wiki/Protocol_documentation) - [hsd codebase](https://github.com/handshake-org/hsd/blob/2d1cbe9c17b0ad4e8858c06a8f85625dbee35ba9/lib/net/packets.js) - [使用 Lua 创建 Wireshark 解析器](https://mika-s.github.io/wireshark/lua/dissector/2017/11/04/creating-a-wireshark-dissector-in-lua-1.html)
标签:DNS枚举, Handshake 协议, HNS, Lua, PCAP, rizin, Wireshark, 区块链, 句柄查看, 开发库, 开源, 插件, 数据包解析, 网络协议分析, 网络安全工具, 网络抓包, 解压器