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

Wireshark基本使用

本文会对Wireshark做简单介绍,带大家熟悉一下Wireshark的界面,以及如何使用过滤器。

接着会带大家查看TCP五层模型下,带大家回顾各层首部的格式。

最后会演示 Wireshark 如何抓取三次握手和四次挥手包的过程。

目录

一.Wireshark简介

二. 界面介绍

三. 过滤器

1. 捕获过滤器

2. 显示过滤器

四. 保存流量包

五. 协议数据包详解

1. 物理层

2. 数据链路层

3. 网络层

 4. 传输层

三次握手

四次挥手


一.Wireshark简介

大家可能之前用过 BurpSuite,Wireshark和它相比有哪些区别呢?

Burpsuite 只是抓的应用层数据包,而 Wireshark 七层网络模型都能抓。

不过Wireshark不是入侵检测系统,对于网络上的异常流量,Wireshark不会警示或提示。

且无法对流量包进行更改,只能查看流量包。

下载地址:Wireshark · Download


二. 界面介绍

共分为五大块:菜单栏,工具栏,显示过滤器,捕获过滤器和网卡模块。

显示过滤器是对抓到的包进行过滤;

捕获过滤器是提前设置好想抓的对象。

抓包界面也分三大块:

从上到下分别是数据包列表,数据包的详细信息和详细信息十六进制表示。

在编辑-首选项-外观,也可以按自己习惯修改布局。


三. 过滤器

功能列表不可能一一介绍完,这里介绍最重要的过滤器。

1. 捕获过滤器

前面说过,捕获过滤器是提前设置好捕获的对象

点击捕获-选项:

这里的混杂模式 是指不仅抓本机MAC地址的包,所有经过网卡的包都会捕获。

捕获过滤器就在下方的框内输入即可

比如想捕获端口为443的包:输入 port 443

还有很多选项,比如

地址:host、src、dst      协议:ip、tcp、http、ftp

如查找目的地址为本机且协议是tcp的包:dst 127.0.0.1 && tcp

这里再举些例子: 

src host 192.168.2.11 && dst port 80 #抓取源地址为192.168.2.11,并且目的端口为80
的流量
host 192.168.2.11 || host 192.168.2.22 #抓取192.168.2.11或者192.168.2.22的流量
数据
!broadcast #不抓取广播包
src ether host 98:1a:35:98:09:6f #抓取源mac地址为98:1a:35:98:09:6f的数据包

2. 显示过滤器

显示过滤器是对抓完的包再进行过滤

这里也列出一些例子:

http、tcp #按照协议搜索
ip.src_host=192.168.2.16 #src_host按照源ip地址进行搜索
ip.src_host=192.168.2.16 or ip.dst_host=192.168.2.1 # dst_host是目标主机ip地址
tcp.flags.ack == 0 and tcp.flags.syn == 1 # 这是过滤出,tcp请求中ack标记为0,syn标记为1的包
ip.addr=192.168.2.33 # 是要ip地址为192.168.2.33的全部展示出来,不管是目标地址还是源地址。
tcp.srcport == 443 # 源端口为443的数据包
not arp # 不获取arp数据
tcp.port == 443 # 过滤端口443的数据包

这里还有一种过滤器选择方法:

我们选择一项右击,选择作为过滤器应用,也可以进行显示过滤。


四. 保存流量包

比如我们想导出特定几个流量包,怎么导出呢?

选中我们要标记的包右键标记或者 Ctrl + M

再点击 文件 - 导出特定分组,选择最下面的 Marked packets only


五. 协议数据包详解

OSI 七层模型和 TCP/IP 五层模型相信大家并不陌生:

Wireshark 呈现出的方式是五层模型方式:

我们依次来看一下:

1. 物理层

2. 数据链路层

数据链路层抓的是以太网MAC帧,格式如下:

细心的同学会发现,为什么Wireshark这个没有FCS字段

