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

网络安全学习 day5

状态检测和会话技术
状态检测以 数据流量 为单位来对报文进行检测和转发。即对一条流量的第一个报文进行包过滤规
则检查,并将判断结果作为这条流量的 状态 记录下来 。对于该条流量的后续报文,直接根据这个 状态 ”来判断是否转发还是丢弃,而不会再次检查报文的内容。
总结:
在状态检测防火墙之前,包过滤防火墙只根据设定好的 静态规则 来判断是否允许报文通过,它认为
报文都是 无状态的独立个体 ,不关注报文产生的前后因果。
这一点,就要求如果是包过滤防火墙,就必须在每一个方向上都配置一条规则,来放通流量信
存再状态检测防火墙之后, 使用基于连接状态的检测机制,将通信双方之间交互的属于同一个连接
的所有报文都作为整体的数据流来对待
会话
会话 ---> 指的是通信双方的连接在防火墙上的具体体现
一条会话就标识通信双方的一个连接,而防火墙上允许多条会话的存在,此时的集合被称为 会话表
Session table

 

会话表是由基本的五元组信息组成的。 ---> 只要这五个参数相同的报文,防火墙就认为是相同的一条 连接
在某些特殊的协议中,是不存在端口信息,例如 ICMP 协议。防火墙会使用一些固定的数值来充当端口号。其中2048 ICMP 协议的目的端口。
TTL 是每一个会话动态生成的,不是永久存在的。
数值不固定。 常见 ICMP-20S HTTP-10S DNS-30S
SQL 数据库 ---- 长连接 ;在某些场景中,会话的老化时间可能远小于数据报文交互的时间间隔,
导致会话提前老化。为了解决该问题,提出了延长老化时间的方式,为长连接。

 

判断一个 TCP 连接的依据,防火墙就依靠于 SYN 字段。即 SYN 报文称为 TCP 连接的首包
对于 TCP 协议而言, 防火墙只有收到 SYN 报文并且配置的规则允许该 SYN 报文通过时,才会建
立会话。且后续的 TCP 报文匹配会话直接转发
如果防火墙没有收到 SYN 报文,而是直接收到了 SYN+ACK 报文或 ACK 报文。 是不会创建会话,
且直接丢弃报文
内部LAN网访问外部网络的请求直接通过路由器到达外网。
而外部的回应报文,先经过路由器转发给防火墙,由防火墙处理后再转发给路由器,最后发送给内部网
络。

 

