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

Wireshark 学习笔记(二)

Wireshark 学习笔记 (二)

数据包操作

统计|摘要

统计

此菜单提供多种统计选项,可供调查,帮助用户了解流量范围、可用协议、端点和会话等宏观情况,以及一些特定协议的详细信息,如 DHCP、DNS 和 HTTP/2。

解析地址

此选项通过提供解析地址及其主机名的列表,帮助分析师识别捕获文件中可用的 IP 地址和 DNS 名称。请注意,主机名信息来自捕获文件中的 DNS 应答。
Wireshark - resolved addresses

协议分级

此选项将捕获文件中的所有可用协议分解,并帮助分析师根据数据包计数和百分比以树状视图查看协议。因此,分析师可以查看端口和服务的整体使用情况,并专注于感兴趣的事件。
Wireshark - protocol hierarchy

会话

对话表示两个特定端点之间的流量。此选项提供五种基本格式的对话列表;以太网、IPv4、IPv6、TCP 和 UDP。因此,分析师可以识别所有对话和事件中感兴趣的接触端点。 您可以使用 "统计 --> 对话" 菜单查看此信息。

Wireshark - conversations

端点

端点选项与会话选项类似。唯一的区别是此选项为单个信息字段(以太网、IPv4、IPv6、TCP 和 UDP)提供唯一信息。因此,分析师可以在捕获文件中识别唯一的端点,并将其用于感兴趣的事件。 您可以使用 "统计 --> 端点" 菜单查看此信息。

Wireshark 还支持将 MAC 地址解析为人类可读格式,使用 IEEE 分配的制造商名称。请注意,此转换通过 MAC 地址的前三个字节完成,并且仅适用于已知的制造商。在查看以太网端点时,您可以通过端点窗口左下角的 "名称解析" 按钮激活此选项。

Wireshark - endpoints

名称解析不仅限于 MAC 地址。Wireshark 还提供了 IP 和端口号名称解析选项。然而,这些选项默认情况下是禁用的。如果您想使用这些功能,需要通过"编辑 --> 首选项 --> 名称解析"菜单来启用它们。一旦您启用了 IP 和端口号名称解析,您将在数据包列表窗格中看到解析的 IP 地址和端口号,同时也能够在"会话"和"端点"菜单中查看解析的名称。

Wireshark - name resolution settings

端点菜单视图,包含名称解析:

Wireshark - name resolution view

除了名称解析外,Wireshark 还提供 IP 地理位置映射功能,帮助分析师识别源地址和目标地址。但此功能默认未启用,需要补充数据,如 GeoIP 数据库。目前,Wireshark 支持 MaxMind 数据库,最新版本的 Wireshark 已配置 MaxMind DB 解析器。然而,您仍需要 MaxMind DB 文件,并通过 "编辑 --> 首选项 --> 名称解析 --> MaxMind 数据库目录" 菜单向 Wireshark 提供数据库路径。下载并指定路径后,Wireshark 将自动在匹配的 IP 地址的 IP 协议详细信息下提供 GeoIP 信息。.

Wireshark - geoip details

端点与地理位置视图。

Wireshark - geoip map view

统计|协议详情

IPv4和IPv6

到目前为止,几乎所有选项都提供了包含两个版本 IP 地址的信息。统计菜单有两个选项用于缩小包含特定 IP 版本的统计信息。因此,分析师可以在单个窗口中识别并列出与特定 IP 版本相关联的所有事件,并使用它来查看感兴趣的事件。您可以使用 "统计 --> IPvX 统计" 菜单来查看这些信息。

Wireshark - ipv4 and ipv6 statistics

DNS

此选项将捕获文件中的所有 DNS 数据包分解,并帮助分析师根据数据包计数器和 DNS 协议的百分比在树形视图中查看结果。因此,分析师可以查看 DNS 服务的整体使用情况,包括 rcode、opcode、class、查询类型、服务以及查询统计信息,并使用它来查看感兴趣的事件。您可以使用 "统计 --> DNS" 菜单来查看这些信息。

Wireshark - dns statistics

HTTP

此选项将捕获文件中的所有 HTTP 数据包分解,并帮助分析师根据数据包计数器和 HTTP 协议的百分比以树状视图查看结果。因此,分析师可以查看 HTTP 服务的整体使用情况,包括请求和响应代码以及原始请求。您可以使用“统计 --> HTTP”菜单查看这些信息。