因为 Wireshark 抓取的MAC帧直接丢掉了帧尾,默认丢弃了这个校验字段。

3. 网络层

IP层咱先回顾一下IP首部字段:

再来对比看一下:

 4. 传输层

传输层协议主要是TCP和UDP,我们这里先看TCP:

对应看下包:这里的1000就是数据偏移,保留位是 ....

数据偏移其实就是表示这个TCP的首部长度,以4B为单位,所以为32B

标志位字段展开就是六个标志

各个标志位的含义如下:

--------------------------------------------------------------------------------------------------------------------------------

下面演示三次握手和四次挥手的抓包过程:

三次握手

首先看下三次握手的过程图:

具体的三次握手细节可以看 湖科大计网

实验过程如下:

我们随便访问一个网站,通过 源地址、目标地址和info 能找到三次握手的包

也可以设置显示过滤器为 tcp.flags.syn == 1 进行查找

然后存储下来,我们来进行分析:

第一个包,开始时服务器端处于监听状态,客户端发送TCP连接请求报文段

并设置 seq=x,SYN=1,进入 SYN-SENT 状态

---------------------------------------------------------------------------------------------------------------------------------

第二个包,服务器端接收到后,向客户端发送确认消息

设置 SYN=1,ACK=1,seq=y,ack=x+1,并进入 SYN-RCVD 状态

---------------------------------------------------------------------------------------------------------------------------------

第三个包,客户端收到后,向服务器端发送TCP确认报文段表示收到

设置 ACK=1,seq=x+1,ack=y+1,进入 ESTABLISHED 状态

最后,服务器收到确认请求,就知道可以进行通信了,也进入 ESTABLISHED 状态。

四次挥手

四次挥手的过程图:

实验过程如下:

我们搜索 tcp.flags.fin == 1

搜到两条先标记,然后搜 tcp.flags,就能找到四次挥手的四个包了,标记保存。

第一个包,客户端向服务器发送FIN请求,并确认收到之前的数据

设置 FIN=1,ACK=1,seq=u,ack=v,并进入终止等待1状态

---------------------------------------------------------------------------------------------------------------------------------

第二个包, 服务器收到客户端的包,返回确认包

设置 ACK=1,seq=v,ack=u+1,服务器端进入关闭等待状态,客户端进入终止等待2状态

---------------------------------------------------------------------------------------------------------------------------------

第三个包,主要是为了防止第二包发完后,服务器端还有数据要发送给客户端

发送完后,服务器端也告知客户端自己要请求断开连接,并确认收到了之前的数据包

设置 FIN=1,ACK=1,seq=w,ack=u+1,服务器端进入最后确认状态

---------------------------------------------------------------------------------------------------------------------------------

第四个包,客户端确认收到服务器端的释放请求

设置 ACK=1,seq=u+1,ack=w+1,客户端进入时间等待状态,因为怕服务器端没收到这个确认包。客户端等待2MSL看服务器端是否会超时重传,没反应就进入关闭状态。

感谢你能看到这 o(* ̄▽ ̄*)ブ

相关文章:

Wireshark基本使用

本文会对Wireshark做简单介绍,带大家熟悉一下Wireshark的界面,以及如何使用过滤器。 接着会带大家查看TCP五层模型下,带大家回顾各层首部的格式。 最后会演示 Wireshark 如何抓取三次握手和四次挥手包的过程。 目录 一.Wireshark简介 二…...

学习c语言的链表的概念、操作(另一篇链表的笔记在其他的栏目先看这个)

在学习Linux之间我们先插入一下链表的知识 学习链表(一种数据结构思想) 链表和数组的区别和实现: 链表(链表是个好东西) 链表概念(什么是链表)? 链表就是数据结构->数据的存储…...

快速上手Pytorch Lighting框架 | 深度学习入门

