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

网络安全防护总体架构 网络安全防护工作机制

1 实践内容

1.1 安全防范

为了保障"信息安全金三角"的CIA属性、即机密性、完整性、可用性,信息安全领域提出了一系列安全模型。其中动态可适应网络安全模型基于闭环控制理论,典型的有PDR和P^2DR模型。

1.1.1 PDR模型

信息系统的防御机制能抵抗入侵的时间P,能超过检测机制发现的入侵的时间D和响应机制有效应对入侵的时间R之和。

1.1.2 P^2DR模型

网络安全=根据风险分析制定安全策略(policy)+执行安全防护策略(Procation)+实时监测(Detection)+实时响应(Response)。其中安全策略是核心。

网络安全防护总体架构 网络安全防护工作机制_网络安全防护总体架构

图1.1 P^2DR模型

1.2 防火墙

1.2.1概述

防火墙是目前最成熟的网络防御技术之一,属于一种网络上的访问控制机制,通过在不同网络域之间建立起安全控制点,对通过的网络传输数据进行检查,根据具体的安全需求决定是否允许网络访问通过防火墙,达到特定网络安全域免受非法访问和破坏的目标。

防火墙功能有检查进出网络的流量、防止脆弱或不安全的协议和服务、防止内部网络信息外泄、对网络存取和访问进行监控审计、可强化网络安全策略和集成其他网络安全防御机制。

防火墙对于来自网络安全内部的攻击、通过非法外联的网络攻击和计算机病毒传播防御有限。

1.2.2 防火墙技术和产品

包过滤技术是通过网络层和传输层的包头信息检查,根据用户定义的安全策略规则集,确定是否应该转发该数据包,将一些不符合安全策略的数据包阻挡在网络边界处。

基于状态检测的包过滤技术维护所有通过防火墙的网络连接记录,并依此确定数据包是否属于一个新的连接、或是已连接的一部分,或是一个非法数据包。由于根据数据包的上下文进行检查和过滤,数据的合法性得到了更有效的保证,但对网络传输的性能影响较大。

网络安全防护总体架构 网络安全防护工作机制_数据_02

图1.2 基于状态检测的包过滤技术

代理技术为客户端首先与代理服务器建立连接,接着发出一个对外部目标服务器的的文件或请求,代理服务器通过与目标服务器连接或从缓存中取得资源,并返回给客户端。网络用户便不直接与外部服务器通信。具体分为应用层代理技术、电路级代理技术和NAT代理技术。

防火墙产品集成包过滤的路由器、基于通用操作系统的防火墙软件产品、基于安全操作系统的防火墙、硬件防火墙设备。

1.3 入侵检测技术

1.3.1 概述

入侵检测技术定义是对入侵行为的检测与发现。两个重要参数是检测率和误报率。信息收集是入侵检测技术的基础。收到信息后最核心的任务是信息分析,两种基本的分析技术是梧误用检测和异常检测。

入侵检测系统的部署位置如图1.3所示:

网络安全防护总体架构 网络安全防护工作机制_网络安全防护总体架构_03

图1.3 入侵检测系统的部署位置

1.3.2 入侵检测系统:snort

snort采用标准的捕获数据包的函数库libpcap,具有数据包嗅探、数据包记录和分析、入侵检测功能。软件基本构架如图1.4所示

网络安全防护总体架构 网络安全防护工作机制_入侵检测_04

图1.4 snort软件基本构架

在snort运行时,首先,将捕获的数据包经过解码器填入到链路层协议的包结构体之中,以便对高层协议解码;然后送入各种各样的预处理插件中,对数据进行检查和操作;随后检测引擎对每个包的信息进行快速模式匹配检测;对之前各个部件产生的报警/日志信息,调出相应的输出插件进行发送和记录。检测引擎与插件是snort入侵的主体模块,包含规则库解析、多模式匹配和规则插件检查三部分。

2 实践过程

2.1 防火墙配置

配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试。

2.1.1 过滤ICMP数据包,使得主机不接收Ping包

(1)Linux操作系统平台上的iptables

首先,输入指令"iptables -L"查看所有规则,确认是默认的。