此时,防火墙无法收到 SYN 报文,只能收到 SYN+ACK 报文。 这种通信双方交互的报文不同时经过防 火墙的情况,被称为报文来回 路径不一致场景 --- 问题点在于防火墙会阻断 SYN+ACK 报文的流量。
解决方案:关闭状态检测功能 。关闭该功能后,防火墙会回到 包过滤时代 。在该阶段,防火墙会对
SYN+ACK 报文进行规则过滤,如果动作为允许,则放通流量,且建立 会话表
会话表的建立,是基于数据报文通过了安全策略的检查,就会建立会话信息。但是在状态检测阶
段,只有第一个报文才会被安全策略检查;而在包过滤阶段,所有报文都会被检查
状态检测机制开启时,只有首包才会建立会话,后续报文匹配会话。
状态检测机制关闭时,即使首包没有经过防火墙,后续报文只要通过防火墙,也可以生成会话
ASPF
FTP 协议 --- 文件传输协议
FTP 采用典型的 C/S 架构, 客户端通过 TCP 与服务端建立连接后,实现文件的上传和下载功能
FTP 传输数据的过程中,需要服务器和客户端建立 控制连接 数据连接
控制连接:用来传输 FTP 指令和参数
数据连接:用来获取目录和传输数据
FTP 是一个典型的多通道协议 。默认情况下, FTP 协议使用 TCP 端口 20 21 端口;其中 20 用于传输
数据, 21 用于传输控制信息 是否使用 20 端口来建立数据链路与 FTP 的传输模式有关
传输模式 ---POST 模式
1. 客户端 随机 选取一个端口 X ,通过 TCP 向服务器的 21 端口 发送请求,建立 控制通道
该通道一旦建立,后续无论上传、下载等任何操作的 指令信息 都会通过该控制通道来传输。
此时使用三次握手来建立 TCP 连接
2. 当涉及到上传、下载操作时
客户端会再一次 随机一个端口 Y ,通过 控制通道 通知给服务器。
目的,是告知服务器,请求建立一个数据通道。但是,此时的 TCP SYN 报文不是客户端发送
的。
3. 服务器收到通知后,通过本地的 20 端口 主动连接客户端的 端口 Y ,从而建立数据通道。
从而传输数据。
注意:数据通道不是 FTP 一开始就会建立的,而是只有涉及数据传输时才会建立
传输模式 --- 被动模式 PASV
1. 与主动模式相同,客户端客户端 随机 选取一个端口 X ,通过 TCP 向服务器的 21 端口 发送请求,建立 制通道
2. 当涉及到上传、下载操作时
客户端会通过控制通道,通知服务端,自己想要建立数据通道的请求。
服务端收到该通知请求后,会在本地随机一个端口 Z ,继续通过控制通道告知给客户端。
3. 客户端收到服务端回应后,在本地随机一个端口 Y ,向对端端口 Z 发送 SYN 报文,建立 数据通道
被动模式 ---- 解决了客户端隐藏在防火墙背后,无法建立数据通道的弊端
在防火墙的认知中,服务 FTP 所代表的就是放通 21 号端口,而通过被动模式建立时, C/S 的端口号都 1024 以上的随机端口。导致防火墙无法放通 --- 并且,此时是一个全新的 TCP 连接,对于防火墙而言,没有与之对应的会话表,也不会放通流量。---- 解决思路: ASPF 机制
ASPF--- 针对应用层的包过滤技术
多通道协议 --- 特点就是先在控制隧道中协商后续通道使用的参数,然后根据协商结果来建立数据通
道。由于数据通道的地址和端口是动态的,管理员无法预知,故无法编写策略规则。导致无法建立数据通道。
原理:检测报文的应用层协议, 记录应用层信息 中携带的关键数据,使得某些在安全策略中没有明
确定义要放通的报文也能够正常转发 --- 记录应用层协议的表项被称为 “server-map” 逻辑:报文命 中该表单后,不再收到安全策略的控制,相当于在防火墙上开启了一条 隐形通道
server-map 表单通道,不要随意开启。
server-map 表和会话表的区别
会话表中的会话时记录通信双方的连接在防火墙上的具体体现,其作用是记录通信双方的连接状
态。
防火墙为某条连接的首包,生成会话后,该连接的后续报文命中会话后直接转发,不受安全策
略控制。
server-map 表记录的不是当前连接的信息,而是防火墙预测的信息,未来的报文的特征
从处理流程上看,防火墙收到报文后,先检查报文是否命中会话表,如果命中,则直接转发;如果
没有命中,则说明是报文首包,接下来会查看是否命中 server-map 表, 如果命中由 ASPF 机制生成
Server-map ,则报文不再收到安全策略的控制,会直接生成相应的会话表,并转发数据
Server-map 表和会话表作为防火墙上最重要的表单,两者作用不同,不能相互替代
1、域间开启
[FW]firewall interzone trust dmz
[FW-interzone-trust-dmz]detect ftp
2、全局开启
[FW]firewall detect ftp ---与web界面操作相同

默认情况下,FTP协议的ASPF功能是开启的

相关文章:

网络安全学习 day5

状态检测和会话技术 状态检测以 “ 数据流量 ” 为单位来对报文进行检测和转发。即对一条流量的第一个报文进行包过滤规 则检查,并将判断结果作为这条流量的 “ 状态 ” 记录下来 。对于该条流量的后续报文,直接根据这个 “ 状态 ”来判断是否转发还是…...

[leetcode·回溯算法]回溯算法解题套路框架

本文参考labuladong算法笔记[回溯算法解题套路框架 | labuladong 的算法笔记] 本文解决几个问题: 回溯算法是什么?解决回溯算法相关的问题有什么技巧?如何学习回溯算法?回溯算法代码是否有规律可循? 其实回溯算法和我…...

【怎么用系列】短视频戒除—1—对推荐算法进行干扰

如今推荐算法已经渗透到人们生活的方方面面,尤其是抖音等短视频核心就是推荐算法。 【短视频的危害】 1> 会让人变笨,慢慢让人丧失注意力与专注力 2> 让人丧失阅读长文的能力 3> 让人沉浸在一个又一个快感与嗨点当中。当我们刷短视频时&#x…...