Wireshark - http statistics

数据包过滤|基本原理

数据包过滤

Wireshark 中有两种类型的过滤器。虽然它们使用相似的语法,但用于不同的目的。

捕获过滤器 这种类型的过滤器用于仅保存流量的一部分。它在捕获流量之前设置,并且在捕获过程中不可更改。
显示过滤器 这种类型的过滤器用于通过减少可见数据包的数量来调查数据包,并且在捕获过程中可以更改。

注意: 您不能在捕获流量时使用显示过滤器表达式,反之亦然。

捕获过滤器语法

这些过滤器使用字节偏移、十六进制值和掩码,并结合布尔运算符,初看时不容易理解/预测过滤器的目的。基础语法如下:

  • 范围(Scope): 主机、网络、端口和端口范围。
  • 方向(Direction): 源、目的、源或目的、源和目的,
  • 协议(Protocol): 以太网、无线、IP、IPv6、ARP、RARP、TCP 和 UDP。
  • 捕获端口 80 流量的示例过滤器:tcp port 80

您可以从这里和这里了解更多关于捕获过滤器语法的内容。快速参考可以在 "捕获 --> 捕获过滤器" 菜单下找到。

Wireshark - capture filters

显示过滤器语法

这是 Wireshark 最强大的功能。它支持 3000 种协议,并允许在协议分解下进行数据包级别的搜索。官方的“ 显示过滤器参考 ”提供了所有支持的协议分解,用于过滤。

  • 捕获端口 80 流量的示例过滤器:tcp.port == 80

Wireshark 具有一个内置选项(显示过滤器表达式),用于存储所有支持的协议结构,以帮助分析师创建显示过滤器。我们稍后将介绍“显示过滤器表达式”菜单。现在让我们了解显示过滤器操作的基础知识。快速参考可以在 "分析 --> 显示过滤器" 菜单下找到。

Wireshark - display filters

比较运算符

English C 语言风格 描述 示例
eq == 等于 ip.src == 10.10.10.100
ne != 不相等 ip.src != 10.10.10.100
gt > 大于 ip.ttl > 250
lt < 小于 ip.ttl < 10
ge >= 大于或等于 ip.ttl >= 0xFA
le <= 小于或等于 ip.ttl <= 0xA

注意: Wireshark 在过滤时支持十进制和十六进制值。你可以根据将要进行的搜索使用任何你想要的格式.

逻辑表达式

英文 C 语言风格 描述 示例
adn && 逻辑与 (ip.src == 10.10.10.100) AND (ip.src == 10.10.10.111)
or | 逻辑或 (ip.src == 10.10.10.100) OR (ip.src == 10.10.10.111)
not ! 逻辑非 !(ip.src == 10.10.10.222)注意: 使用 !=value 已不推荐;使用它可能导致结果不一致。建议使用 !(value) 样式以获得更一致的结果。

数据包过滤工具栏

过滤工具栏是您创建和应用显示过滤器的地方。它是一个智能工具栏,可以帮助您轻松创建有效的显示过滤器。在开始过滤数据包之前,这里有一些建议:

  • 数据包过滤器使用小写定义。
  • 数据包过滤器具有自动补全功能,用于分解协议细节,每个细节都由一个“点”表示。
  • 数据包过滤器具有以下的三色表示方法。
绿色 有效的过滤器
红色 无效的过滤器
黄色 警告过滤器。这个过滤器可以工作,但它不可靠,建议用有效的过滤器替换它。

Wireshark - filter colours

Wireshark - toolbar features

数据包过滤|协议过滤器

协议过滤器

Wireshark 支持 3000 种协议,并通过过滤协议字段来允许包级调查。

IP过滤器

IP 过滤器帮助分析师根据数据包的 IP 层信息(OSI 模型的网络层)来过滤流量。这是 Wireshark 中最常用的过滤器之一。这些过滤器会过滤网络级信息,如 IP 地址、版本、生存时间、服务类型、标志和校验和值。

常见的过滤器在给定的表格中显示。