网络安全防护总体架构 网络安全防护工作机制_网络安全防护总体架构_05

图2.1 所有规则

然后,用攻击机(192.168.200.4)ping靶机(192.168.200.129)。发现可以ping通。

网络安全防护总体架构 网络安全防护工作机制_IP_06

图2.2 ping通

输入指令"iptables -A INPUT -p icmp -j DROP"使得主机不接收ICMP包。

其中各参数的意思是:

-A INPUT:将input规则添加到链尾;

-p icmp:指定icmp协议;

-j DROP:指定对应数据包进行丢弃。

然后再次查看规则:

网络安全防护总体架构 网络安全防护工作机制_网络安全防护总体架构_07

图2.3 再次查看所有规则

可以看出第一行已经变成"anywhere"。

此时用用攻击机(192.168.200.4)ping靶机(192.168.200.129),发现已经不能ping通。

网络安全防护总体架构 网络安全防护工作机制_IP_08

图2.4 ping失败

使用wireshark抓包,可以看到发出了很多icmp数据包。

网络安全防护总体架构 网络安全防护工作机制_入侵检测_09

图2.5 wireshark抓包

成功后,使用iptables -F清除所有规则。此时,用攻击机(192.168.200.4)ping靶机(192.168.200.129)成功ping通。

网络安全防护总体架构 网络安全防护工作机制_网络安全防护总体架构_10

图2.6 再次ping通

(2)Windows操作系统平台上的个人防火墙

启动WinXPattacker,密码为"mima1234"。用kali ping WinXPattacker(192.168.200.8),可以ping通。

网络安全防护总体架构 网络安全防护工作机制_网络安全防护总体架构_11

图2.7 ping成功

打开"控制面板"的"Windows防火墙"。

网络安全防护总体架构 网络安全防护工作机制_网络安全防护总体架构_12

图2.8 控制面板的防火墙

在"高级"→"ICMP设置"中,把"允许传入回显请求"勾掉。

网络安全防护总体架构 网络安全防护工作机制_IP_13

图2.9 勾掉允许传入回显请求

此时看到kali就ping不通windowsXP了。

网络安全防护总体架构 网络安全防护工作机制_入侵检测_14

图2.10 无法ping通

实验完毕,再调回设置,发现可以重新ping通。

网络安全防护总体架构 网络安全防护工作机制_网络安全防护总体架构_15

图2.11 再次ping通

2.1.2 只允许特定IP地址访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址无法访问。

本节实验的各主机的IP地址如下:

A:192.168.200.4

B:192.168.200.6

C:192.168.200.7

首先给A安装FTP服务,输入指令"apt-get install vsftpd"。再输入"service vsftpd start"开启FTP服务。

网络安全防护总体架构 网络安全防护工作机制_入侵检测_16

图2.12 开启FTP服务

然后用B和C访问A的ftp服务均成功。

网络安全防护总体架构 网络安全防护工作机制_网络安全防护总体架构_17

图2.13 B成功连接FTP

网络安全防护总体架构 网络安全防护工作机制_入侵检测_18

图2.14 C成功连接FTP

对A进行设置,输入指令"iptables -P INPUT DROP"拒绝一切数据流入。再输入指令"iptables -A INPUT -p tcp -s 192.168.200.6 -j ACCEPT"只允许B(192.168.200.6)访问主机。

设置好后,用B和C访问A,可见只有B可以成功访问。

网络安全防护总体架构 网络安全防护工作机制_IP_19

图2.15 B再次成功连接FTP

网络安全防护总体架构 网络安全防护工作机制_入侵检测_20

图2.16 C连接FTP失败

输入"iptables -F"和"iptables -P INPUT ACCEPT"恢复之前的状态。

2.2 动手实践:Snort

使用Snort对给定pcap文件(第4章中的解码网络扫描任一个pcap文件,之前的实践已经提供了,请在云班课中下载)进行入侵检测,并对检测出的攻击进行说明。在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。

输入指令"snort -c /etc/snort/snort.conf -r /home/kali/Desktop/listen.pcap -K ascii"从离线的pcap文件读取网络日志数据源。

网络安全防护总体架构 网络安全防护工作机制_IP_21

