Wireshark编译手册(Windows)
以下是对 Wireshark 官方文档中“Windows 平台的设置和构建说明”部分的翻译和总结:
2.2. Windows 平台
本节提供了在 Windows 上进行 Wireshark 开发的快速设置指南,包含推荐的配置。
2.2.1. 使用 Microsoft Visual Studio
注意:除非您非常了解自己在做什么,否则应严格遵循以下建议。这些配置已被验证可行。如果构建过程中出现问题,请仔细重新阅读本指南。
常见问题包括:
- 未使用正确版本的 Visual Studio 命令提示符(x64 或 arm64)。
- 使用了不受支持的 Windows 版本。请在 Microsoft 官方支持页面 确认您的 Windows 版本受支持并已更新。
2.2.1.1. 推荐:安装 Chocolatey
Chocolatey 是 Windows 的本地包管理器。以下大部分软件都可以通过它安装。您可以使用 choco install
命令安装所需软件,例如:
# 安装 Flex
choco install -y winflexbison3
# 安装 Git、CMake、Python 等
choco install -y git cmake python3
2.2.1.2. 安装 Microsoft Visual Studio
下载并安装 Microsoft Visual Studio 2022 Community Edition。如果您愿意,也可以选择 Microsoft Visual Studio 2019 Community Edition。以下示例基于 Visual Studio 2022,但也可适用于 Visual Studio 2019。
在安装过程中,选择“使用 C++ 的桌面开发”工作负载,并确保以下组件被选中:
- MSVC 最新版本的构建工具
- Windows 11 SDK
- 适用于 Windows 的 C++ CMake 工具
- MSVC 的 Spectre 缓解库(可选)
您也可以使用 Chocolatey 安装 Visual Studio 及其工作负载:
choco install -y visualstudio2022community visualstudio2022-workload-nativedesktop
虽然可以使用其他版本的 Microsoft C 编译器,但官方的 Wireshark Windows 开发版本是使用 Visual Studio 2022 构建的,因此推荐使用该版本。
注意:您可能需要以管理员身份执行上述操作。
虽然可能使用 clang-cl 构建 Wireshark,但尚未经过测试。使用纯粹的 gcc 或 Clang 编译器在 Windows 上构建 Wireshark 并不推荐,且可能无法成功(除非进行大量高级调整)。
推荐理由:虽然下载量较大,但 Visual Studio Community Edition 是免费的,并包含集成调试器。此外,官方的 Wireshark Windows 版本也是使用 Visual Studio 2022 构建的,因此在开发过程中可能遇到的问题会更少。
2.2.1.3. 安装 Qt
Wireshark 主应用程序使用 Qt 窗口工具包。要安装 Qt,请访问 Qt 官方下载页面,选择“Download open source”,然后下载适用于 Windows 的在线安装程序。运行安装程序,注册或登录后,选择“自定义安装”。
在“选择组件”页面,选择您需要的 Qt 版本。我们推荐最新的 LTS 版本,当前稳定的 Windows 安装程序包含 Qt 6.5.3。请确保选中以下组件:
- MSVC 2019 64-bit
- Qt 5 兼容模块
- Qt 调试信息文件(包含可用于调试的 PDB 文件)
- 在“附加库”下,选择“Qt Multimedia”以支持在 RTP 播放器对话框中播放流的高级控制
其他组件(如“Qt Charts”或“Android xxxx”)可取消选择,因为它们不是必需的。
CMake 变量 CMAKE_PREFIX_PATH
应设置为您的 Qt 安装目录,例如 C:\Qt\6.5.3\msvc2019_64
。或者,您也可以使用环境变量 WIRESHARK_QT6_PREFIX_PATH
。
Qt 6 是构建 Wireshark 的默认选项,但 Wireshark 也支持 Qt 5.12 及更高版本。若需使用 Qt 5 构建 Wireshark,请在运行 cmake 时添加参数 -DUSE_qt6=OFF
。
2.2.1.4. 安装 Win64 开发工具包
Wireshark 的构建需要 64 位版本的开发工具包。
确保在 Visual Studio 安装过程中选择了适用于 64 位的工具集。
如果未选择,可能需要重新运行安装程序进行修改。
2.2.1.5. 安装 Python
Wireshark 的构建过程需要 Python。
建议安装最新的 Python 3 版本。
可以从 Python 官方网站 下载适用于 Windows 的安装程序。
安装时,确保选中“Add Python to PATH”选项,以便在命令行中直接使用 python
命令。
2.2.1.6. 安装 CMake
CMake 是一个跨平台的构建系统,Wireshark 使用它来管理构建过程。
可以从 CMake 官方网站 下载适用于 Windows 的安装程序。
安装完成后,确保在命令行中可以访问 cmake
命令。
2.2.1.7. 安装 Git
Wireshark 的源代码通过 Git 进行版本控制。
可以从 Git 官方网站 下载适用于 Windows 的安装程序。
安装完成后,确保在命令行中可以使用 git
命令。
2.2.1.8. 获取 Wireshark 源代码
打开命令提示符,使用以下命令克隆 Wireshark 的源代码仓库:
git clone https://gitlab.com/wireshark/wireshark.git
这将创建一个名为 wireshark
的目录,包含所有源代码。
2.2.1.9. 配置构建环境
在命令提示符中,导航到 Wireshark 源代码目录,然后创建一个构建目录并进入该目录:
cd wireshark
mkdir build
cd build
使用 CMake 配置构建环境:
cmake -G "Visual Studio 17 2022" -A x64 ..
这将生成适用于 Visual Studio 2022 的 64 位构建文件。
2.2.1.10. 构建 Wireshark
在命令提示符中,运行以下命令开始构建:
msbuild /m /p:Configuration=RelWithDebInfo Wireshark.sln
这将以包含调试信息的发布模式构建 Wireshark。
2.2.1.11. 运行 Wireshark
构建完成后,生成的可执行文件位于 run\RelWithDebInfo
目录中。
您可以直接运行 wireshark.exe
来启动应用程序。