快速上手Pytorch Lighting框架 | 深度学习入门 前言参考官方文档 介绍快速上手基本流程常用接口LightningModule\_\_init\_\_ & setup()\*\_step()configure_callbacks()configure_optimizers()load_from_checkpoint Trainer常用参数 可选接口LoggersTensorBoard Logger Ca…...

ffmpeg多媒体(音视频)处理常用命令

概览 总结一些音视频常用的ffmpeg处理命令,会不断更新,涉及一些重要命令,各位读者也可在评论区不断更新,维护起来,希望可以帮助大家快速解决问题! 1、音频相关 1.1 音频信息查看 ffmpeg -i test.wav 该命…...

QT中的网络请求

一、主程序&#xff08;main.cpp&#xff09; #include <QCoreApplication> #include <QNetworkAccessManager> #include <QNetworkReply> #include <QNetworkRequest> #include <QUrlQuery> #include <QJsonDocument> #include <QJso…...

Nacos源码—6.Nacos升级gRPC分析二

大纲 1.Nacos 2.x版本的一些变化 2.客户端升级gRPC发起服务注册 3.服务端进行服务注册时的处理 4.客户端服务发现和服务端处理服务订阅的源码分析 4.客户端服务发现和服务端处理服务订阅的源码分析 (1)Nacos客户端进行服务发现的源码 (2)Nacos服务端处理服务订阅请求的源…...

如何选择自己喜欢的cms

选择内容管理系统cms what is cms1.whatcms.org2.IsItWP.com4.Wappalyzer5.https://builtwith.com/6.https://w3techs.com/7. https://www.netcraft.com/8.onewebtool.com如何在不使用 CMS 检测器的情况下手动检测 CMS 结论 在开始构建自己的数字足迹之前&#xff0c;大多数人会…...

前端面经 作用域和作用域链

含义&#xff1a;JS中变量生效的区域 分类&#xff1a;全局作用域 或者 局部作用域 局部作用域&#xff1a;函数作用域 和 块级作用域ES6 全局作用域:在代码中任何地方都生效 函数中定义函数中生效&#xff0c;函数结束失效 块级作用域 使用let或const 声明 作用域链:JS查…...

开启智能Kubernetes管理新时代:kubectl-ai让操作更简单!

在如今的科技世界中,Kubernetes 已经成为容器编排领域的标杆,几乎所有现代应用的基础设施都离不开它。然而,面对复杂的集群管理和日常运维,许多开发者常常感到无所适从。今天,我们将为大家介绍一款结合了人工智能的强大工具——kubectl-ai。它不仅能帮助开发者更加顺畅地与…...

STM32 ADC

目录 ADC简介 逐次逼近型ADC STM32 ADC框图 输入通道 转换模式 •单次转换&#xff0c;非扫描模式 •连续转换&#xff0c;非扫描模式 •单次转换&#xff0c;扫描模式 •连续转换&#xff0c;扫描模式 触发控制 数据对齐 转换时间 校准 硬件电路 A…...

nextjs站点地图sitemap添加

app/sitemap.xml/route.ts (主站点地图索引) sitemap.xml 为文件夹名称 route.ts代码如下&#xff1a; import { NextResponse } from next/server; import { url } from /config/navigation; export async function GET() {// const entries generateMonthlyEntries();con…...

TCP/IP和OSI对比

​TCP/IP模型的实际特性 ​网络层&#xff08;IP层&#xff09;​ ​仅提供无连接的不可靠服务&#xff1a;TCP/IP模型的网络层核心协议是IP&#xff08;Internet Protocol&#xff09;&#xff0c;其设计是无连接且不可靠的。IP数据包独立传输&#xff0c;不保证顺序、不确认交…...

【hadoop】Hbase java api 案例

代码实现&#xff1a; HBaseConnection.java package com.peizheng.bigdata;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client…...

深入理解Spring缓存注解:@Cacheable与@CacheEvict