【deepseek实战】绿色好用,不断网

前言 最佳deepseek火热网络,我也开发一款windows的电脑端,接入了deepseek,基本是复刻了网页端,还加入一些特色功能。 助力国内AI,发出自己的热量 说一下开发过程和内容的使用吧。 目录 一、介绍 二、具体工作 1.1、引…...

kali下Docker详细安装、docker-compose安装

目录 一、kali下docker安装 1. 更换apt源 2.安装docker 3.配置国内镜像加速器 4.利用docker运行靶场环境 二、docker-compose安装 1.下载docker-compose文件 2.将下载的文件复制到指定位置 3.赋予执行权限 4.利用docker-compose运行靶场环境 一、kali下docker安装 1.…...

Spring理论知识(Ⅴ)——Spring Web模块

Spring的组成 Spring由20个核心依赖组成,这20个核心依赖可以分为6个核心模块 Spring Web模块简介 众所周知,Java目前最大的一个用途就是作为Web应用的服务端(Java Web) Spring又是JavaEE中使用最广泛的开发框架&#xff0…...

图书管理系统 Axios 源码__新增图书

目录 功能介绍 核心代码解析 源码:新增图书功能 总结 本项目基于 HTML、Bootstrap、JavaScript 和 Axios 开发,实现了图书的增删改查功能。以下是新增图书的功能实现,适合前端开发学习和项目实践。 功能介绍 用户可以通过 模态框&#xf…...

【学术投稿-2025年计算机视觉研究进展与应用国际学术会议 (ACVRA 2025)】从计算机基础到HTML开发:Web开发的第一步

会议官网:www.acvra.org 简介 2025年计算机视觉研究进展与应用(ACVRA 2025)将于2025年2月28-3月2日在中国广州召开,将汇聚世界各地的顶尖学者、研究人员和行业专家,聚焦计算机视觉领域的最新研究动态与应用成就。本次…...

Med-R2:基于循证医学的检索推理框架:提升大语言模型医疗问答能力的新方法

Med-R2 : Crafting Trustworthy LLM Physicians through Retrieval and Reasoning of Evidence-Based Medicine Med-R2框架Why - 这个研究要解决什么现实问题What - 核心发现或论点是什么How - 1. 前人研究的局限性How - 2. 你的创新方法/视角How - 3. 关键数据支持How - 4. 可…...

Docker入门篇(Docker基础概念与Linux安装教程)

目录 一、什么是Docker、有什么作用 二、Docker与虚拟机(对比) 三、Docker基础概念 四、CentOS安装Docker 一、从零认识Docker、有什么作用 1.项目部署可能的问题: 大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题&#xff1…...

完美世界C++游戏开发面试题及参考答案

堆栈数据结构有什么区别,举例说明 栈(Stack)和堆(Heap)是两种不同的数据结构,它们在多个方面存在显著区别: 存储方式 栈:栈是一种后进先出(LIFO)的数据结构,它的存储空间是连续的。栈由系统自动分配和释放,用于存储函数调用时的局部变量、函数参数、返回地址等信息…...

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.21 随机数生成:梅森旋转算法的工程实现

2.21 随机数生成:梅森旋转算法的工程实现 目录 #mermaid-svg-J92AWLtQsj9ys1z6 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-J92AWLtQsj9ys1z6 .error-icon{fill:#552222;}#mermaid-svg-J92AWLtQsj9y…...

LeetCode 0922.按奇偶排序数组 II:O(1)空间复杂度-一次遍历双指针

【LetMeFly】922.按奇偶排序数组 II:O(1)空间复杂度-一次遍历双指针 力扣题目链接:https://leetcode.cn/problems/sort-array-by-parity-ii/ 给定一个非负整数数组 nums, nums 中一半整数是 奇数 ,一半整数是 偶数 。 对数组进…...

VSCode设置内容字体大小

1、打开VSCode软件,点击左下角的“图标”,选择“Setting”。 在命令面板中的Font Size处选择适合自己的字体大小。 2、对比Font Size值为14与20下的字体大小。...

【蓝桥杯】日志统计

日志统计(编程题)https://dashoj.com/d/lqbproblem/p/53https://dashoj.com/d/lqbproblem/p/53https://dashoj.com/d/lqbproblem/p/53 题目 日志统计(编程题) 讲解 这个讲解感觉比较通俗易懂。 蓝桥杯2018年省赛B组08(c/c)日…...