过滤器 描述
ip 显示所有 IP 数据包。
ip.addr == 10.10.10.111 显示包含 IP 地址 10.10.10.111 的所有数据包。
ip.addr == 10.10.10.0/24 显示包含 10.10.10.0/24 子网中 IP 地址的所有数据包。
ip.src == 10.10.10.111 显示所有源自 10.10.10.111 的数据包
ip.dst == 10.10.10.111 显示所有发送到 10.10.10.111 的数据包
ip.addr vs ip.src/ip.dst 注意:ip.addr 过滤流量时不考虑数据包方向,而 ip.src/ip.dst 则根据数据包方向进行过滤。

Wireshark - ip filters

TCP和UDP过滤器

TCP 过滤器帮助分析师根据数据包中的协议级信息(OSI 模型的传输层)来过滤流量。这些过滤器会过滤传输协议级信息,如源端口和目标端口、序列号、确认号、窗口大小、时间戳、标志、长度和协议错误。

过滤器 描述 过滤器 表达式
tcp.port == 80 显示所有端口为 80 的 TCP 数据包 udp.port == 53 显示所有端口为 53 的 UDP 数据包
tcp.srcport == 1234 显示所有从端口 1234 发起的 TCP 数据包 udp.srcport == 1234 显示所有从端口 1234 发起的 UDP 数据包
tcp.dstport == 80 显示所有发送到端口 80 的 TCP 数据包 udp.dstport == 5353 显示所有发送到端口 5353 的 UDP 数据包

Wireshark - tcp and udp filters

应用层协议过滤器|HTTP和DNS

应用层协议过滤器帮助分析师根据数据包中的应用层协议信息(OSI 模型的第 4 层)过滤流量。这些过滤器根据协议类型过滤特定应用信息,如有效载荷和关联数据。

过滤器 描述 过滤器 描述
http 显示所有 HTTP 数据包 dns 显示所有 DNS 数据包
http.response.code == 200 显示所有包含 HTTP 响应码 "200" 的数据包 dns.flags.response == 0 显示所有 DNS 请求
http.request.method == "GET" 显示所有 HTTP GET 请求 dns.flags.response == 1 显示所有 DNS 响应
http.request.method == "POST" 显示所有 HTTP POST 请求 dns.qry.type == 1 显示所有 DNS "A" 记录

Wireshark - http and dns filters

显示过滤器表达式

如前所述,Wireshark 具有内置选项(显示过滤器表达式),用于存储所有支持的协议结构,以帮助分析师创建显示过滤器。当分析师无法回忆特定协议所需的过滤器,或不确定过滤器可分配的值时,显示过滤器表达式菜单提供了一个易于使用的显示过滤器构建指南。它位于“分析 --> 显示过滤器表达式”菜单下。

不可能记住每种协议的显示过滤器所有细节。每种协议可以有不同的字段,并且可以接受各种类型的值。显示过滤器表达式菜单显示了所有协议字段、接受的值类型(整数或字符串)以及预定义值(如果有)。请注意,掌握创建过滤器和学习协议过滤器字段需要时间和练习。

Wireshark - display filter expressions

高级过滤

过滤器:"contains"

过滤器 包含
类型 比较操作符
描述 在数据包中搜索值。它是区分大小写的,并提供与“查找”选项类似的功能,通过专注于特定字段。
示例 查找所有 "Apache" 服务器。
工作流程 列出所有 HTTP 数据包,其中数据包的 "服务器" 字段包含 "Apache" 关键字。
用法 http.server contains "Apache"

Wireshark - contains operator

过滤器:"匹配"