在现代应用程序开发中&#xff0c;缓存是提升系统性能的重要手段。Spring框架提供了一套简洁而强大的缓存抽象&#xff0c;其中Cacheable和CacheEvict是两个最常用的注解。本文将深入探讨这两个注解的工作原理、使用场景以及最佳实践。 1. Cacheable注解 基本概念 Cacheable…...

[git]如何关联本地分支和远程分支

主题 本文总结如何关联git本地分支和远程分支的相关知识点。 详情 查看本地分支 git branch 查看远程分支 git branch -r 查看所有分支(本地远程) git branch -a 查看本地分支及其关联的远程分支(如有) git branch -vv 关联本地分支到远程分支&#xff1a; git branch …...

Linux58 ssh服务配置 jumpserver 测试双网卡 为何不能ping通ip地址

判断为NAT模式网卡 能ping 通外网 ens34为仅主机模式网卡 [rootlocalhost network-scripts]# ip route show default default via 10.1.1.254 dev ens33 proto static metric 100 10.0.0.0/8 dev ens33 proto kernel scope link src 10.1.1.37 metric 100 11.0.0.0/8 dev…...

chart.js 柱状图Y轴数据设置起始值

事情的起因&#xff0c; 我以为是&#xff1a; chart.js 柱状图Y轴数据显示不全&#xff0c; 因为数据是浮点数&#xff0c; 换了整数测试还不行&#xff0c; 多次更换数据&#xff0c; 数据显示不全仍然存在&#xff0c; 而且是不固定位置的不显示。 直到相同数据换了折…...

算法题(142):木材加工

审题&#xff1a; 本题需要我们找到可以将木头切割至少k段的单段长度最长值 思路&#xff1a; 方法一&#xff1a;暴力解法 首先我们知道单段长度的最长值就是数组中数据的最大值max&#xff0c;所以我们可以遍历1~max的数据&#xff0c;将他们确定为l&#xff0c;然后计算出当…...

嵌入式学习--江协51单片机day3

今天学的东西挺多的&#xff0c;包括&#xff1a;自己设计的小应用&#xff0c;矩阵键盘&#xff0c;矩阵键盘密码锁&#xff0c;控制按键led流水灯&#xff0c;定时器时钟 &#xff08;那个视频真的煎熬&#xff0c;连续两个1小时的简直要命&#xff0c;那个时钟也是听的似懂…...

Linux命令行参数注入详解

本文主要聚焦 Linux 系统及其 ELF 二进制文件&#xff0c;深入探讨参数注入的原理与防范措施。 核心术语解析 在进入主题之前&#xff0c;我们先厘清几个关键术语&#xff0c;以确保理解的准确性&#xff1a; 参数解析器 当程序被调用时&#xff0c;操作系统会向程序的 main…...

【HCIP】----OSPF综合实验

实验题目 实验需求&#xff1a; 1&#xff0c;R5为ISP&#xff0c;其上只能配置IP地址&#xff1b;R4作为企业边界路由器&#xff0c; 出口公网地址需要通过PPP协议获取&#xff0c;并进行chap认证 2&#xff0c;整个OSPF环境IP基于172.16.0.0/16划分&#xff1b; 3&#xff0…...

C++模板笔记

Cpp模板笔记 文章目录 Cpp模板笔记1. 为什么要定义模板2. 模板的定义2.1 函数模板2.1.1 函数模板的重载2.1.2 头文件与实现文件形式&#xff08;重要&#xff09;2.1.3 模板的特化2.1.4 模板的参数类型2.1.5 成员函数模板2.1.6 使用模板的规则 2.2 类模板2.3 可变参数模板 模板…...

二极管的动态特性

主要内容 二极管的单向导电特性并不十分理想&#xff0c;这是因为二极管的本质是有P型半导体和N型半导体接触形成的PN结。 PN结除了除了构成单向到点的二极管外&#xff0c;还存在一个结电容&#xff0c;这个结电容会导致"双向"导电。 也就是说&#xff0c;这会让二…...

