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

构建和安装

本页保留 Wireshark 旧 Wiki 中关于构建和安装的历史线索。它更适合作为“为什么某些旧平台会构建失败”的参考,不适合作为当前版本 Wireshark 的安装指南。

你真正想做什么当前建议本页价值
安装 Wireshark 使用优先下载官方安装包或系统包管理器版本本页只提供历史背景。
从源码构建当前 Wireshark优先阅读当前 Wireshark Developer's Guide 和源码 README本页可帮助理解旧问题来源。
排查旧系统构建失败对照 Windows 2000、OpenBSD、Solaris、旧 Linux 条目注意版本极旧,不能直接照抄。
做嵌入式或轻量化 TShark先评估当前 TShark、dumpcap、editcap 等工具能力旧 lightweight patch 仅作历史线索。

重要提示

  • 原页面多数内容针对非常旧的 Wireshark、Ethereal、Windows 2000、OpenBSD 3.x/4.x、Solaris 7/8 和早期 Linux 发行版。
  • 真实构建前,应以当前 Wireshark Developer's Guide、源码根目录 README、平台专用文档和 CI 配置为准。
  • 页面中的旧 URL、SVN、Sunfreeware、GTK、Qt、Homebrew 依赖名称和补丁包可能已经失效或不再推荐。
  • 如果只是为了抓包分析,通常不需要从源码构建 Wireshark。

Windows 历史问题

原页面的 Windows 小节主要围绕 Windows 2000 和旧版开发工具链。

问题原页面经验当前阅读方式
工具链版本冲突确保使用 VS8 的 nmakecllink,而不是旧 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 历史线索

平台原页面要点
OpenBSD 3.8页面曾描述过在 OpenBSD 3.8 上构建 Wireshark 的方法,并希望未来形成 README.openbsd。
OpenBSD 4.1使用 gcc 3.3.5 构建存在问题,gcc 4.x 可工作。

这些条目只说明当时的构建经验,不代表当前 OpenBSD 上的 Wireshark 构建方式。

macOS 构建线索

原页面区分“不使用第三方软件包来源构建”和“使用 Homebrew 构建”。现在阅读时,重点应放在构建流程结构,而不是照抄依赖列表。

不使用第三方包管理器

旧流程大致是:

text
获取源码
运行 macosx-setup.sh 安装必要和可选依赖
mkdir build
cd build
cmake ../
make
./run/wireshark

使用 Homebrew

旧流程大致是:

text
安装 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 历史线索

原页面列出了 Solaris 上使用预编译包和从源代码构建的旧路径。核心经验是:预编译包方便,但可能缺少某些功能;源码构建需要显式准备编译器、libpcap、OpenSSL、zlib、make、sed 等依赖,并设置 PATH / LD_LIBRARY_PATH。

旧命令中多个 pkgaddexportconfigure 命令在原文中发生粘连,实际使用时必须拆成独立命令,并按当前平台替换软件包来源。

示意结构如下:

text
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

Linux 历史线索

原页面以 Red Hat Enterprise Linux、Fedora Core、CentOS 为例,说明发行版自带 Wireshark 可能落后于当前版本,因此有人会从 tar source tree 构建。

当时的 net-snmp / ucd-snmp 头文件问题可用以下思路绕过:

text
./configure --without-net-snmp --without-ucd-snmp

或在许可和依赖允许时启用 SSL:

text
./configure --with-ssl

这些参数来自旧版构建系统。当前 Wireshark 已使用现代 CMake 构建流程,不能直接照搬。

轻量级 TShark

Wireshark 和 TShark 支持大量协议,因此在嵌入式环境中可能显得庞大。原页面提到早期 lightweight patch 会在 TShark 中禁用大量 dissector,使体积缩小约 75%。

阅读这一段时,应把它理解为历史需求:

需求当前更稳妥的思路
只做命令行分析先评估 TShark、dumpcap、editcap、mergecap、capinfos。
限制解析成本通过过滤、切片、关闭不必要解析、缩小输入文件来控制。
做嵌入式部署查看当前构建选项和发行版打包方式,不依赖旧 patch。

已知问题:C++ 预处理器与 libtool

原页面记录了一个旧 libtool 问题:虽然 Wireshark 不使用 C++,但 configure 可能检查 C++ preprocessor,并因为缺少 cc1plus 报错。

典型报错类似:

text
checking how to run the C++ preprocessor... /lib/cpp
configure: error: C++ preprocessor "/lib/cpp" fails sanity check

config.log 中可能出现:

text
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 目录或构建系统组件不一致。

讨论摘要

原页面后半部分是关于“这个页面是否应该存在、应该放在哪里、是否应链接官方文档”的讨论。可以概括为:

  • 有人认为首页上突出 BuildingAndInstalling 但内容很少,会误导用户。
  • 有人建议把它定位为“下载源码包后配置、构建、安装”的入口,而不是普通安装入口。
  • 开发者构建、普通用户安装和旧平台问题应分开处理。
  • 相关内容最终更适合进入 Wireshark FAQ、User's Guide、Developer's Guide 或源码 README。

来源边界

导入自 https://wiki.wireshark.org/BuildingAndInstalling,时间为 2020-08-11 23:11:40 UTC。此中文页重组了旧页面内容并补充了当前阅读警示;具体命令和依赖请以当前 Wireshark 官方文档为准。

相关 Wireshark Wiki 页面

网络分析技术档案