图2.17 读取网络日志数据

通过分析结果可以看出TCP包占绝大多数。

snort会在默认目录"/var/log/snort"生成一个日志文件,输入指令"cd/var/log/snort"查看日志文件。可以看出本次攻击是用nmap发起的。攻击机IP地址是172.31.4.178,靶机IP地址是172.31.4.188,还可以看到端口号等等。

网络安全防护总体架构 网络安全防护工作机制_网络安全防护总体架构_22

图2.18 相关信息

2.3 分析配置规则

分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。

具体分析配置规则与启动项文件包括:

防火墙(netfilter+IPTables):/etc/init.d/rc.firewall:

入侵检测系统(Snort):/etc/init.d/hflow-snort 与/etc/snort/snort.conf:

入侵防御系统(Snort_inlinc):/etc/init.d/hflow-snort_inline 与/etc/snort_inline/snort. inline.conf

2.3.1 数据捕获

数据捕获是密网的一个重要目的,包括三个层次,分别是防火墙的日志记录、eth0上的嗅探器记录的网络流多和Seek捕获的系统活动;记录的内容主要包括:数据包通过时间、包协议类型、进出的网络接口、源地址、目的地址、源端口、目的端口、包长度等。

蜜罐网关通过三种方式捕获数据:防火墙日志、网络通讯、系统活动。防火墙能够记录所有的进入和外出本网络的连接。所有进出防火墙的日志信息记录在/var /log /messages 文件中。但防火墙能记录的数据是有限的,主要是报头信息,如攻击的时间、源和目的IP地址以及源和目的端口,对于入侵者的击键行为、数据包的载荷等无能为力。

打开密网网关,输入vim /etc/init.d/rc.firewall查看防火墙的文件。看到create_chains函数中新建了许多规则链,包括黑名单、白名单、防护名单等

网络安全防护总体架构 网络安全防护工作机制_入侵检测_23

图2.19 防火墙文件

2.3.2 控制需求

Roo的数据控制包含两方面,一是防火墙Iptables对连出(Outbound)的连接数的控制,另一个是网络信息防御系统Snort_inline对连出异常数据的限制,还增加了黑名单、白名单、防护名单的功能。防火墙对源地址或者目的地址属于黑名单的主机,丢弃所有包。对于属于白名单的主机,接受且不记录。对于属于防护名单内的主机,禁止访问某些不希望被访问到的主机。

在蜜罐中,使用iptables -t filter -L命令来查看规则列表。可以看出,默认的规则例如OUTPUT、INPUT、FORWARD都已经被关闭了

网络安全防护总体架构 网络安全防护工作机制_IP_24

图2.20 蜜罐规则列表

3.学习中遇到的问题及解决

3.1 kali的FTP服务

Kali默认没有安装FTP服务。需要先安装后再使用。

3.2 windows允许传入回显请求关

ICMP设置中允许传入回显请求前面的复选框是灰色的,默认勾选,无法取消勾选。需要关掉例外选项,允许传入回显请求前面的复选框就可以关掉了。

4 感想和体会

通过本次实验,我学习到了各种网络安全防范技术的基本原理和方法。熟悉使用Windows的防火墙和linux的iptables的配置。对ICMP数据包有了进一步的认识。学习了使用Snort对给定pcap文件进行分析,找出各种信息。对蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求也有进一步的认识。

网络安全学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

需要网络安全学习路线和视频教程的可以在评论区留言哦~

最后
  • 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!

给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。

黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)

结语

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

特别声明:
此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施
,从而减少由网络安全而带来的经济损失

相关文章:

网络安全防护总体架构 网络安全防护工作机制

1 实践内容 1.1 安全防范 为了保障"信息安全金三角"的CIA属性、即机密性、完整性、可用性,信息安全领域提出了一系列安全模型。其中动态可适应网络安全模型基于闭环控制理论,典型的有PDR和P^2DR模型。 1.1.1 PDR模型 信息系统的防御机制能…...

图像处理篇---图像预处理