WSL(Windows Subsystem for Linux)入门

目录 1.简介2.安装与配置3.常用命令4.进阶使用4.1 文件系统交互4.2 网络互通4.3 配置代理4.4 运行 GUI 程序4.5 Docker 集成 1.简介 WSL 是 Windows 系统内置的 Linux 兼容层&#xff0c;允许直接在 Windows 中运行 Linux 命令行工具和应用程序&#xff0c;无需虚拟机或双系统…...

k8s术语之secret

在kubernetes中&#xff0c;还存在一种和ConfigMap非常类似的对象&#xff0c;称之为Secret对象。它主要用于存储敏感信息&#xff0c;例如密码、密钥、证书等等。 首先使用base64对数据进行编码 rootmaster pvs ]# echo -n admin | base64 YWRtaW4 实例&#xff1a;隐藏mysql密…...

Vue2 中 el-dialog 封装组件属性不生效的深度解析(附 $attrs、inheritAttrs 原理)

Vue2 中 el-dialog 封装组件属性不生效的深度解析&#xff08;附 $attrs、inheritAttrs 原理&#xff09; 在使用 Vue2 和 Element UI 进行组件封装时&#xff0c;我们常会遇到父组件传入的属性不生效的情况&#xff0c;比如在封装的 el-dialog 组件中传入 width"100%&qu…...

使用Compose编排工具搭建Ghost博客系统

序&#xff1a;需要提前自备一台部署好docker环境的虚拟机&#xff0c;了解并熟练compose编排工具 在Centos7中&#xff0c;在线/离线安装Docker&#xff1a;https://blog.csdn.net/2301_82085712/article/details/147140694 Docker编排工具---Compose的概述及使用&#xff1…...

车载网络TOP20核心概念科普

一、基础协议与总线技术 CAN总线 定义&#xff1a;控制器局域网&#xff0c;采用差分信号传输&#xff0c;速率最高1Mbps&#xff0c;适用于实时控制&#xff08;如动力系统&#xff09;。形象比喻&#xff1a;如同“神经系统”&#xff0c;负责传递关键控制信号。 LIN总线 定…...

机器学习第一讲:机器学习本质:让机器通过数据自动寻找规律

机器学习第一讲&#xff1a;机器学习本质&#xff1a;让机器通过数据自动寻找规律 资料取自《零基础学机器学习》。 查看总目录&#xff1a;学习大纲 一、从婴儿学说话说起 &#x1f476; 想象你教1岁宝宝认「狗」&#xff1a; 第一阶段&#xff1a;指着不同形态的狗&#x…...

Android ImageView 加载 Base64编码图片

在 Android 中显示服务端返回的 Base64 编码的 GIF 图片&#xff08;如 data:image/gif;base64,...&#xff09;&#xff0c;需要以下步骤&#xff1a; 首先从字符串中分离出纯 Base64 部分&#xff08;去掉 data:image/gif;base64, 前缀&#xff09;image/gif 表示图片是 gif…...

如何使用 QuickAPI 推动医院数据共享 —— 基于数据仓库场景的实践

目录 01 医疗行业面临的数据孤岛问题 02 QuickAPI&#xff1a;将 SQL 变为数据 API 的利器 03 快速落地的应用实践 ✅ 步骤一&#xff1a;统一 SQL 逻辑&#xff0c;模块化管理 ✅ 步骤二&#xff1a;配置权限与调用策略 ✅ 步骤三&#xff1a;上线并接入调用 04 核心收…...

【5G通信】bwp和redcap 随手记 2

好的&#xff0c;让我们重新解释Cell-Defined BWP (CD BWP) 和 Non-Cell-Defined BWP (NCD BWP)&#xff0c;并结合RedCap终端和非RedCap终端的应用进行说明。 一、定义 Cell-Defined BWP (CD BWP) 定义&#xff1a;由网络&#xff08;基站&#xff09;通过RRC信令为终端配置的…...

