当前位置: 首页 > 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;…...

Netty 入门学习

前言 学习Spark源码绕不开通信&#xff0c;Spark通信是基于Netty实现的&#xff0c;所以先简单学习总结一下Netty。 Spark 通信历史 最开始: Akka Spark 1.3&#xff1a; 开始引入Netty&#xff0c;为了解决大块数据&#xff08;如Shuffle&#xff09;的传输问题 Spark 1.6&…...

Magentic-One、AutoGen、LangGraph、CrewAI 或 OpenAI Swarm:哪种多 AI 代理框架最好?

目录 一、说明 二、 AutoGen-自动生成&#xff08;微软&#xff09; 2.1 特征 2.2 局限性 三、 CrewAI 3.1 特征 3.2 限制&#xff1a; 四、LangGraph 4.1 特征&#xff1a; 4.2 限制&#xff1a; 五、OpenAI Swarm 5.1 特征 5.2 限制 六、Magentic-One 6.1 特征 6.2 限制 七、…...

openstack下如何生成centos9 centos10 和Ubuntu24 镜像

如何生成一个centos 10和centos 9 的镜像1. 下载 对应的版本 wget https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2 wget https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-Gener…...

Kivy App开发之UX控件Slider滑块

在app中可能会调节如音量,亮度等,可以使用Slider来实现,该控件调用方便,兼容性好,滑动平稳。在一些参数设置中,也可以用来调整数值。 支持水平和垂直方向,可以设置默认值,最小及最大值。 使用方法,需用引入Slider类,通过Slider类生成一个滑块并设置相关的样式后,再…...

CSS——22.静态伪类(伪类是选择不同元素状态)

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>静态伪类</title> </head><body><a href"#">我爱学习</a></body> </html>单击链接前的样式 左键单击&#xff08;且…...

python学opencv|读取图像(三十)使用cv2.getAffineTransform()函数倾斜拉伸图像

【1】引言 前序已经学习了如何平移和旋转缩放图像&#xff0c;相关文章链接为&#xff1a; python学opencv|读取图像&#xff08;二十七&#xff09;使用cv2.warpAffine&#xff08;&#xff09;函数平移图像-CSDN博客 python学opencv|读取图像&#xff08;二十八&#xff0…...

Unity3D中基于ILRuntime的组件化开发详解

前言 在Unity3D开发中&#xff0c;组件化开发是一种高效且灵活的软件架构方式。通过将游戏功能拆分为独立的、可重用的组件&#xff0c;开发者可以更容易地管理、扩展和维护代码。而ILRuntime作为一款基于C#的热更新框架&#xff0c;为Unity3D开发者提供了一种高效的热更新和组…...

ELK的搭建

ELK elk&#xff1a;elasticsearch logstatsh kibana统一日志收集系统 elasticsearch&#xff1a;分布式的全文索引引擎点非关系型数据库,存储所有的日志信息&#xff0c;主和从&#xff0c;最少需要2台 logstatsh&#xff1a;动态的从各种指定的数据源&#xff0c;获取数据…...

国产信创实践(国能磐石服务器操作系统CEOS +东方通TongHttpServer)

替换介绍&#xff1a; 国能磐石服务器操作系统CEOS 对标 Linux 服务器操作系统&#xff08;Ubuntu, CentOS&#xff09; 东方通TongHttpServer 对标 Nginx 负载均衡Web服务器 第一步&#xff1a; 服务器安装CEOS映像文件&#xff0c;可直接安装&#xff0c;本文采用使用VMware …...

C#里使用libxl读取EXCEL文件里的图片并保存出来

有时候需要读取EXCEL里的图片文件, 因为很多用户喜欢使用图片保存在EXCEL里,比如用户保存一些现场整改的图片。 如果需要把这些图片抽取出来,再保存到系统里,就需要读取这些图片数据,生成合适的文件再保存。 在libxl里也提供了这样的方法, 如下: var picType = boo…...

可上传多个视频的网站建设/怎么找专业的营销团队

1、Struts2是类级别的拦截&#xff0c; 一个类对应一个request上下文&#xff0c;SpringMVC是方法级别的拦截&#xff0c;一个方法对应一个request上下文&#xff0c;而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费…...

wap网站有哪些/深圳全网推互联科技有限公司

https://segmentfault.com/a/1190000013822385转载于:https://www.cnblogs.com/EricZ-Blog/p/10817168.html...

武汉微信网站建设/千锋教育的口碑怎么样

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼printf("------------------------------------------------------------------------\n");}//列出菜单void List(){printf("------------------------------------------------------------------------\n");…...

广州市委/整站优化 mail

题目&#xff1a;原题链接&#xff08;困难&#xff09; 标签&#xff1a;树、二叉树、二叉搜索树 解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)476ms (42.39%)Ans 2 (Python)Ans 3 (Python) 解法一&#xff1a; class Solution:def __init__(s…...

网站友情链接模板/在线生成网页网站

Web端自动化元素定位方法 随着互联网的快速发展&#xff0c;版本迭代周期越来越短&#xff1f;需求越来越多&#xff1f;测试工作量越来越大&#xff1f;怎么保证质量&#xff1f;怎么保证上线周期&#xff1f;。如何实现既提高测试效率和覆盖率&#xff0c;又节约测试成本&…...

湖北建筑网/潍坊seo按天收费

女朋友找我斗图&#xff0c;最后斗她到自闭。 网址&#xff1a;https://www.doutula.com/ 难度不大&#xff0c;代码如下&#xff1a; # -*- coding: utf-8 -*-import random import requests from bs4 import BeautifulSoup import urllib import osBASE_URL https://www.…...