九. Redis 持久化-AOF(详细讲解说明,一个配置一个说明分析,步步讲解到位 2)

九. Redis 持久化-AOF(详细讲解说明,一个配置一个说明分析,步步讲解到位 2) 文章目录 九. Redis 持久化-AOF(详细讲解说明,一个配置一个说明分析,步步讲解到位 2)1. Redis 持久化 AOF 概述2. AOF 持久化流程3. AOF 的配置4. AOF 启…...

蓝桥杯备赛题目练习(一)

一. 口算练习题 ## 题目描述 王老师正在教简单算术运算。细心的王老师收集了 i 道学生经常做错的口算题,并且想整理编写成一份练习。 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率。王老师希望尽量减少输入的工作量,比…...

【Linux探索学习】第二十八弹——信号(下):信号在内核中的处理及信号捕捉详解

Linux学习笔记: https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言: 在前面我们已经学习了有关信号的一些基本的知识点,包括:信号的概念、信号产生和信号处理等,今天我们重…...

AI与SEO关键词的完美结合如何提升网站流量与排名策略

内容概要 在当今数字营销环境中,内容的成功不仅依赖于高质量的创作,还包括高效的关键词策略。AI与SEO关键词的结合,正是这一趋势的重要体现。 AI技术在SEO中的重要性 在数字营销领域,AI技术的引入为SEO策略带来了前所未有的变革。…...

《运维:技术的基石,服务的保障》

1. LVS(Linux Virtual Server):基于Linux内核的四层负载均衡解决方案 2. Bonding(链路聚合):物理网卡冗余与带宽叠加技术 3. RHEL(Red Hat Enterprise Linux):企业级Li…...

CSS Display属性完全指南