AI时代企业应用系统架构的新思路与CIO变革指南

作为制造企业CIO&#xff0c;我们看问题需要有前瞻性&#xff0c;AI时代企业应用系统架构需要进行全面转型。 一、新思想与新技术 1. 核心新思想 可视化开发AI的融合模式&#xff1a;不再只依赖纯代码开发或传统低代码&#xff0c;而是两者结合&#xff0c;通过AI理解自然语…...

kotlin JvmName注解的作用和用途

1. JvmName 注解的作用 JvmName 是 Kotlin 提供的一个注解&#xff0c;用于在编译为 Java 字节码时自定义生成的类名或方法名。 作用对象&#xff1a; 文件级别&#xff08;整个 .kt 文件&#xff09;函数、属性、类等成员 主要用途&#xff1a; 控制 Kotlin 编译后生成的 JV…...

为什么强调 RESTful 的无状态性?-优雅草卓伊凡

为什么强调 RESTful 的无状态性&#xff1f;-优雅草卓伊凡 RESTful 架构的核心原则之一是 无状态性&#xff08;Statelessness&#xff09;&#xff0c;它要求 每次客户端请求必须包含服务器处理该请求所需的所有信息&#xff0c;服务器不会存储客户端的状态&#xff08;如会话…...

信息系统项目管理工程师备考计算类真题讲解十五

一、决策论问题 分析&#xff1a;首先要明白几个概念&#xff1a; 1&#xff09;最大最大准则&#xff08;Maxmax&#xff09;:也称乐观主义准则&#xff0c;其决策原则为“大中取大” 2&#xff09;最大最小准则&#xff08;Maxmin&#xff09;:也称悲观主义准则&#xff0c…...

android-ndk开发(9): undefined reference to `__aarch64_ldadd4_acq_rel` 报错分析

1. 概要 基础库 libbase.a 基于 android ndk r18b 编译&#xff0c; 被算法库 libfoo.so 和算法库 libbar.a 依赖&#xff0c; 算法库则分别被 libapp1.so 和 libapp2.so 依赖。 libapp1.so 的开发者向 libfoo.so 的开发者反馈了链接报错&#xff1a; error: undefined symb…...

Java 对象克隆(Object Cloning)详解

Java 对象克隆(Object Cloning)详解 对象克隆是指创建一个对象的精确副本,Java 提供了两种克隆方式:浅克隆(Shallow Clone)和深克隆(Deep Clone)。下面从实现原理、使用场景到注意事项全面解析。 一、克隆的基本概念 1. 为什么要克隆? 需要对象副本时避免修改原始对…...

Asp.Net Core IIS发布后PUT、DELETE请求错误405

一、方案1 1、IIS管理器&#xff0c;处理程序映射。 2、找到aspNetCore&#xff0c;双击。点击请求限制...按钮&#xff0c;并在谓词选项卡上&#xff0c;添加两者DELETE和PUT. 二、方案2 打开web.config文件&#xff0c;添加<remove name"WebDAVModule" />&…...

AI搜索的未来:技术纵深发展与关键突破路径

一、模型架构的颠覆性重构 ‌1、混合专家系统&#xff08;MoE&#xff09;的工程化突破‌ ‌动态路径选择‌&#xff1a;Google Gemini 1.5 Pro采用MoE架构&#xff0c;其门控网络(Gating Network)通过实时计算输入token与128个专家模型的余弦相似度&#xff0c;动态分配计算资…...

从艾米・阿尔文看 CTO 的多面特质与成长路径

在《对话 CTO&#xff0c;驾驭高科技浪潮》的开篇&#xff0c;艾米・阿尔文的经历如同一扇窗&#xff0c;为我们展现出首席技术官丰富而立体的世界。通过深入探究这一章节&#xff0c;我们能洞察 CTO 在技术领域前行所需的特质、面临的挑战&#xff0c;以及成长发展的脉络。 一…...

