Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

Wireshark 开发

本页是 Wireshark Wiki 中“开发”主题的中文入口页,用来帮助读者快速判断:从哪里搭建开发环境、从哪里了解补丁提交流程、哪些页面属于历史项目或内部架构讨论。

项目说明
用途汇总 Wireshark 开发相关页面,按入门、通用资料、开发流程、项目和工具分类导航。
适用场景准备参与 Wireshark 开发、阅读旧 Wiki 项目资料、查找 dissector、构建、测试或发布相关线索。
易混点这里很多条目来自 2020 年导入的历史 Wiki;项目状态、工具名称和流程可能已经变化。要提交真实补丁时,应以当前 Wireshark Developer's Guide、源码仓库和 GitLab 页面为准。

新参与者先看什么

步骤建议阅读原页面要点
获取源代码Wireshark 开发网页从官方开发页面获取源码。
搭建 Windows 环境Developer's Guide原文指出 Developer's Guide 对 Microsoft Windows 开发环境设置很有价值。
搭建 Unix-like 环境源码根目录 README.xxx按目标平台阅读相应 README 文件。
安装依赖Developer's Guide 的 Library 参考区分必要依赖和可选外部依赖。
开始写代码doc/README.developer 与源码 documentation 目录原文特别提醒:写任何 Wireshark 代码前,应阅读并理解 “Portability” 和 “Robustness” 章节。
理解真实实现Wireshark 源码本身Wiki 只做入口,细节仍要回到源码。

通用资料

主题用途备注
Wireshark documentation webpage获取最新版 User's Guide 和 Developer's Guide,可有 PDF、HTML 等格式。适合查正式文档。
LifeCycle查看 Wireshark 发布版本生命周期。版本支持边界相关。
Roadmap查看即将发布版本的路线图。计划信息可能随时间变化。
Development/Wishlist内部功能和架构变更愿望清单。与面向用户功能的 WishList 不同。
SendingFilesToWireshark向 Wireshark 邮件列表发送文件的提示。邮件协作相关。
Translations解释为什么把 Wireshark 翻译成 spanish/german 等语言并不是好主意。原 Wiki 的历史观点。
Contributions用户创建的脚本、宏、着色规则和其他插件。社区贡献资源入口。

开发流程与代码质量

主题用途备注
Creating Patches提交补丁前创建补丁的提示。偏补丁准备。
Development/SubmittingPatches使用 Git 和 GitLab 提交并审查补丁的说明。页面本身保留从 Gerrit 迁移到 GitLab 的历史边界。
Secure Programming编写更安全代码,例如替换不安全的 ANSI-C 调用。安全编码入口。
Common ProblemsWireshark 开发中的常见问题。排错入口。
Tips开发和调试经验。实用技巧入口。
Libpcap File Formatlibpcap 文件格式说明。文件格式相关。
Canary用 canary 查找并修复越界写入、越界前写入。内存问题调试相关。
Support library version tracking跟踪各 OS 发行版随附的库版本。构建依赖相关。
Windows LibrariesWindows 库如何构建及更新。Windows 维护流程相关。
Binary Compatibility说明版本之间不保证二进制兼容性。ABI 预期相关。

字符编码与非 C dissector

分类条目用途
字符编码Character encodings说明 Wireshark 及运行系统中使用的字符编码。
字符编码Platform string encoding处理文件名、环境变量等非数据包字符串中的非 UTF-8 内容。
非 C dissectorLua使用可扩展语言扩展 Wireshark。
非 C dissectorGeneric dissector无需写代码即可在 Wireshark 中清晰显示数据,原文给出地址 http://wsgd.free.fr/。
非 C dissectorpyreshark用 Python 编写 dissector 的 Wireshark 插件接口。

项目与历史设计想法

这些条目多为历史 Wiki 页面,适合了解当时的设计方向,不应直接视为当前项目状态。

状态条目原页面说明
设计想法Wiretap Pcapng修改 wiretap 以支持 pcapng。
设计想法High Speed Capturing高速捕获改进。
设计想法Decryption Block定义 pcapng 解密块,并在文件中保存解密信息。
设计想法Preference Block定义 pcapng 块,用于存储查看文件所需的首选项设置。
设计想法Privacy Settings添加隐私设置,决定在 pcapng 文件中保存哪些内容。
设计想法Reduce memory footprint查找内存占用大户并降低内存使用量。
进行中Custom Columnfication将预定义列迁移为自定义列。
进行中Privilege Separation为 Wireshark 添加权限分离的提案。
进行中MateMeta Analysis and Tracing Engine。
进行中Security使 Wireshark 更安全的工作。
进行中Packet Input用“非常规”方式将数据包数据导入 Wireshark。
进行中String handling in dissectorsdissector 中字符串处理、编码支持和无效字符串处理。
进行中Optimize PacketList优化大型捕获文件中的数据包列表。
进行中CSV ExportCSV 导出格式和问题。
进行中Multithreading多线程所需事项。
进行中SNMP重新设计 OID 处理和 SNMP dissector。
进行中Optimization加快 Wireshark 的补丁,原文提示可能略有问题。
进行中Fast Filtering交互式快速数据包过滤补丁。
进行中Pcapng读取和写入 PCAP Next Generation Dump File Format。
进行中Python使用 Python 扩展 Wireshark。
进行中SharkTools提供 matshark 和 pyshark,将 Wireshark 数据包解析引擎集成到 Matlab 和 Python。
已完成DropWin32GTK1在 Win32 上放弃 GTK1 支持的想法。
已完成Patch Handling修改补丁处理策略。
已完成Examples示例文件,供安装程序用作默认文件。
已完成Replace Deprecated Gtk and GLib Function Usage替换已弃用的 GTK 和 GLib 函数用法。
已完成Going GTK3准备从 GTK+ 2 迁移到 GTK+ 3。
已完成QtShark基于 Qt 的 Wireshark 版本。
已完成sharkd通过程序化接口提供 Wireshark 能力。
已完成Update定期检查版本并更新 Wireshark。

工具入口

工具用途
Asn2wrs使用 ASN.1 编译器创建 dissector。
WiresharkEnvCmd旧版 1.12.x 或更早版本中用于设置 Windows 开发环境变量的批处理脚本。
idl2wrsCORBA IDL 到 Wireshark Plugin Generator 的工具。
Fuzz Testing对协议 dissector 进行压力测试。
Pidl基于 Perl 的 DCE/RPC IDL 编译器,也是 Wireshark dissector 生成器,为 Samba 4 开发。
/CodeCoverage检查代码被测试用例覆盖的比例。
/SourceMovie生成代码仓库历史影片。

来源边界

Imported from https://wiki.wireshark.org/Development on 2020-08-11 23:12:38 UTC

相关 Wireshark Wiki 页面

网络分析技术档案