CSS Display属性完全指南 引言核心概念常用display值详解1. block(块级元素)2. inline(行内元素)3. inline-block(行内块级元素)4. flex(弹性布局)5. grid(网格布局&…...

【C++】STL——vector底层实现

目录 💕 1.vector三个核心 💕2.begin函数,end函数的实现(简单略讲) 💕3.size函数,capacity函数的实现 (简单略讲) 💕4.reserve函数实现 (细节…...

Docker Compose的使用

文章首发于我的博客:https://blog.liuzijian.com/post/docker-compose.html 目录 Docker Compose是什么Docker Compose安装Docker Compose文件Docker Compose常用命令案例:部署WordPress博客系统 Docker Compose是什么 Docker Compose是Docker官方的开源…...

11 3D变换模块(transform3d.rs)

transform3d.rs代码定义了一个名为 Transform3D 的 Rust 结构体,它用于表示一个3D变换矩阵。这个结构体是泛型的,包含三个类型参数:T、Src 和 Dst。其中,T 用于矩阵元素的数据类型,Src 和 Dst 用于表示变换的源和目标类…...

昆仑万维Java开发面试题及参考答案

进程和线程的区别是什么? 进程和线程都是操作系统中非常重要的概念,它们在多个方面存在显著的区别。 从定义上看,进程是操作系统进行资源分配和调度的基本单位。每个进程都有自己独立的内存空间,包括代码段、数据段、堆栈段等。例如,当你在电脑上同时打开浏览器和音乐播放…...

vscode命令面板输入 CMake:build不执行提示输入

CMake:build或rebuild不编译了,弹出:> [Add a new preset] , 提示输入发现settings.jsons设置有问题 { "workbench.colorTheme": "Default Light", "cmake.pinnedCommands": [ "workbench.action.tasks.configu…...

Fastdds学习分享_xtpes_发布订阅模式及rpc模式

在之前的博客中我们介绍了dds的大致功能,与组成结构。本篇博文主要介绍的是xtypes.分为理论和实际运用两部分.理论主要用于梳理hzy大佬的知识,对于某些一带而过的部分作出更为详细的阐释,并在之后通过实际案例便于理解。案例分为普通发布订阅…...

什么叫DeepSeek-V3,以及与GPT-4o的区别

1. DeepSeek 的故事 1.1 DeepSeek 是什么? DeepSeek 是一家专注于人工智能技术研发的公司,致力于打造高性能、低成本的 AI 模型。它的目标是让 AI 技术更加普惠,让更多人能够用上强大的 AI 工具。 1.2 DeepSeek-V3 的问世 DeepSeek-V3 是…...

【C#】Process、ProcessStartInfo启动外部exe

在C#中使用 Process 和 ProcessStartInfo 类启动外部 .exe 文件,可以按照以下步骤进行: 创建 ProcessStartInfo 实例:配置进程启动信息,包括可执行文件的路径、传递给该程序的参数等。 设置启动选项:根据需要配置 Pro…...

android 音视频系列引导

音视频这块的知识点自己工作中有用到,一直没有好好做一个总结,原因有客观和主观的。 客观是工作太忙,没有成段时间做总结。 主观自己懒。 趁着这次主动离职拿了n1的钱,休息一下,对自己的人生做一下总结,…...

Mac电脑上最新的好用邮件软件比较

在Mac电脑上,选择一款好用的邮件软件需要根据个人需求、功能偏好以及与系统生态的兼容性来决定。以下是基于我搜索到的资料,对当前市场上一些优秀的邮件客户端进行比较和推荐: 1. Apple Mail Apple Mail是Mac系统自带的邮件客户端&#xff…...

C#,入门教程(11)——枚举(Enum)的基础知识和高级应用

上一篇: C#,入门教程(10)——常量、变量与命名规则的基础知识https://blog.csdn.net/beijinghorn/article/details/123913570 不会枚举,就不会编程! 枚举 一个有组织的常量系列 比如:一个星期每一天的名字&#xf…...

Spring 实现注入的方式

一、XML配置文件注入 概念&#xff1a;这是一种传统的依赖注入方式&#xff0c;通过在XML文件中配置bean的相关信息来实现依赖注入。在Spring框架中&#xff0c;需要在applicationContext.xml或spring-config.xml等配置文件中定义bean&#xff0c;并通过<property>标签或…...

【论文复现】粘菌算法在最优经济排放调度中的发展与应用

目录 1.摘要2.黏菌算法SMA原理3.改进策略4.结果展示5.参考文献6.代码获取 1.摘要 本文提出了一种改进粘菌算法&#xff08;ISMA&#xff09;&#xff0c;并将其应用于考虑阀点效应的单目标和双目标经济与排放调度&#xff08;EED&#xff09;问题。为提升传统粘菌算法&#xf…...

【LLM-agent】(task6)构建教程编写智能体

note 构建教程编写智能体 文章目录 note一、功能需求二、相关代码&#xff08;1&#xff09;定义生成教程的目录 Action 类&#xff08;2&#xff09;定义生成教程内容的 Action 类&#xff08;3&#xff09;定义教程编写智能体&#xff08;4&#xff09;交互式操作调用教程编…...

04树 + 堆 + 优先队列 + 图(D1_树(D10_决策树))

目录 一、引言 二、算法原理 三、算法实现 四、知识小结 一、引言 决策树算法是一种常用的机器学习算法&#xff0c;可用于分类和回归问题。它基于特征之间的条件判断来构 建一棵树&#xff0c;树的每个节点代表一个特征&#xff0c;每个叶节点代表一个类别或回归值。决策…...

JavaScript模块化

什么是JavaScript的模块化&#xff1f; JavaScript的模块化是指将代码分割成独立的、可重用的模块&#xff0c;每个模块具有自己的功能和作用&#xff0c;可以单独进行开发、测试和维护。不同的目的是提升代码的可维护性、可复用性和可扩展性&#xff0c;同时避免不同模块间的…...

排序算法--插入排序

插入排序是一种简单且稳定的排序算法&#xff0c;适合小规模数据或部分有序数据。 // 插入排序函数 void insertionSort(int arr[], int n) {for (int i 1; i < n; i) { // 从第二个元素开始int key arr[i]; // 当前需要插入的元素int j i - 1;// 将比 key 大的元素向后移…...

【C语言篇】“三子棋”

一、游戏介绍 三子棋&#xff0c;英文名为 Tic - Tac - Toe&#xff0c;是一款简单而经典的棋类游戏。游戏在一个 33 的棋盘上进行&#xff0c;两名玩家轮流在棋盘的空位上放置自己的棋子&#xff08;通常用 * 和 # 表示&#xff09;&#xff0c;率先在横、竖或斜方向上连成三个…...

【大模型理论篇】DeepSeek-R1:引入冷启动的强化学习

1. 背景 首先给出DeepSeek-V3、DeepSeek-R1-Zero、DeepSeek-R1的关系图【1】。 虽然DeepSeek-R1-Zero推理能力很强&#xff0c;但它也面临一些问题。例如&#xff0c;DeepSeek-R1-Zero存在可读性差和语言混杂等问题。为了使推理过程更具可读性&#xff0c;进而推出了DeepSee…...

Linux基础 ——tmux vim 以及基本的shell语法

Linux 基础 ACWING y总的Linux基础课&#xff0c;看讲义作作笔记。 tmux tmux 可以干嘛&#xff1f; tmux可以分屏多开窗口&#xff0c;可以进行多个任务&#xff0c;断线&#xff0c;不会自动杀掉正在进行的进程。 tmux – session(会话&#xff0c;多个) – window(多个…...

使用 Kotlin 将 Vertx 和 Springboot 整合

本篇文章目的是将 Springboot 和 Vertx 进行简单整合。整合目的仅仅是为了整活&#xff0c;因为两个不同的东西整合在一起提升的性能并没有只使用 Vertx 性能高&#xff0c;因此追求高性能的话这是在我来说不推荐。而且他们不仅没有提高很多性能甚至增加了学习成本 一、整合流…...

【单层神经网络】softmax回归的从零开始实现(图像分类)

softmax回归 该回归分析为后续的多层感知机做铺垫 基本概念 softmax回归用于离散模型预测&#xff08;分类问题&#xff0c;含标签&#xff09; softmax运算本质上是对网络的多个输出进行了归一化&#xff0c;使结果有一个统一的判断标准&#xff0c;不必纠结为什么要这么算…...

课题推荐——基于自适应滤波技术的多传感器融合在无人机组合导航中的应用研究

无人机在现代航空、农业和监测等领域的应用日益广泛。为了提高导航精度&#xff0c;通常采用多传感器融合技术&#xff0c;将来自GPS、惯性测量单元&#xff08;IMU&#xff09;、磁力计等不同传感器的数据整合。然而&#xff0c;传感器的量测偏差、环境干扰以及非线性特性使得…...

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之用户登录

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【Spring篇】【计算机网络】【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 目录 &#x1f3af;1.登录-持久层 &…...

Mono里运行C#脚本40—mono_magic_trampoline函数的参数设置

前面介绍过跳板代码,它是用来切换托管代码与非托管的代码,以及运行时与C#代码的交互。实现从运行时切换到C#代码来运行,再从C#代码返回运行时。 要想理解整个切换的细节,那么就需要理解mono_magic_trampoline函数, 而要理解此函数,就必须了解这个函数的参数来源。 要理…...

Verilog基础(三):过程

过程(Procedures) - Always块 – 组合逻辑 (Always blocks – Combinational) 由于数字电路是由电线相连的逻辑门组成的,所以任何电路都可以表示为模块和赋值语句的某种组合. 然而,有时这不是描述电路最方便的方法. 两种always block是十分有用的: 组合逻辑: always @(…...

实际操作 检测缺陷刀片

号he 找到目标图像的缺陷位置&#xff0c;首先思路为对图像进行预处理&#xff0c;灰度-二值化-针对图像进行轮廓分析 //定义结构元素 Mat se getStructuringElement(MORPH_RECT, Size(3, 3), Point(-1, -1)); morphologyEx(thre, tc, MORPH_OPEN, se, Point(-1, -1), 1); …...

DeepSeek 阐述 2025年前端发展趋势

预测2025年前端的发展趋势。首先&#xff0c;我需要考虑当前的前端 技术发展情况&#xff0c;以及近几年的变化趋势。比如&#xff0c;框架方面&#xff0c;React、Vue、Angular这些主流框架的更新方向和社区活跃度。可能用户想知道未来哪些技术会更流行&#xff0c;或者需要学…...

Elasticsearch基本使用详解

文章目录 Elasticsearch基本使用详解一、引言二、环境搭建1、安装 Elasticsearch2、安装 Kibana&#xff08;可选&#xff09; 三、索引操作1、创建索引2、查看索引3、删除索引 四、数据操作1、插入数据2、查询数据&#xff08;1&#xff09;简单查询&#xff08;2&#xff09;…...