过滤器 matches
类型 比较操作符
描述 搜索正则表达式的模式。它不区分大小写,复杂的查询有误差范围。
示例 查找所有 .php 和 .html 页面。
工作流程 列出所有 HTTP 数据包,其中数据包的 "host" 字段匹配关键词 ".php" 或 ".html"。
使用 `http.host matches ".(php

Wireshark - matches operator

过滤器:"in"

过滤器 in
类型 设置成员资格
描述 在特定范围/范围内搜索某个值或字段。
示例 查找所有使用端口 80、443 或 8080 的数据包。
工作流程 列出所有 TCP 数据包,其中数据包的 "端口" 字段值为 80、443 或 8080。
使用 tcp.port in {80 443 8080}

Wireshark - in operator

过滤器:"upper"

过滤器 大写
类型 函数
描述 将字符串值转换为大写。
示例 查找所有 "APACHE" 服务器。
工作流程 将所有 HTTP 数据包的"服务器"字段转换为大写,并列出包含"APACHE"关键字的数据包。
使用 upper(http.server) contains "APACHE"

Wireshark - upper operator

过滤器:"lower"

过滤器 小写
类型 函数
描述 将字符串值转换为小写。
示例 查找所有 "apache" 服务器。
工作流程 将所有 HTTP 数据包的"服务器"字段信息转换为小写,并列出包含"apache"关键字的数据包。
使用 lower(http.server) contains "apache"

Wireshark - lower operator

过滤器:"string"

过滤器 字符串
类型 函数
描述 将非字符串值转换为字符串。
示例 查找所有奇数编号的帧。
工作流程 将所有“帧编号”字段转换为字符串值,并列出奇数编号的帧。
使用 string(frame.number) matches "[13579]$"

Wireshark - string operator

书签和过滤按钮

过滤器工具栏有一个过滤器书签部分,用于保存用户创建的过滤器,这有助于分析师通过几次点击重新使用喜欢的/复杂的过滤器。与书签类似,您可以创建过滤器按钮,只需单击一次即可应用。

创建和使用书签。

Wireshark - bookmarks and filtering buttons

创建和使用显示过滤器按钮。

Wireshark - creating a filter button

个人资料

Wireshark 是一款多功能工具,帮助分析师进行深入的数据包分析。正如我们在会议室中所讨论的,要分析特定感兴趣的事件,需要配置多个选项。每次调查案例都需要重新更改配置,这需要不同的着色规则和过滤按钮。这就是 Wireshark 配置文件发挥作用的地方。您可以为不同的调查案例创建多个配置文件,并按需使用。您可以使用 "编辑 --> 配置文件" 菜单或 "状态栏右下角 --> 配置文件" 部分来创建、修改和更改配置文件设置。

Wireshark - profiles

相关文章:

Wireshark 学习笔记(二)

Wireshark 学习笔记 (二) 数据包操作 统计|摘要 统计 此菜单提供多种统计选项,可供调查,帮助用户了解流量范围、可用协议、端点和会话等宏观情况,以及一些特定协议的详细信息,如 DHCP、DNS 和 HTTP/2。 解析地址 此选项通过提供解析地址及其主机名的列表,帮助分析师识别捕…...

鸿蒙应用开发从入门到实战(三):第一个鸿蒙应用

持续分享IT技术,帮你少走弯路。《鸿蒙应用开发从入门到项目实战》系列文章持续更新中。本文使用DevEco Studio创建应用,并使用预览、模拟器、真机三种方式进行调试。​ 大家好,我是潘Sir,持续分享IT技术,帮你少走弯路。《鸿蒙应用开发从入门到项目实战》系列文章持续更…...

Litctf2025 Write-up

逼逼叨 很难受啊,出去跑项目封闭管理,结果没打上,只能赛后复现了。 上班是真滴累 Web [LitCTF 2025]多重宇宙日记进来先随便注册个账户,说实话看到这样的题目第一眼怀疑二次注入、直接不想做登陆后发现可以设置主题语言之类的,随便试试无果查看页面源码摘出JS中的关键代码…...

DFS算法(递归)

DFS算法(递归) DFS(Depth-First Search,深度优先搜索)是一种用于遍历或搜索树、图等数据结构的算法。其核心思想是:沿着一条路径尽可能深入地探索,直到无法继续前进(遇到已访问节点或无未访问邻接节点),再回溯到上一个节点,选择另一条未探索的路径继续深入。所以可以…...

博客园出海记

在开篇中我们宣布了博客园出海计划的启航,出海航船选择了阿里云。第一件准备工作是在航船上组装集装箱 —— 搭建 Kubernetes 集群。出海根据地选在了阿里云新加坡机房,Kubernetes 集群用阿里云 ECS 自己搭建,没有使用阿里云容器服务 ACK。首先购买一台 ECS 用于部署 Contro…...

vue3 - pinia状态管理库

概念 Pinia 是 Vue 官方推荐的状态管理库,是 Vuex 的继任者(Vuex 作者同一人开发),专门为 Vue 3 设计,完全支持 Composition API 和 TypeScript。它简化了状态管理的流程,提供了更简洁的 API 和更好的开发体验。 核心特点简洁的 API 去掉了 Vuex 中的 mutation(突变),…...

做会议海报就是在淘汰老实人

还好有模板直接用!不仅节省更多时间,做出来的ppt,或是学术海报既清晰又美观,导师看了都说好! ppt和学术海报都是可直接编辑的哦!每张文件图片均获取网络,仅供学习与研究交流使用。支持原创! 感兴趣可直接无套路领取 【450+学术会议海报poster模板】+【600+学术汇报PPT模…...

ubuntu24.04安装mysql5.7.42

环境Os:ubuntu 24.04 desktop桌面版mysql:5.7.42 说明: a.ubuntu24下安装mysql 5.7 使用的依赖库 需要创建软连接指向新的依赖库.查看操作系统信息root@hxl-VirtualBox:/# uname -a Linux hxl-VirtualBox 6.14.0-29-generic #29~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Aug 14…...

易基因:Cell封面:中国科学家杨学勇/黄三文m6A-seq等揭示同义突变通过表观转录调控机制决定生物性状|顶刊突破

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 近日,中国农业科学院蔬菜花卉研究所杨学勇研究员、中国农业科学院深圳农业基因组所黄三文研究员和英国约翰英纳斯中心丁一倞研究员团队合作,以封面文章形式在顶刊《Cell》(细胞)上发表题为“Recessive epi…...

一文看懂Deepspeed:用ZeRO训练大模型原理解析及参数含义解释

实际训练中Deepspeed参数配置ZeRO各stage含义是什么,offload以及gradient checkpoint是如何起作用的,本篇基于ZeRO不同stage含义,以及实践时参数含义来阐述Deepspeed原理。 这几天在做大模型的微调,发现几乎所有都用到了deepspeed,这里给大家提供一个ChatGLM2在ptuning模式…...

AC-DC整流器双闭环控制MATLAB/Simulink仿真

AC-DC整流器双闭环控制系统的MATLAB/Simulink仿真程序,包含电压外环和电流内环控制。 这个仿真实现了一个三相PWM整流器的双闭环控制:电压外环:控制直流侧输出电压,提供电流内环的参考信号 电流内环:控制网侧电流,实现单位功率因数运行MATLAB:参数设置与仿真启动 % AC-D…...

新娘化妆 造型 美甲 护肤 资料合集

化妆的核心--眉妆 眉毛的结构认识眉毛主要由眉头眉峰眉尾眉头在鼻翼外侧到内眼角的垂直线上眉峰在眉头到眉尾的三分之二处, 是鼻翼外侧至人眼平视前方时外眼球的延长线上。眉腰眉头与眉峰中间称之为眉腰眉尾在鼻翼外侧到外眼角的 延长线上,或则嘴角到外眼角的延长线上。 标准…...

rabbitMQ-基础day1 - a

微服务一旦拆分,必然涉及到服务之间的相互调用,目前我们服务之间调用采用的都是基于OpenFeign的调用。这种调用中,调用者发起请求后需要等待服务提供者执行业务返回结果后,才能继续执行后面的业务。也就是说调用者在调用过程中处于阻塞状态,因此我们成这种调用方式为同步调…...

实用指南:Nginx反向代理与负载均衡部署

实用指南:Nginx反向代理与负载均衡部署pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !importa…...

C# Avalonia 13- MoreDrawing - BlurEffects

C# Avalonia 13- MoreDrawing - BlurEffectsBlurEffects.axaml代码<Window xmlns="https://github.com/avaloniaui"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xm…...

【IEEE出版】第三届算法、图像处理与机器视觉国际学术会议(AIPMV2025)

由江苏科技大学、江苏大学、中国图象图形学学会联合主办,江苏科技大学计算机学院、镇江市计算机学会承办,镇江市软件行业协会、AEIC学术交流中心协办的第三届算法、图像处理与机器视觉国际学术会议(AIPMV2025)将于2025年9月26日-28日在江苏镇江召开。【江苏科技大学、江苏大…...

C++ - 了解STL的数据容器

CSP考试用的STL内容也越来越多了,我们有必要详细了解一下。 常用容器array 静态数组(大小固定,) vector 矢量(动态数组,大小可变) string 字符串 stack 栈 queue 队列 set 集合 map 键值对array 静态数组 array是固定大小的序列容器,array中包含特定个数并且严格按照线…...

收费详情

套餐价格_真免费!导出采集结果无任何限制_后羿采集器 https://www.houyicaiji.com/?type=pricing个人免费版 ¥ 0永久免费,不要积分智能模式:智能识别列表和分页,一键采集 流程图模式:可视化操作,可以模拟人为操作 采集任务:100个任务 支持多任务同时运行,无数量限制,…...

bluetoothctl UUIDs

数据 bluetoothctl 中的抓取数据: [CHG] Device 66:55:44:33:22:11 UUIDs: 1beeffff-0000-1000-8000-00805f9b34fb [CHG] Device 66:55:44:33:22:11 UUIDs: 4af678c8-0000-1000-8000-00805f9b34fb [CHG] Device 66:55:44:33:22:11 UUIDs: 5a079046-0000-1000-8000-00805f9b34f…...

ANOLIS8安装配置ldap账号登录

sudo dnf install -y openldap-clients nss-pam-ldapd authconfig配置 nslcd​​ sudo vim /etc/nslcd.confuri ldap://your_ldap_server base dc=example,dc=com binddn cn=admin,dc=example,dc=com bindpw your_admin_password ssl no tls_cacertdir /etc/openldap/cacerts​…...

实用指南:小程序非主页面的数据动作关联主页面的数据刷新操作

实用指南:小程序非主页面的数据动作关联主页面的数据刷新操作pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New"…...

【光照】[光照模型]是什么?以UnityURP为例

【从UnityURP开始探索游戏渲染】专栏-直达核心定义 ‌光照模型‌是计算机图形学中用于模拟光线与物体表面相互作用的数学算法,它通过计算光能传播的物理特性,决定场景中每个像素的最终颜色值。其本质是求解‌光能传输方程‌的简化实现。 graph LR A[光源发射光子] --> B[与…...

从知识管理困境到高效协同:Gitee Wiki如何重塑研发团队的知识体系

从知识管理困境到高效协同:Gitee Wiki如何重塑研发团队的知识体系 在数字化转型浪潮中,知识管理已成为企业研发效能提升的关键瓶颈。许多技术团队都曾陷入"知识坟场"的困境——大量文档散落在不同平台,难以检索和维护,最终导致知识资产的价值流失。Gitee Wiki的出…...

cache和主存的映射方式

cache和主存的映射方式 全相联映射 主存块可以放在cache的任意位置 假设某个计算机的主存地址空间大小为256MB,按字节编址。 其数据cache有8个cache行,行长64B 由此可知,我们想要求出主存被分为多少块,就用256MB/64B =228/26=2^22 由于主存有28位,那么它就有22位用来表示主…...

PHP数组去重和集合有什么关系

PHP数组去重与集合:不止是简单的去重你可能会觉得PHP数组去重很简单,array_unique()不就搞定了吗? 但事情远没有那么简单。深入理解PHP数组去重,其实就触及到了集合论的一些核心概念,这能帮你写出更高效、更优雅的代码,避免一些常见的坑。这篇文章,咱们不玩虚的,直接深…...

kkFileView4.4.0 安装与使用

1、码云搜索kkfileview项目,下载项目源码(https://gitee.com/kekingcn/file-online-preview),或者直clone也可以,使用idea打开项目,使用maven加载项目所需要的依赖包2、使用maven进行打包 mvn package,然后 linux环境使用kkFileView.xx.tar.gz, windows使用kkFileView.…...

ubuntu22挂载windows server2019的共享文件夹

本文实现以下目标 1、win 2019 共享一个文件夹 2、ubuntu22访问win2019共享文件夹 ================== 在win2019文件上-右键-属性-共享 选择共享用户和密码。完成,此方法为20世界80年代的经典共享。今年2025年9月,建议寻找更好的共享方法,比如云盘、nas等等。在ubuntu22上…...

PHP数组去重适用于哪些场景

PHP数组去重:不止是array_unique()那么简单你可能觉得PHP数组去重很简单,array_unique()函数一用就完事了。但实际上,这只是冰山一角。 不同的场景下,对数组去重的需求和最佳方案大相径庭,盲目使用array_unique()可能会导致性能问题甚至结果错误。这篇文章,咱们就深入探讨…...

下载视频

1.下载ffmpeg放在电脑上,并设置成环境变量 2.下载yt-dlp,并设置成环境变量 3.下载脚本@echo off chcp 65001 >nul title YouTube Batch Downloader (Best Quality)setlocal enabledelayedexpansion:: 检查 yt-dlp.exe 是否存在 if not exist yt-dlp.exe (echo ERROR: yt-d…...

常用Linux配置

允许上下查看命令历史: vi ~/.bashrc添加 HISTFILESIZE=500 HISTSIZE=500 set -o history退出,输入 source ~/.bashrc 生效本文来自博客园,作者:mariocanfly,转载请注明原文链接:https://www.cnblogs.com/mariocanfly/p/19087376...

m1max可以装windows系统很卡吗

m1max可以装Windows系统很卡吗? 一、M1 Max芯片简介 M1 Max是苹果公司推出的一款高性能集成芯片,主要应用于MacBook Pro等高端产品中。它拥有强大的计算能力、图形处理能力和能效比,专为专业用户设计。M1 Max采用了先进的5纳米工艺制造,集成了高达10核的CPU、32核的GPU以及…...

1 | 移动语义:浅拷贝,深拷贝和引用拷贝,左值和右值

1、浅拷贝和深拷贝(和引用拷贝) ​ 浅拷贝&深拷贝&引用拷贝?浅拷贝就是把表面的数据都拷贝一遍,但是指针指向的地址不会被拷贝。深拷贝就是所有的全部拷贝一遍。引用拷贝就是换个名字,指向的地址还是和原来一样。 2、左值和右值(和右值引用) ​ 左值就是有具体…...

macbook air和windows系统区别

如何选择:MacBook Air与Windows系统的区别 一、引言 在当今这个数字化时代,个人电脑已经成为我们工作、学习和娱乐不可或缺的工具。面对市场上琳琅满目的电脑产品,如何选择一款适合自己的设备成为许多人关心的问题。其中,MacBook Air 和搭载 Windows 系统的电脑是两大主流选…...

Gitee:国产代码托管的领军者,助力企业应对CODING停服挑战

Gitee:国产代码托管的领军者,助力企业应对CODING停服挑战 在数字化转型浪潮中,软件开发效率成为企业核心竞争力的关键。近日,腾讯云旗下CODING DevOps系列产品宣布将于2028年9月30日全面停止服务,这一消息在开发者社区引发广泛关注。作为国产代码托管平台的标杆,Gitee凭借…...

锂电池外围均衡电路仿真

面对当前严峻的能源危机、环境污染等问题,开发研究电动汽车已成为汽车行业的主流方向,而目前高效稳定的动力电池是电动汽车研究领域的核心问题。因此,本项目研究电动汽车电池管理系统(BMS)的关键技术,探究准确估测电池的荷电状态(SOC)以及锂电池的外围均衡电路的设计方…...

Wireshark 学习笔记(一)

Wireshark 学习笔记 (一) 基础 图形界面和数据工具栏 主工具栏包含多个用于数据包嗅探和处理的菜单和快捷方式,包括过滤、排序、摘要、导出和合并。显示过滤栏 主要查询和过滤区域。近期文件 最近调查的文件列表。您可以通过双击调出列出的文件。捕获过滤器和接口 捕获过滤器以…...

ELF 文件结构与加载流程介绍

概述 ELF(Executable and Linkable Format)是一种在类 Unix 系统中广泛使用的文件格式,用于存储可执行文件、目标文件、共享库以及核心转储文件。它为操作系统提供了一种标准化的方式来表示程序的结构,使得操作系统能够正确加载、执行和调试程序。ELF 文件格式在 Linux 系统…...

灵码产品演示:Maven 示例工程生成

作者:轻眉 演示主题:由 AI 自动生成 0 到 1 的电商订单 Java 项目 演示目的 面向 Java 零基础的用户,通过灵码的产品能力(如提示词、编码智能体、项目 Rules 和 SQLite MCP 服务、单元测试)自动生成 0 到 1 的电商订单 Java 项目,使用 Maven 作为构建工具。 演示准备 1. …...

NocoBase 本周更新汇总:优化及缺陷修复

本周更新包括:邮件管理支持分批同步,工作流审批支持审批时退回到任意节点等。原文链接:https://www.nocobase.com/cn/blog/weekly-updates-20250912。 汇总一周产品更新日志,最新发布可以前往我们的博客查看。 NocoBase 目前更新包括的版本更新包括三个分支:main ,next和…...

CF1265E题解

题目。 设 $f_i$ 表示问完了前 $i-1$ 面镜子,还期望要多少天。 有 $f_i=p_i f_{i+1}+(1-p_i)f_1 +1,f_{n+1}=0$ ,答案即为 $f_1$ 。 将递推式变形,有 $f_i-f_1=p_i(f_{i+1}-f_1)+1$。 记 $g_i=f_i-f_1$,则 $g_i=p_i g_{i+1}+1,g_{i+1}=\frac{g_i-1}{p_i},g_1=f_1-f_1=0$。 …...

数组中的第K大元素

题目描述:给一个整数数组和一个正整数K,返回数组中第K大的元素。 思路1:堆排序(优先队列) 维护一个小顶堆,堆的大小限制为K,堆里面装的元素就是当前数组中前K大的元素。 这个思路非常简单,用STL的priority_queue直接就解决了,不需要过多阐述。 注意:priority_queue默…...

Gitee:本土开发者生态的崛起与数字化转型新范式

Gitee:本土开发者生态的崛起与数字化转型新范式 在数字经济加速发展的当下,代码托管平台已成为企业数字化转型的基础设施。作为国内领先的一站式DevOps平台,Gitee正通过其独特的本土化优势和技术创新,重塑着中国开发者的协作方式与效率标准。 Gitee的崛起并非偶然,而是中国…...

从本土化优势到全场景覆盖:Gitee如何重塑中国开发者的DevOps体验

从本土化优势到全场景覆盖:Gitee如何重塑中国开发者的DevOps体验 在数字化转型浪潮中,企业技术团队正面临前所未有的效率挑战。作为国内领先的代码托管与DevOps平台,Gitee通过深度适配本土生态的解决方案,正在重新定义中国企业的研发效能边界。最新数据显示,该平台已服务超…...

【2025-09-11】脆弱的睡眠

20:00日日行,不怕千万里。常常做,不怕千万事。——金缨《格言联璧》我发现现在每晚回到家,都要对着二宝的刷牙态度大吼几遍。她现在很不喜欢刷牙,各种借口,名种拖沓。我又想着能早点睡觉,有时不得不爆发点脾气,我知道对二宝是不起效的,但是累了一整天我也是没那个耐心去…...

即时通讯管理平台(后台管理)介绍文档

一、平台概述信贸通即时通讯管理平台(后台管理)是一款为企业及组织打造的全权限控制后台系统,旨在提供对用户、群组、消息及客户端配置的完全掌控能力。通过直观的操作界面与强大的底层架构,为业务运营提供坚实的数据支撑与高效的管理工具,助力企业实现内部沟通的安全化、…...

HC32F460串口重定向printf

HC32F460串口printf使用的是旧版官方库2.2.0,如果用的是新版库的话需修改,应该差不多 01 确认使用的引脚 需要通过F460数据手册的2.2章节【引脚功能表】确认引脚在功能组里,最后一列不为空的引脚就是可使用的根据分组自行确认使用的是UARTx02 初始化串口 通过官方的串口轮询…...

一个我很喜欢的故事

很久很久以前,有一位善良的少年。他的朋友被恶咒所噬,从此陷入了沉眠。 “你要寻找解开恶咒的方法,因为沉睡的人没有痛苦,但也无从感受到幸福。” 于是少年捡起勇气做出箭,抽出心脏做成枪。为了不被割裂开,穿上和朋友一样,石头所制的铠甲。 他背起石棺走在路上,脚下踩着…...

paraview将所有时间步下的数据导入到同一个文件中

[*********通义千问回答版本*********] 步骤如下:加载你的数据点击 File → Open 打开你的数据文件(如 .vtk, .vtu, .pvd, .h5, .nc 等支持多时间步的格式)。 确保时间信息已正确读取:在左上角的 "Pipeline Browser" 中选中你的数据源,查看 "Information&q…...

代码托管新视野:打造本土化研发协作平台,赋能企业敏捷开发新范式

Gitee:打造本土化研发协作平台,赋能企业敏捷开发新范式 在数字化转型的浪潮中,代码托管平台已成为现代企业研发效能的核心基础设施。作为国内领先的代码托管与协作平台,Gitee凭借其本土化优势与技术创新,正在重新定义企业级研发协作模式。该平台不仅解决了跨国平台在国内使…...

202312_DASCTF_找找找

snow雪花隐写,文件分离Tags:snow雪花隐写,文件分离 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202312_DASCTF_找找找的附件.zip 0x01. WP 01 十六进制编辑器查看文件 文件发现末尾有flag特征码,Base64解…...