文章目录 前言一、通用目的1.1 数据标准化目的实现 1.2 噪声抑制目的实现高斯滤波中值滤波双边滤波 1.3 尺寸统一化目的实现 1.4 数据增强目的实现 1.5 特征增强目的实现:边缘检测直方图均衡化锐化 二、分领域预处理2.1 传统机器学习(如SVM、随机森林&am…...

探针泄露(WEB)

##解题思路 题目提示是探针泄露,未及时删除的探针可能造成严重的数据泄露 探针的文件常见命名为tz.php,访问它 对于php相关参数,我们是可以点击的,点击phpinfo访问 跳转后搜索flag,得到flag...

Webpack总结

Webpack是一个前端模块打包工具。它可以将多个模块按照依赖关系进行静态分析,并生成一个或多个打包后的文件。 Webpack的核心概念包括entry(入口)、output(输出)、loader(加载器)和plugin&…...

什么是物理信息神经网络PINN

定义原理 物理信息神经网络(PINN)是一种创新的机器学习方法,将深度学习与物理知识相结合,旨在解决偏微分方程(PDE)相关问题。PINN的核心思想是在神经网络的训练过程中引入物理定律,从而提高模型的泛化能力和预测精度。 PINN的工作原理基于以下关键步骤: 构建神经网络…...

Java面向对象(中)

面向对象(中) 1.继承性 继承性的好处: 减少了代码的冗余,提高了代码的复用性。 便于功能的拓展。 为多态性的使用提供了前期。 格式: class A extends B {} A:子类,派生类,subclass。 B:父类&#x…...

ospf单区域

OSPF单区域是指将整个自治系统(AS)内的所有路由器划分到同一个逻辑区域(Area 0,即骨干区域)中运行的OSPF协议模式。以下是其核心要点: 一、定义与核心特点 ‌区域统一性‌ 所有路由器均属于同一区域&…...

kali之nmap

kali之nmap Nmap(Network Mapper)是 Kali Linux 中最著名的网络扫描工具之一,广泛用于网络发现、端口扫描、服务识别、操作系统检测等任务。它是一个功能强大且灵活的开源工具,适用于渗透测试、网络管理和安全审计。 1. Nmap 的主…...

【Rust基础】排序和分组

排序 简单排序 整数排序 #[test] fn test_sort(){let mut list vec![1, 5, 3, 2, 4];list.sort(); //✔assert_eq!(list, vec![1, 2, 3, 4, 5]); }小数排序 #[test] fn test_sort(){let mut list vec![1, 5, 3, 2, 4];//❌ 不能直接使用sort,因为f32和f64未实现O…...

HarmonyOS NEXT开发实战——HUAWEI DevEco Studio 开发指南

概述 HUAWEI DevEco Studio(以下简称 DevEco Studio)是基于 IntelliJ IDEA Community 开源版本打造的一站式开发平台,专为 HarmonyOS 系统上的应用和元服务(以下简称 应用/元服务)提供高效的开发环境。 作为一款专业…...

R 语言科研绘图 --- 密度图-汇总

在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...

【拒绝算法PUA】LeetCode 2270. 分割数组的方案数

系列文章目录 【拒绝算法PUA】0x00-位运算 【拒绝算法PUA】0x01- 区间比较技巧 【拒绝算法PUA】0x02- 区间合并技巧 【拒绝算法PUA】0x03 - LeetCode 排序类型刷题 【拒绝算法PUA】LeetCode每日一题系列刷题汇总-2025年持续刷新中 C刷题技巧总结: [温习C/C]0x04 刷…...

k8s 配置两个deployment主机级别互斥部署

在 Kubernetes 中,要实现两个 Deployment 的 Pod 在主机级别互斥部署,可以使用 podAntiAffinity 配置。通过设置 podAntiAffinity,可以确保两个 Deployment 的 Pod 不会被调度到同一节点上。 实现步骤 定义 Deployment: 为每个…...

Axure大屏可视化原型模板及素材:数据可视化的高效解决方案

数据可视化已成为企业决策、运营分析、市场洞察的重要工具。数据可视化大屏,作为数据展示和交互的直观平台,能够实时呈现关键数据,帮助企业快速做出决策。Axure作为原型设计领域的领先工具,以其丰富的组件库、强大的交互设计能力和…...

AGI大模型(2):GPT:Generative Pre-trained Transformer

1 Generative Pre-trained Transformer 1.1 Generative生成式 GPT中的“生成式”指的是该模型能够根据输入自动生成文本内容,而不仅仅是从已有的文本库中检索答案。 具体来说: 生成(Generative):GPT是一个生成式AI模型,能够根据给定的提示(Prompt)动态生成连贯、…...

Profinet转Profinet以创新网关模块为核心搭建西门子和欧姆龙PLC稳定通讯架构案例​

你是否有听过PROFINET主站与PROFINET主站之间需要做数据通讯有需求? 例如西门子1500与霍尼韦尔DCS系统两个主站之间的通讯。应用于PROFINET为主站设备还有欧姆龙、基恩士、罗克韦尔、施耐德、GE、ABB等品牌的PLC或DCS、FCS等平台。在生产或智能领域有通讯需求。两头…...

函数调用汇编

目录 一、核心概念 二、函数调用过程(以 x86 cdecl 为例) 三、x86 vs x64 区别 四、示例分析(C代码 → 汇编) 五、常见问题 一、核心概念 调用约定 (Calling Convention) 规定参数传递顺序(如 cdecl 是右到左&…...

LabVIEW 线性拟合

该 LabVIEW 程序实现了 线性拟合(Linear Fit),用于计算给定一组数据点的斜率(Slope)和截距(Intercept),并将结果可视化于 XY Graph 中。本案例适用于数据拟合、实验数据分析、传感器…...

在办公电脑上本地部署 70b 的 DeepSeek 模型并实现相应功能的大致步骤

以下是为客户在办公电脑上本地部署 70b 的 DeepSeek 模型并实现相应功能的大致步骤: 硬件准备: 70b 模型对硬件要求较高,确保办公电脑有足够强大的 GPU(例如 NVIDIA A100 等高端 GPU,因为模型规模较大,普通…...

国产编辑器EverEdit - 脚本(解锁文本编辑的无限可能)

1 脚本 1.1 应用场景 脚本是一种功能扩展代码,用于提供一些编辑器通用功能提供不了的功能,帮助用户在特定工作场景下提高工作效率,几乎所有主流的编辑器、IDE都支持脚本。   EverEdit的脚本支持js(语法与javascript类似)、VBScript两种编程…...

网络安全需要学多久才能入门?

网络安全是一个复杂且不断发展的领域,想要入行该领域,我们需要付出足够多的时间和精力好好学习相关知识,才可以获得一份不错的工作,那么网络安全需要学多久才能入门?我们通过这篇文章来了解一下。 学习网络安全的入门时间因个人的…...

H5端vue3 SSR 项目报错小计

H5端vue3 SSR 项目报错小计 环境 "vue-router": "^4.1.6" "vue": "^3.2.45", "vant": "^3.4.9",报错复现 ①.页面刷新点击 RouterLink 跳转链接, 页面无法跳转 问题排查 ①.去除 van-popup 使用的 teleport“…...

【Node.js入门笔记4---fs 目录操作】

Node.js入门笔记4 Node.js---fs 目录操作一、目录操作1.fs.mkdir():创建目录。异步,非阻塞。创建单个目录创建多个目录创建目前之前需要确认是否存在: 2. fs.mkdirSync():用于创建一个新的目录。异步,非阻塞。3.fs.rmd…...

xcode 旧版本、历史版本下载

下载链接:https://developer.apple.com/download/all/ 版本发布日志:https://developer.apple.com/documentation/xcode-release-notes 需要登录开发者账号,搜索下载即可: 再贴一下网友做的版本统计macOS 版本对应的 Xcode 版本&…...

(十一) 人工智能 - Python 教程 - Python元组

更多系列教程,每天更新 更多教程关注:xxxueba.com 星星学霸 1 元组(Tuple) 元组是有序且不可更改的集合。在 Python 中,元组是用圆括号编写的。 实例 创建元组: thistuple ("apple", "b…...

【计算机视觉】工业表计读数(1)--基于关键点检测的读数识别方案

随着工业自动化和智能制造的发展,对设备状态实时监控和数据采集提出了更高要求。本文提出了一种基于YOLO的工业表计读数识别方法,通过首先利用YOLO进行表计目标检测,提取出单独的表计图像,然后分别对表针和刻度进行关键点检测&…...

Redis--Zset类型

目录 一、引言 二、介绍 三、命令 1.zadd 2.zrange,zrevrange,zrangebyscore 3.zcard,zcount 4.zpopmax,bzpopmax,zpopmin,bzpopmin 5.zrank,zrevrank,zscore 6.zrem,zremrangebyrank&a…...

Java 大视界 -- 基于 Java 的大数据机器学习模型的迁移学习应用与实践(129)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...

SpringBoot 第一课(Ⅲ) 配置类注解

目录 一、PropertySource 二、ImportResource ①SpringConfig (Spring框架全注解) ②ImportResource注解实现 三、Bean 四、多配置文件 多Profile文件的使用 文件命名约定: 激活Profile: YAML文件支持多文档块&#xff…...

期望最大化(EM)算法

MLE (最大似然估计)是一种非常有效的参数估计方法,但当分布中有多余参数或数据为截尾或缺失时,其 MLE 的求取是比较困难的。于是 Dempster 等人于 1977 年提出了 EM 算法,其出发点是把求 MLE 的过程分两步走&#xff1…...

DeepSeek与人工智能:技术演进、架构解析与未来展望

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。https://www.captainbed.cn/north 文章目录 1. DeepSeek技术全景解析1.1 DeepSeek技术定位1.2 核心技术组件 2. 人工智能发展路线2.1 技术…...

Keepalived 多主模型与 LVS 高可用

一.Keepalived多主模型 Keepalived多主模型概念 如上图,keepalived主从架构性能损耗较严重,如果业务分类明确,则可以配置keepalived多主模型降低损耗,两台keepalived互为主备,如:订单业务走keepalived1&am…...

AGI大模型(6):提示词模型进阶

1 零样本提示 如今,经过⼤量数据训练并调整指令的LLM能够执⾏零样本任务。 代码如下: from openai import OpenAI from dotenv import load_dotenv load_dotenv() # 初始化 OpenAI 服务。 client = OpenAI()prompt = """ 将⽂本分类为中性、负⾯或正⾯。 ⽂…...

群体智能优化算法-旗鱼优化算法 (Sailfish Optimizer, SFO,含Matlab源代码)

摘要 旗鱼优化算法(Sailfish Optimizer, SFO)是一种模拟旗鱼(Sailfish)和沙丁鱼(Sardine)之间捕食关系的新型元启发式算法。通过在搜索过程中模拟旗鱼对沙丁鱼的捕食行为,以及沙丁鱼群的逃逸与…...

适合企业内训的AI工具实操培训教程(37页PPT)(文末有下载方式)

详细资料请看本解读文章的最后内容。 资料解读:适合企业内训的 AI 工具实操培训教程 在当今数字化时代,人工智能(AI)技术迅速发展,深度融入到各个领域,AIGC(人工智能生成内容)更是成…...

用 Python 进行比特币数据分析:从入门到实战

用 Python 进行比特币数据分析:从入门到实战 前言 比特币,这个“数字黄金”,已经成为全球金融市场不可忽视的存在。无论是短线交易、长期投资,还是链上数据分析,都离不开数据的支撑。而 Python,作为数据分析的瑞士军刀,为我们提供了一整套强大的工具。 本篇文章将带你…...

CT重建笔记(四)——三维重建

人如果不思考不学习,天天刷短视频,跟咸鱼有什么区别? 平行的线积分数据(X射线变换) 平行光束图像重建的理论基础是中心切片定理(二维情形见我的博客https://leslielee.blog.csdn.net/article/details/134…...

蓝桥杯刷题周计划(第三周)

目录 前言题目一题目代码题解分析 题目二题目代码题解分析 题目三题目代码题解分析 题目四题目代码题解分析 题目五题目代码题解分析 题目六题目代码题解分析 题目七题目代码题解分析 题目八题目代码题解分析 题目九题目代码题解分析 题目十题目代码题解分析 前言 大家好&#…...

Qt 控件概述 QWdiget 1.1

目录 qrc机制 qrc使用 1.在项目中创建一个 qrc 文件 2.将图片导入到qrc文件中 windowOpacity: cursor 光标 cursor类型 自定义Cursor font tooltip focusPolicy styleSheet qrc机制 之前提到使用相对路径的方法来存放资源,还有一种更好的方式…...

Type_ C和锂电池自切换电路

支持Type_ C和锂电池双供电的供电方案: Type_ C插入,PMOS关断,电池切断,后级电路由Type_ C供电; 锂电池插入,Type_ C不接的时候,PMOS导通,锂电池供电; 1、没有插入USB电…...

CTP开发爬坑指北(九)

CTP API开发中有很多需要注意的小细节,稍有不慎就会出问题,不然,轻则表现与预期不符,重则程序崩溃影响策略盈利。本系列将容易遇到的坑列出来,以供开发时参考,如有疑义之处,欢迎指正。 在国内期…...

算法之双指针

移动零 题目链接:https://leetcode.cn/problems/move-zeroes 题目的要求是不能改变原数组的非零元素的顺序,也不得再额外开个空间。 算法原理:将数组划分,数组分块。 将所有的非零元素移到左边,零元素移到右边。 方…...

关于ISP Pipeline LSC(镜头阴影校正)位置的一些想法

关于LSC校正的一些基本原理可以参考如下链接: ISP之LSC 【ISP】浅析Lens Shading ISP-镜头阴影校正(LSC) 这篇博文不打算讲具体的LSC校正原理。 主要是答复一位网友关于LSC校正在ISP Pipeline的问题。 网友问题如下: Rin_Cyn…...

x012-MSP430F249智能步进电动百叶窗_proteus_光敏电阻_步进电机_仿真

https://www.dong-blog.fun/post/1997 46 、智能步进电动百叶窗 基本要求: 用一台步进电机控制百叶窗叶片的旋转(正转/反转) 用 LED 数码管显示旋转角度 设置按键: 手动/自动切换、手动正转和手动反转,停止/启动键 用一…...

WordPress调用当前文章作者头像

制作wordpress博客主题时经常会到用&#xff0c;需要调用wordpress当前文章作者头像的时候&#xff0c;用下面的这段代码即可。 <?php if (have_posts()) : the_post(); update_post_caches($posts); ?> //wodepress.com <?php echo get_avatar( get_the_author_e…...

Mysql表的查询

一&#xff1a;创建一个新的数据库&#xff08;companydb),并查看数据库。 二&#xff1a;使用该数据库&#xff0c;并创建表worker。 mysql> use companydb;mysql> CREATE TABLE worker(-> 部门号 INT(11) NOT NULL,-> 职工号 INT(11) NOT NULL,-> 工作时间 D…...

25.单例模式实现线程池

一、线程池的概念 1.1 线程池的介绍 线程池是一种线程使用模式。线程过多会带来调度开销&#xff0c;进而影响缓存局部性和整体性能。而线程池维护着多个线程&#xff0c;等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅…...

欢乐力扣:基本计算器

文章目录 1、题目描述2、思路代码括号 1、题目描述 基本计算器。  给你一个字符串表达式 s &#xff0c;请你实现一个基本计算器来计算并返回它的值。  注意:不允许使用任何将字符串作为数学表达式计算的内置函数&#xff0c;比如 eval() 。 2、思路 本人也不太会&#xff0c…...

app.config.globalProperties

目录 一:基础使用 1、简介 2、使用 3、打印结果: 二:封装 1、创建一个.ts文件(utils/msg.ts) 2、在main.ts中全局注册 3、在页面中使用 4、打印结果 一:基础使用 1、简介 app.config.globalProperties 是 Vue 3 应用实例&#xff08;app&#xff09;的一个配置属性&…...

Javascript BOM,DOM 知识简介

JSON 一种数据交换格式,作为数据载体,传输数据, Json比xml 更简单,可读性更高.js的对象和Json可以相互转换. //json定义格式: var varName{"key1":value1,"key2":value2};value的数据类型为数字,字符串(在双引号中),布尔值,数组(在方括号中),对象(在花括…...