Appearance
Appearance
本页保留 Wireshark 旧 Wiki 中关于构建和安装的历史线索。它更适合作为“为什么某些旧平台会构建失败”的参考,不适合作为当前版本 Wireshark 的安装指南。
| 你真正想做什么 | 当前建议 | 本页价值 |
|---|---|---|
| 安装 Wireshark 使用 | 优先下载官方安装包或系统包管理器版本 | 本页只提供历史背景。 |
| 从源码构建当前 Wireshark | 优先阅读当前 Wireshark Developer's Guide 和源码 README | 本页可帮助理解旧问题来源。 |
| 排查旧系统构建失败 | 对照 Windows 2000、OpenBSD、Solaris、旧 Linux 条目 | 注意版本极旧,不能直接照抄。 |
| 做嵌入式或轻量化 TShark | 先评估当前 TShark、dumpcap、editcap 等工具能力 | 旧 lightweight patch 仅作历史线索。 |
原页面的 Windows 小节主要围绕 Windows 2000 和旧版开发工具链。
| 问题 | 原页面经验 | 当前阅读方式 |
|---|---|---|
| 工具链版本冲突 | 确保使用 VS8 的 nmake、cl、link,而不是旧 SDK 中的版本。 | 现在应按 Developer's Guide 配置现代 Visual Studio / CMake 环境。 |
| shell 脚本换行 | 用 dos2unix win32-setup.sh 修复 $'\r' command not found。 | 仍可作为 Windows/Unix 换行问题的典型例子。 |
link.exe 被遮蔽 | 将 Cygwin path 放在 SDK 之后。 | 说明 PATH 顺序会影响构建工具解析。 |
tshark is not a valid win32 application | 不要运行旧 SDK 的 SetEnv.Cmd,安装 SDK 时选择注册环境。 | 仅适合旧 Windows/SDK 语境。 |
| 平台 | 原页面要点 |
|---|---|
| OpenBSD 3.8 | 页面曾描述过在 OpenBSD 3.8 上构建 Wireshark 的方法,并希望未来形成 README.openbsd。 |
| OpenBSD 4.1 | 使用 gcc 3.3.5 构建存在问题,gcc 4.x 可工作。 |
这些条目只说明当时的构建经验,不代表当前 OpenBSD 上的 Wireshark 构建方式。
原页面区分“不使用第三方软件包来源构建”和“使用 Homebrew 构建”。现在阅读时,重点应放在构建流程结构,而不是照抄依赖列表。
旧流程大致是:
获取源码
运行 macosx-setup.sh 安装必要和可选依赖
mkdir build
cd build
cmake ../
make
./run/wireshark旧流程大致是:
安装 Homebrew
brew install c-ares cmake glib gnutls lua qt5
export PATH=/usr/local/opt/qt5/bin:$PATH
获取源码
mkdir build
cd build
cmake ../
make
./run/wireshark当前 Homebrew 包名、Qt 版本、源码构建参数和 Apple 平台要求都可能已经变化,应以当前文档为准。
原页面列出了 Solaris 上使用预编译包和从源代码构建的旧路径。核心经验是:预编译包方便,但可能缺少某些功能;源码构建需要显式准备编译器、libpcap、OpenSSL、zlib、make、sed 等依赖,并设置 PATH / LD_LIBRARY_PATH。
旧命令中多个 pkgadd、export 和 configure 命令在原文中发生粘连,实际使用时必须拆成独立命令,并按当前平台替换软件包来源。
示意结构如下:
PATH=/usr/local/bin:/usr/bin:/usr/sbin:/usr/ccs/bin
export PATH
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
./configure --disable-gtk2 --with-ssl=/usr/local/ssl
make
make install原页面以 Red Hat Enterprise Linux、Fedora Core、CentOS 为例,说明发行版自带 Wireshark 可能落后于当前版本,因此有人会从 tar source tree 构建。
当时的 net-snmp / ucd-snmp 头文件问题可用以下思路绕过:
./configure --without-net-snmp --without-ucd-snmp或在许可和依赖允许时启用 SSL:
./configure --with-ssl这些参数来自旧版构建系统。当前 Wireshark 已使用现代 CMake 构建流程,不能直接照搬。
Wireshark 和 TShark 支持大量协议,因此在嵌入式环境中可能显得庞大。原页面提到早期 lightweight patch 会在 TShark 中禁用大量 dissector,使体积缩小约 75%。
阅读这一段时,应把它理解为历史需求:
| 需求 | 当前更稳妥的思路 |
|---|---|
| 只做命令行分析 | 先评估 TShark、dumpcap、editcap、mergecap、capinfos。 |
| 限制解析成本 | 通过过滤、切片、关闭不必要解析、缩小输入文件来控制。 |
| 做嵌入式部署 | 查看当前构建选项和发行版打包方式,不依赖旧 patch。 |
原页面记录了一个旧 libtool 问题:虽然 Wireshark 不使用 C++,但 configure 可能检查 C++ preprocessor,并因为缺少 cc1plus 报错。
典型报错类似:
checking how to run the C++ preprocessor... /lib/cpp
configure: error: C++ preprocessor "/lib/cpp" fails sanity checkconfig.log 中可能出现:
cpp: installation problem, cannot exec 'cc1plus': No such file or directory原页面说明这是 libtool 1.5 系列中的 bug,1.5.10 修复。若安装较新 libtool,还要注意 Automake / aclocal 目录可能仍引用旧 libtool.m4。
这段的价值在于提醒:构建失败不一定来自 Wireshark 源码本身,也可能来自工具链宏、PATH、aclocal 目录或构建系统组件不一致。
原页面后半部分是关于“这个页面是否应该存在、应该放在哪里、是否应链接官方文档”的讨论。可以概括为:
导入自 https://wiki.wireshark.org/BuildingAndInstalling,时间为 2020-08-11 23:11:40 UTC。此中文页重组了旧页面内容并补充了当前阅读警示;具体命令和依赖请以当前 Wireshark 官方文档为准。