记录阿里云服务器搭建FTP服务器的注意事项

在阿里云服务器上&#xff08;centos&#xff09;系统&#xff0c;使用vsftpd搭建了一台FTP服务器。 搭建过程中&#xff0c;也留意到了操作防火墙放行端口。但搭建成功后&#xff0c;仍无法访问。 问题是&#xff1a;还需要在阿里云控制台设置一下。 在此记录。 1、登陆账…...

第二章 Logback的架构(三)

Logger, Appenders 和 Layouts 工作原理概述 在介绍了基本的Logback组件之后&#xff0c;我们现在可以描述当用户调用Logger的打印方法时&#xff0c;Logback框架日志请求的执行步骤。 现在让我们分析一下当用户调用名为com.wombat的Logger的info()方法时&#xff0c;Logback…...

第十六届蓝桥杯大赛软件赛C/C++大学B组部分题解

第十六届蓝桥杯大赛软件赛C/C大学B组题解 试题A: 移动距离 问题描述 小明初始在二维平面的原点&#xff0c;他想前往坐标(233,666)。在移动过程中&#xff0c;他只能采用以下两种移动方式&#xff0c;并且这两种移动方式可以交替、不限次数地使用&#xff1a; 水平向右移动…...

服务器数据恢复—Linux操作系统服务器意外断电导致部分文件丢失的数据恢复

服务器数据恢复环境&故障&#xff1a; 一台安装linux系统的服务器意外断电。管理员重启服务器后进行检测&#xff0c;发现服务器上部分文件丢失。管理员没有进行任何操作&#xff0c;直接将服务器正常关机并切断电源。 服务器数据恢复过程&#xff1a; 1、北亚企安数据恢复…...

技术视界 | 青龙机器人训练地形详解(三):复杂地形精讲之台阶

在前两篇中&#xff0c;我们依次讲解了“如何创建一个地形”以及“如何将地形添加到训练环境中”。从基础出发&#xff0c;逐步构建机器人可交互的三维仿真环境。在机器人强化学习训练中&#xff0c;地形的复杂度决定了策略的泛化能力&#xff0c;仅靠 jump_plat 和 jump_pit 等…...

Android 位掩码操作(和~和|的二进制运算)

在 Android 开发中&#xff0c;位掩码操作通过二进制位的逻辑运算实现高效的状态管理。以下以 &&#xff08;与&#xff09;、|&#xff08;或&#xff09;和 ~&#xff08;非&#xff09;运算符为例&#xff0c;详细说明其二进制计算过程&#xff1a; 一、按位与 & 运…...

【JS逆向基础】前端基础-HTML与CSS

1&#xff0c;flask框架 以下是一个使用flask框架写成的serve程序 # noinspection PyUnresolvedReferences #Flash框架的基本内容from flask import Flask app Flask(__name__)app.route(/index) def index():return "hello index"app.route(/login) def login():re…...

高速供电,一步到位——以太联-Intellinet 9口2.5G PoE++非管理型交换机_562140:网络升级的理想之选

在数字化浪潮席卷全球的当下&#xff0c;高速稳定的网络连接已成为企业运营、家庭娱乐以及各类智能场景正常运转的基石。从企业办公场景中员工对高效协同办公的追求&#xff0c;到家庭环境里用户对流畅高清视频、在线游戏的渴望&#xff0c;再到智慧城市建设中大量监控设备、无…...

rom定制系列------红米note12 5G版miui14修改型号root版 原生安卓14批量线刷固件 原生安卓15等

红米Note 12 5G机型也称为 Note 12R Pro&#xff0c;机型代码&#xff1a;sunstone 高通骁龙4 Gen1八核处理器适用于以下型号的小米机型&#xff1a;22111317G, 22111317I, 22101317C miui14稳定版 14.0.10安卓13固件 根据客户需求&#xff0c;采用miui最后一个版本。修改以…...