当前位置: 首页 > news >正文

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 来启动应用程序。

相关文章:

Wireshark编译手册(Windows)

以下是对 Wireshark 官方文档中“Windows 平台的设置和构建说明”部分的翻译和总结: 2.2. Windows 平台 本节提供了在 Windows 上进行 Wireshark 开发的快速设置指南,包含推荐的配置。 2.2.1. 使用 Microsoft Visual Studio 注意:除非您非…...

在高德地图上加载3DTilesLayer图层模型/天地瓦片

1. 引入必要的库 Three.js:一个用于创建和显示3D图形的JavaScript库。vuemap/three-layer:一个Vue插件,它允许你在高德地图中添加Three.js图层。vuemap/layer-3dtiles:一个用于处理3D Tiles格式数据的Vue插件,可以用来…...

深入浅出负载均衡:理解其原理并选择最适合你的实现方式

负载均衡是一种在多个计算资源(如服务器、CPU核心、网络链接等)之间分配工作负载的技术,旨在优化资源利用率、提高系统吞吐量和降低响应时间。负载均衡的实现方式多种多样,以下是几种常见的实现方式: 1. 硬件负载均衡&…...

STM32的存储结构

STM32F103 芯片是基于 ARM Cortex-M3 内核的微控制器,它集成了多种类型的存储器,每种存储器都有其特定的作用和存储对象。以下是关于 STM32F103 中 Flash、ROM 和 SRAM 的详细介绍: 1. Flash Memory (闪存) 作用:Flash 是非易失性…...

@SneakyThrows 注解详解

SneakyThrows 注解详解 1. 基本介绍 SneakyThrows 是 Lombok 提供的注解,用于简化异常处理,自动生成 try-catch 代码块,将检查型异常转换为非检查型异常。 2. 使用对比 2.1 传统写法 public String readFile(String path) {try {return …...

js监测页面可见性

监测切换页面 检测页面的可见性状态document.visibilityState:document.hiddenvisibilitychange 事件 js 检测页面切换至别的应用 检测页面的可见性状态 在JavaScript中,你可以使用Page Visibility API来检测页面的可见性状态。这个API提供了一组接口,允…...

Android wifi常见问题及分析

参考 Android Network/WiFi 那些事儿 前言 本文将讨论几个有意思的网络问题,同时介绍 Android 上常见WiFi 问题的分析思路。 网络基础Q & A 一. 网络分层缘由 分层想必大家很熟悉,是否想过为何需要这样分层? 网上大多都是介绍每一层…...

EFCore HasDefaultValueSql

今天小伙伴在代码中遇到了有关 HasDefaultValue 的疑问,这里整理澄清下... 在使用 Entity Framework Core (EFCore) 配置实体时,HasDefaultValue 方法会为数据库列设置一个默认值。该默认值的行为取决于以下条件: 1. 配置 HasDefaultValue 的…...

Win10微调大语言模型ChatGLM2-6B

在《Win10本地部署大语言模型ChatGLM2-6B-CSDN博客》基础上进行,官方文档在这里,参考了这篇文章 首先确保ChatGLM2-6B下的有ptuning AdvertiseGen下载地址1,地址2,文件中数据留几行 模型文件下载地址 (注意&#xff1…...

什么叫区块链?怎么保证区块链的安全性?

区块链(Blockchain)是一种分布式数据库或账本技术,它通过去中心化的方式记录交易或其他数据,并确保这些记录是安全、透明和不可篡改的。区块链最初是作为比特币(Bitcoin)加密货币的基础技术而被公众所知&am…...

一、智能体强化学习——强化学习基础

1.1 强化学习与深度学习的基本概念 1.1.1 强化学习的核心思想 什么是强化学习? 强化学习(Reinforcement Learning, RL):指在与环境(Environment)的反复交互中,智能体(Agent&#x…...

【DES加密】

什么是DES DES(Data Encryption Standard) 是一种对称加密算法。它的设计目标是提供高度的数据安全性和性能。 DES的概念 DES使用56位的密钥和64位的明文块进行加密。DES算法的分组大小是64位,因此,如果需要加密的明文长度不足64位,需要进…...

.NET中的框架和运行环境

在.NET生态系统中,框架和运行环境是两个不同的概念,它们各自扮演着重要的角色。 下面我将分别介绍.NET中的框架和运行环境,并解释它们之间的区别。 .NET 框架(Frameworks) 框架提供了一套预定义的类库、工具和服务&…...

探索微软 M365 安全:全方位守护数字世界

在当今这个科技呈井喷式飞速发展,数字化浪潮以汹涌澎湃、锐不可当之势席卷全球的时代,企业与个人仿若置身于一片浩瀚无垠、信息奔涌的海洋之中,尽情畅享着技术革新所带来的无穷无尽便利。然而,恰如平静海面下潜藏着暗礁与汹涌暗流,网络安全问题恰似隐匿在暗处、随时可能给…...

深入探索AI核心模型:CNN、RNN、GAN与Transformer

在人工智能的飞速发展中,众多深度学习模型和算法不断涌现,推动了许多领域的进步。特别是在图像识别、自然语言处理、生成建模等方向,AI模型的应用越来越广泛。本文将介绍几种最常用的AI模型,包括卷积神经网络(CNN&…...

Java - Http 通讯

Java - Http 通讯 PS&#xff1a; 1. Http 协议 POST | GET 请求&#xff1b; 2. 支持 报头、报文、参数 自定义配置&#xff1b; 3. GET 返回支持 String | Stream; 4. 相关依赖&#xff1a; <dependency><groupId>org.apache.httpcomponents</groupId><…...

C++ Qt练习项目 QChar功能测试

个人学习笔记 代码仓库 GitCode - 全球开发者的开源社区,开源代码托管平台 新建项目 设计UI 1、拖入group box去掉名字 2、拖入2个LineEdit 3、拖入两个Label 4、拖入两个PushButton 5、点栅格布局 1、拖入GroupBox 2、拖入4个PushButton 3、点栅格布局 1、拖入GroupBo…...

android 官网刷机和线刷

nexus、pixel可使用google官网线上刷机的方法。网址&#xff1a;https://flash.android.com/ 本文使用google线上刷机&#xff0c;将Android14 刷为Android12 以下是失败的线刷经历。 准备工作 下载升级包。https://developers.google.com/android/images?hlzh-cn 注意&…...

二叉树层序遍历 Leetcode102.二叉树的层序遍历

二叉树的层序遍历相当于图论的广度优先搜索&#xff0c;用队列来实现 &#xff08;二叉树的递归遍历相当于图论的深度优先搜索&#xff09; 102.二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右…...

DELTA并联机械手视觉方案荣获2024年度机器人应用典型案例奖

直击现场 2025年1月9日晚&#xff0c;2024深圳市机器人年度评选颁奖典礼在深圳市南山区圣淘沙酒店正式拉开帷幕。本次颁奖活动由中国科学院深圳先进技术研究院指导&#xff0c;深圳市机器人协会与《机器人与智能系统》杂志组织承办。 正运动公司受邀参与此次典礼&#xff0c;…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...