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

Cyber Security 101-Security Solutions-Firewall Fundamentals(防火墙基础)

了解防火墙并亲身体验 Windows 和 Linux 内置防火墙。

任务1:防火墙的用途是什么

我们看到商场、银行、 餐馆和房屋。这些警卫被安置在 这些区域用于检查进出人员。这 维护此检查的目的是确保没有人在没有 被允许。这个警卫充当了他所在区域和访客之间的一堵墙。

每天都有大量传入和传出流量在 我们的数字设备和它们所连接的互联网。如果 有人偷偷溜进来,却没有被抓住? 那时我们还需要一个保安来维护我们的数字设备,他可以检查进出他们的数据。这个保安是我们称之为防火墙。防火墙旨在检查网络或数字设备的传入和传出流量。目标是 与坐在建筑物外的保安相同:不是 允许任何未经授权的访问者进入系统或网络。您可以通过为防火墙提供规则来指示防火墙以检查所有流量。什么 进出您的设备或网络将首先面临防火墙。防火墙将根据 它维护的规则。如今,大多数防火墙都超越了基于规则的 过滤并提供额外的功能来保护您的设备或 来自外部世界的网络。我们将讨论所有这些防火墙和 对少数 API 进行实际实验室演示。

学习目标

完成房间后,您将对以下领域有基本的了解:

  • 防火墙的类型
  • 防火墙规则及其组件
  • 动手操作 Windows 内置防火墙 
  • 动手 Linux 内置防火墙 

会议室先决条件

  • 网络概念


任务2:防火墙的类型

防火墙部署在组织之后的网络中变得普遍 发现他们能够从其系统中过滤有害流量 和网络。引入了几种不同类型的防火墙 之后,每个都有独特的目的。同样重要的是要注意,不同类型的防火墙适用于不同的 OSI 模型层。防火墙分为多种类型。

让我们来看看一些最常见的防火墙类型和 他们在 OSI 模型中的角色。

无状态防火墙

这种类型的防火墙在 OSI 模型的第 3 层和第 4 层上运行并工作 仅通过根据预先确定的规则过滤数据而不采用 记下先前连接的状态。这意味着它将匹配 每个数据包都包含规则,无论它是否是 合法连接。它不保留有关 以前的连接来为未来的数据包做出决策。因此, 这些防火墙可以快速处理数据包。但是,他们不能 根据数据与 以前的连接。假设防火墙拒绝了来自 基于其规则的单一来源。理想情况下,它应该丢弃所有 future 来自此源的数据包,因为之前的数据包无法遵守 替换为防火墙的规则。然而,防火墙一直忘记这一点, 来自此源的未来数据包将被视为新数据包和匹配数据包 再次按照它的规则。

状态防火墙

与无状态防火墙不同,这种类型的防火墙超越了 按预先确定的规则过滤数据包。它还会跟踪 以前的连接并将其存储在 state 表中。这增加了另一个 通过根据数据包的历史记录检查数据包 连接。有状态防火墙在 OSI 模型。假设防火墙接受来自源的几个数据包 address 的 URL 中。在这种情况下,它将注意到这一点 connection 并允许所有未来的数据包 connection 自动获得允许,而无需检查它们中的每一个。 同样,有状态防火墙会记录 他们拒绝一些数据包,并根据此信息拒绝所有数据包 来自同一源的后续数据包。

代理防火墙

以前的防火墙的问题是它们无法检查 数据包的内容。代理防火墙或应用程序级 网关充当私有网络和 Internet 并在 OSI 模型的第 7 层上运行。他们检查 所有内容。网络中用户发出的请求 在检查后由此代理转发,并使用其 自己的 IP 地址,为内部 IP 地址提供匿名性。 内容过滤策略可应用于这些防火墙以允许/拒绝 基于其内容的传入和传出流量。

下一代防火墙 (NGFW)

这是从第 3 层运行的最先进的防火墙类型 到 OSI 模型的第 7 层,提供深度数据包检测和其他 增强传入和传出安全性的功能 网络流量。它有一个入侵防御系统,可以阻止 恶意活动。它通过以下方式提供启发式分析 分析攻击模式并立即阻止它们 到达网络。NGFW 具有 SSL/TLS 解密功能,该功能 解密数据包后检查数据包,并将数据与 威胁情报源用于做出有效的决策。

表格 下面列出了每个防火墙的特征,这将帮助您选择 最适合不同用例的防火墙。

防火墙特性
无状态防火墙- 基本过滤
- 不跟踪以前的连接
- 高效实现高速网络
状态防火墙- 通过模式
识别流量 - 复杂的规则可以是 applicable
- 监控网络连接
代理防火墙- 同时
检查数据包中的数据 - 提供内容 过滤选项
- 提供应用程序控制
- 解密和检查 SSL/TLS 数据包
下一代防火墙- 提供高级威胁防护
- 带有入侵 预防系统
- 根据启发式识别异常 analysis
- 解密和检查 SSL/TLS 数据包


任务3:防火墙中的规则

防火墙可让您控制网络流量。虽然它 根据其内置规则过滤流量,可以为各种网络定义一些自定义规则。例如,有 将是希望拒绝所有传入的 SSH 流量的网络 他们的网络。但是,您的网络需要允许来自少数 特定 IP 地址。这些规则允许您配置这些自定义的 设置网络的传入和传出流量。

这 防火墙规则的基本组成部分如下所述:

  • 源地址:计算机的 IP 地址,该地址将 发起流量。
  • 目的地地址:计算机的 IP 地址 将接收数据。
  • 港口:流量的端口号。
  • 协议:将在 沟通。
  • 行动:这定义了在识别此特定性质的任何流量时将采取的操作。
  • 方向:此字段定义规则的 适用于传入或传出流量。

操作类型

规则中的组件 “Action” 指示之后要采取的步骤 数据包属于 defined rule 的类别。三大 下面介绍了可应用于规则的操作。

允许

规则的 “Allow” 操作表示 将允许在规则中定义的特定流量。

为 示例,让我们创建一个规则,其中包含一个操作以允许所有传出 来自我们网络的端口 80 的流量(用于到 互联网)。

行动目的地协议港口方向
允许192.168.1.0/24任何TCP 协议80出境
否认

规则的 “Deny” 操作意味着流量 将被阻止且不允许。这些规则 是安全团队拒绝特定流量传入的基础 来自恶意 IP 地址,并创建更多规则以减少威胁 网络表面。

例如,让我们创建一个规则,其中包含一个操作来拒绝端口 22 上的所有传入流量(用于远程 通过 SSH 连接到机器)。

行动目的地协议港口方向
否认任何192.168.1.0/24TCP 协议22入境
向前

操作 “Forward” 将流量重定向到 使用在 防火墙。这适用于提供路由功能并充当 不同网段之间的网关。

例如,让我们创建一个规则,其中包含一个操作,用于将端口 80 上的所有传入流量(用于 HTTP 流量)转发到 Web 服务器。192.168.1.8

行动目的地协议港口方向
向前任何192.168.1.8TCP 协议80入境

规则的方向性

防火墙具有不同类别的规则,每种规则都基于以下类别进行分类 在创建规则所依据的 Traffic directionality 上。让我们 检查这些方向性中的每一个。

入站规则

规则被归类为入站 规则,当它们仅应用于传入流量时。为 例如,您可以在 Web 上允许传入的 HTTP 流量(端口 80) 服务器。

出站规则

这些规则是为传出的 仅流量。例如,阻止所有传出 SMTP 流量(端口 25) 从除 Mail Server 之外的所有设备。

转发规则

创建转发规则是为了 转发网络内的特定流量。例如,将 可以创建规则以将传入的 HTTP(端口 80)流量转发到 位于您网络中的 Web 服务器。


任务4:Windows Defender防火墙

启动机器

让我们通过按下下面给出的 Start Machine 按钮来启动虚拟机。设备将以分屏模式启动。

如果 VM 不可见,请使用页面顶部的蓝色 Show Split View 按钮。您还可以使用以下 RDP 凭据通过自己的 VPN 连接计算机与计算机连接:

Windows Defender 防火墙

Windows Defender 是 Microsoft 在 Windows 操作系统。此防火墙包含以下所有基本功能 创建、允许或拒绝特定程序或创建自定义程序 规则。此任务旨在涵盖一些基本组件 Windows Defender 防火墙,您可以利用它来限制您的 系统的传入和传出网络流量。要打开此防火墙,您必须打开 Windows 搜索并 键入“Windows Defender 防火墙”。

Windows Defender 防火墙的主页显示“网络 Profiles“和可用选项。这是包含防火墙所有选项的主仪表板。

网络配置文件

有两个可用的网络配置文件。Windows 防火墙确定 基于网络位置感测 (NLA) 的当前网络,以及 为您应用该配置文件防火墙设置。我们可以为他们每个人设置不同的防火墙。

  1. 专用网络:这包括在连接到我们的家庭网络时要应用的防火墙配置。
  2. 来宾或公共网络:这包括在连接到公共或不受信任的防火墙时要应用的防火墙配置 网络,如咖啡店、餐馆或类似网络。例如,当 连接到公共网络时,可以将防火墙设置配置为 阻止所有传入的网络连接,并仅允许一些传出的网络连接 对您来说至关重要的联系。这些设置将应用于 public network 配置文件,当您处于 专用家庭网络。

要允许/禁止任何网络配置文件中的任何应用程序,请单击选项(在屏幕截图中突出显示为 1)。他将带您进入列出系统中安装的所有应用程序和功能的页面。您可以选中任何网络配置文件中要允许的那些,或者如果不需要,请取消选中这些。默认情况下,Windows Defender 防火墙处于打开状态。但是,如果您想打开/关闭它,您可以单击该选项(在屏幕截图中突出显示为 2)。这将带您进入两个网络配置文件的设置。除了完全关闭它(Microsoft 不建议这样做)之外,您还可以阻止所有传入连接。您还可以随时从主仪表板单击“恢复默认值”(在屏幕截图中突出显示为 3)以恢复防火墙的所有默认设置。

自定义规则

Windows Defender 防火墙还允许您为 您的网络根据需要允许/禁止特定流量。让我们创建一个自定义规则来阻止 HTTP(端口 80)或 HTTPS(端口 443)上的所有传出流量。创建此规则后,我们将无法浏览 Internet 上的任何网站,因为这些网站正在使用端口 80 或 443。 我们将阻止它。

在创建此规则之前,我们来测试一下我们是否能够访问网站。为了测试,让我们访问 .如下面的屏幕截图所示,我们能够访问此网站。http://10.10.10.10/

要创建自定义规则,请从主控制面板的可用选项中选择“高级设置”。这将打开 一个新选项卡,您可以在其中创建自己的规则。

注意: 下面创建的规则已在连接的 VM 中可用。如果要测试它,可以在 Windows 主机或任何其他计算机上创建它。

您可以查看用于创建入站和出站的可用选项 规则。

让我们创建一个出站规则来阻止所有传出的 HTTP 和 HTTPS 流量。为此,请单击左侧的 出站规则 选项,然后单击右侧的 新建规则 。它将打开规则向导。在第一步中,选择 自定义 选项,然后按 下一步.

在第二步中,选择 所有程序 从下一个选项中,然后按 下一步.它将要求您在第三步中选择协议类型。选择 协议类型 作为 “TCP”,保持 本地端口 不变,然后从下拉列表中将 远程端口 更改为 “特定端口”。编写 下面字段中的端口号(在我们的例子中为 80,443)。现在,点击 下一步.

注意:用逗号分隔端口号,然后 请不要在它们之间留空格。

在 Scope (范围) 选项卡中,保持本地和远程 IP 地址不变,然后按 Next (下一步) 按钮。在 操作 选项卡中,启用 阻止连接 选项,然后按 下一步

在 Profile (配置文件) 选项卡中,我们保持所有网络配置文件的选中状态。最后,最后阶段是为您的规则指定一个名称和一个可选的 description 并按 Finish 按钮。

我们可以看到我们的规则位于可用的出站规则中。

现在,让我们通过浏览到来测试我们的规则。我们 收到一条错误消息,指出我们无法访问此页面,这意味着该规则有效。http://10.10.10.10/

锻炼

安全团队 注意到其 critical 上的可疑传入和传出流量 Windows 系统。他们在 Windows Defender 防火墙上创建了规则,以 阻止他们的一些特定网络流量。您的任务是回答 通过查看创建的 规则。


任务5:Linux iptables防火墙

在上一个任务中,我们讨论了 Windows 操作系统。如果您是 Linux 用户怎么办?您仍然需要控制 通过您的网络流量。Linux 还提供了 内置防火墙。我们在此处提供了多个防火墙选项。 让我们简要回顾其中的大部分并详细探讨其中的一个。

网络过滤器

Netfilter 是 Linux 操作系统内部的框架,具有核心防火墙功能,包括数据包过滤、NAT 和连接 跟踪。此框架是 Linux 中可用于控制网络流量的各种防火墙实用程序的基础。下面列出了一些使用此框架的常见防火墙实用程序:

  • iptables 中:这是 中使用最广泛的实用程序 许多 Linux 发行版。它使用 Netfilter 框架,该框架提供各种功能来控制网络流量。
  • nftables 中:它是 “iptables” 实用程序的后继者,具有增强的数据包过滤和 NAT 功能。是的 也基于 Netfilter 框架。
  • firewalld 的此实用程序也可以在 Netfilter 上运行 框架,并具有预定义的规则集。它的工作方式与 其他,并带有不同的预建网络区域 配置。

UFW

ufw(简单防火墙),顾名思义,消除了 在 “iptables”(或其 successor) 通过为您提供更简单的界面。它不止于 适合初学者。基本上,无论你在 “iptables” 中需要什么规则,你都可以通过 ufw 用一些简单的命令来定义它们,然后在 “iptables” 中配置你想要的规则。让我们看看下面的一些基本 ufw 命令。

要检查防火墙的状态,您可以使用以下命令:

user@ubuntu:~$ sudo ufw status
Status: inactive

如果它显示为非活动状态,您可以使用以下命令启用它 命令:
 

user@ubuntu:~$ sudo ufw enable
Firewall is active and enabled on system startup

要关闭防火墙,请在 above 命令。

下面是一个规则,用于允许来自 Linux 计算机的所有传出连接。命令中的 表示我们将此策略定义为默认策略,允许所有传出流量,除非我们在单独的规则中对任何特定应用程序定义传出流量限制。您还可以通过在以下命令中替换 来制定规则来允许/拒绝进入您计算机的流量:defaultoutgoingincoming

user@ubuntu:~$ sudo ufw default allow outgoing
Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)

您可以拒绝系统中任何端口的传入流量。假设我们想要阻止传入的 SSH 流量。我们可以通过命令 来实现这一点。如您所见,在本例中,我们首先指定了 action;此外,我们指定了端口和传输协议,即 TCP 端口 22,或简称 .ufw deny 22/tcpdeny22/tcp

user@ubuntu:~$ sudo ufw deny 22/tcp
Rule added
Rule added (v6)

要按编号顺序列出所有活动规则,您可以使用以下内容 命令:

列出所有规则
user@ubuntu:~$ sudo ufw status numberedTo                         Action      From--                         ------      ----
[ 1] 22/tcp                     DENY IN     Anywhere                  
[ 2] 22/tcp (v6)                DENY IN     Anywhere (v6)   

要删除任何规则,请使用规则执行以下命令 要删除的号码:

user@ubuntu:~$ sudo ufw delete 2
Deleting:deny 22/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)

这些不同的实用程序可用于管理 Netfilter。为 Linux 操作系统选择合适的实用程序取决于多种因素,例如对操作系统的熟悉程度和您的要求。您可以通过以下方式测试您对 Linux 防火墙的了解 创建此任务中定义的一些规则并对其进行测试以确保它们 正在按预期工作。

相关文章:

Cyber Security 101-Security Solutions-Firewall Fundamentals(防火墙基础)

了解防火墙并亲身体验 Windows 和 Linux 内置防火墙。 任务1:防火墙的用途是什么 我们看到商场、银行、 餐馆和房屋。这些警卫被安置在 这些区域用于检查进出人员。这 维护此检查的目的是确保没有人在没有 被允许。这个警卫充当了他所在区域和访客之间的一堵墙。 …...

本地仓库管理之当前分支内的操作

以刚搭建好的git仓库为例,刚搭建完的仓库只有master分支,使用git branch查看当前的分支情况。 elfubuntu:~/work/example/hello$ git branch *所在分支为当前分支,即master分支 当前分支进行源码修改时简单流程图如下: 在当前分…...

【Unity3D】3D物体摆放、场景优化案例Demo

目录 PlaceManager.cs(放置管理类) Ground.cs(地板类) 和 GroundData.cs(地板数据类) 额外知识点说明 1、MeshFilter和MeshRenderer的Bounds区别 2、Gizmos 绘制一个平行于斜面的立方体 通过网盘分享的文件:PlaceGameDemo2.unitypackage 链接: https://pan.baid…...

ORACLE 12C开启EM EXPRESS过程

1 首先启动监听和关闭ORACLE/LINUX防火墙(这一步略过) lsnrctl start 2 然后查看http和https端口 select dbms_xdb_config.gethttpsport() from dual; select dbms_xdb_config.gethttpport() from dual; 3 设置em端口 exec dbms_xdb_config.setHTTPSPo…...

JavaScript学习笔记(1)

html 完成了架子, css 做了美化,但是网页是死的,我们需要给他注入灵魂,所以接下来我们需要学习 JavaScript,这门语言会让我们的页面能够和用户进行交互。 一、引入方式 1.内部脚本 将 JS 代码定义在 HTML 页面中 Jav…...

【PCL】Segmentation 模块—— 欧几里得聚类提取(Euclidean Cluster Extraction)

1、简介 PCL 的 Euclidean Cluster Extraction(欧几里得聚类提取) 是一种基于欧几里得距离的点云聚类算法。它的目标是将点云数据分割成多个独立的簇(clusters),每个簇代表一个独立的物体或结构。该算法通过计算点与点…...

CMake技术细节:解决未定义,提供参数

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...

BUUCTF_Web(October 2019 Twice SQL injection)

October 2019 Twice SQL injection 知识点: 二次注入: 当用户提交的恶意数据被存入数据库后,应用程序再把它读取出来用于生成新的SQL语句时,如果没有相应的安全措施,是有可能发生SQL注入的,这种注入就叫…...

CentOS 下载软件时报Error: Failed to synchronize cache for repo ‘AppStream‘解决方法

下载软件时出现以下问题 直接把CentOS-AppStream.repo改个名字就行 cd /etc/yum.repos.d/ mv CentOS-AppStream.repo CentOS-AppStream.repo.bak就可以了 解决思路 把AI问遍,无人会,解决法 想要下载软件通通失败了,解决方法当然是问AI&am…...

LeetCode 2661. First Completely Painted Row or Column

🔗 https://leetcode.com/problems/first-completely-painted-row-or-column 题目 给一个 m*n 的二维数组,给一个 arr 的一纬数组元素由 [1, m * n] 组成遍历 arr,对二维数组中对应的元素进行染色返回执行到 arr 的第几个 index 的时候&…...

git的安装

目录 下载 安装 下载 前往官网下载安装包Git 点击dowmload选择适合自己的版本 安装 next 全选 是否修改库名,默认master 使用默认的 使用默认的 配置实验选项(新功能,可以不选) 不点 最后安装在d盘,programfile…...

C#性能优化技巧:利用Lazy<T>实现集合元素的延迟加载

一、C#中的Lazy C#中的Lazy<T>是一个泛型类&#xff0c;它实现了延迟加载&#xff08;Lazy Initialization&#xff09;的功能。延迟加载是指对象的创建被推迟&#xff0c;直到第一次被使用时才进行实例化。这对于大型或资源密集型对象的性能优化非常有用&#xff0c;因…...

Jenkins-基于Role的鉴权机制

jenkins自带了一些全局性的安全配置。 但无法通过job等相对细粒度的来控制使用者的权限。但它可以借助相关的插件实现细颗粒的权限控制。 插件&#xff1a; Role-based Authorization Strategy 需要在configure global security中配置授权策略如下&#xff1a; 保存后&#x…...

Python 并发编程的终极武器:使用 `multiprocessing` 模块征服计算密集型任务

Python 并发编程的终极武器:使用 multiprocessing 模块征服计算密集型任务 在Python中,由于全局解释器锁(GIL)的存在,多线程在处理CPU密集型任务时并不能真正实现并行,而是以交替执行的方式模拟并发,效率提升有限。为了充分利用多核CPU的优势,我们需要使用多进程。mul…...

vscode如何选用不同的python的解释器

在 VS Code 中设置 Python 的运行环境需要以下几个步骤&#xff0c;具体配置取决于你的开发环境和需求&#xff1a; 1. 安装必要工具 安装 Python&#xff1a; 确保已在系统中安装 Python&#xff08;推荐通过 Python 官方网站 安装&#xff09;。安装 VS Code 和 Python 扩展…...

MyBatis 注解开发详解

MyBatis 注解开发详解 MyBatis 支持使用注解来进行数据库操作。注解方式将 SQL 语句直接写在 Java 接口中&#xff0c;通过注解来完成 CRUD&#xff08;增删改查&#xff09;操作&#xff0c;省去了使用 XML 配置的繁琐步骤。这种方式适合简单项目或快速原型开发&#xff0c;因…...

【动态规划】--- 斐波那契数模型

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏&#xff1a; 算法Journey &#x1f3e0; 第N个泰波那契数模型 &#x1f4cc; 题目解析 第N个泰波那契数 题目要求的是泰波那契数&#xff0c;并非斐波那契数。 &…...

【EdgeAI实战】(1)STM32 边缘 AI 生态系统

【EdgeAI实战】&#xff08;1&#xff09;STM32 边缘 AI 生态系统 【EdgeAI实战】&#xff08;1&#xff09;STM32 边缘 AI 生态系统 1. STM32 边缘人工智能1.1 X-CUBE-AI 扩展包1.2 STM32 AI Model Zoo1.3 ST AIoT Craft 2. STM32N6 AI 生态系统 (STM32N6-AI)2.1 STM32N6 AI 产…...

【陕西省乡镇界】面图层shp格式arcgis数据乡镇名称和编码2020年wgs84坐标无偏移内容测评

标题中的“陕西省乡镇界面图层shp格式arcgis数据乡镇名称和编码2020年wgs84坐标无偏移.zip”表明这是一个地理信息系统&#xff08;GIS&#xff09;的数据集&#xff0c;专为陕西省的乡镇区域设计。该数据集以Shapefile&#xff08;shp&#xff09;格式提供&#xff0c;是GIS领…...

Fabric区块链网络搭建:保姆级图文详解

目录 前言1、项目环境部署1.1 基础开发环境1.2 网络部署 2、后台环境2.1、环境配置2.2、运行springboot项目 3、PC端3.1、安装依赖3.2、修改区块链网络连接地址3.3、启动项目 前言 亲爱的家人们&#xff0c;创作很不容易&#xff0c;若对您有帮助的话&#xff0c;请点赞收藏加…...

HTML 表单和输入标签详解

HTML 表单是网页与用户交互的重要工具&#xff0c;它允许用户输入数据并将其提交到服务器。表单在网页中的应用非常广泛&#xff0c;例如登录、注册、搜索、评论等功能都离不开表单。本文将详细介绍 HTML 表单及其相关标签的使用方法&#xff0c;帮助你全面掌握表单的设计与实现…...

sql实战解析-sum()over(partition by xx order by xx)

该窗口函数功能 sum( c )over( partition by a order by b) 按照一定规则汇总c的值&#xff0c;具体规则为以a分组&#xff0c;每组内按照b进行排序&#xff0c;汇总第一行至当前行的c的加和值。 从简单开始一步一步讲&#xff0c; 1、sum( )over( ) 对所有行进行求和 2、sum(…...

Vue平台开发三——项目管理页面

前言 对于多个项目的使用&#xff0c;可能需要进行项目切换管理&#xff0c;所以这里创建一个项目管理页面&#xff0c;登录成功后跳转这个页面&#xff0c;进行选择项目&#xff0c;再进入Home页面展示对应项目的内容。 一、实现效果图预览 二、页面内容 功能1、项目列表展…...

JDBC实验测试

一、语言和环境 实现语言&#xff1a;Java。 环境要求&#xff1a;IDEA2023.3、JDK 17 、MySQL8.0、Navicat 16 for MySQL。 二、技术要求 该系统采用 SWING 技术配合 JDBC 使用 JAVA 编程语言完成桌面应用开发。 三、功能要求 某电商公司为了方便客服查看用户的订单信…...

使用 vllm 部署 MiniCPM-o 2.6

使用 vllm 部署MiniCPM-o 2.6 1. 创建虚拟环境2. 克隆代码3. 从代码安装 vllm4. 安装 flash-attn5. 启动 MiniCPM-o 2.66. 使用 chatbox 客户端访问并测试一下 1. 创建虚拟环境 conda create -n vllm_openbmb python3.11 -y conda activate vllm_openbmb 2. 克隆代码 git clo…...

WSL 2 自动更新 虚拟 IP 到 window hosts

window下的wsl2 开发中使用到 域名映射&#xff0c;但是WSL2 每次启动都会被分配一个虚拟的 ip 地址&#xff0c;每次启动虚拟ip 都不一样&#xff0c;导致要频繁 更改 window 的 hosts 文件&#xff0c;太麻烦了&#xff0c;所以写一个自动执行的 .sh 脚本&#xff0c;每次启动…...

非常棒的长文本输入大模型:MiniMax以及基于它的海螺AI模型

非常棒的长文本输入大模型&#xff1a;基于MiniMax的海螺AI模型&#xff0c;快来体验一下吧&#xff01; 海螺AI—MiniMax 旗下生产力产品&#xff0c;你的AI伙伴&#xff0c;10倍速提升工作学习效率 这个大模型最大的特点就是支持长文本输入&#xff0c;而且是从内部就擅长对长…...

python milvus及curl命令进行query请求

代码如下: from pymilvus import MilvusClient client = MilvusClient( uri="http://localhost:19530", token="root:Milvus" ) res = client.query( collection_name="query_collection", filter="color like \"…...

谈谈MySQL中的索引和事务

目录 1. 索引 1.1 索引介绍 1.2 缺陷 1.3 使用 1.3.1 查看索引 1.3.2 创建索引 1.3.3 删除索引 2. 索引底层的数据结构 2.1 B树 3. 事务 3.1 为什么使用事务 3.2 事务的使用 3.3 事务的基本特性 1. 索引 1.1 索引介绍 索引相当于一本书的目录(index), 在一…...

Java 资源管理教程:掌握 close 方法、Cleaner 类与 Runtime.addShutdownHook

在 Java 编程中&#xff0c;高效地管理资源是至关重要的&#xff0c;特别是当你处理文件、数据库连接、网络连接等有限资源时。为了确保这些资源得到正确释放&#xff0c;Java 提供了多种机制。本教程将深入探讨 close 方法、Cleaner类以及 Runtime.addShutdownHook 方法&#…...

tensorflow源码编译在C++环境使用

https://tensorflow.google.cn/install/source?hlzh-cn查看tensorflow和其他需要下载软件对应的版本&#xff0c;最好一模一样 1、下载TensorFlow源码 https://github.com/tensorflow/tensorflow 2、安装编译protobuf&#xff08;3.9.2&#xff09; protobuf版本要和TensorFlo…...

算法日记8:StarryCoding60(单调栈)

一、题目 二、解题思路&#xff1a; 题意为让我们找到每个元素的左边第一个比它小的元素&#xff0c;若不存在则输出-1 2.1法一&#xff1a;暴力&#xff08;0n2&#xff09; 首先&#xff0c;我们可以想到最朴素的算法&#xff1a;直接暴力两层for达成目标核心代码如下&…...

HarmonyOS快速入门

HarmonyOS快速入门 1、基本概念 UI框架&#xff1a; HarmonyOS提供了一套UI开发框架&#xff0c;即方舟开发框架&#xff08;ArkUI框架&#xff09;。方舟开发框架可为开发者提供应用UI开发所必需的能力&#xff0c;比如多种组件、布局计算、动画能力、UI交互、绘制等。 方…...

基于微信小程序高校订餐系统的设计与开发ssm+论文源码调试讲解

第4章 系统设计 一个成功设计的系统在内容上必定是丰富的&#xff0c;在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值&#xff0c;吸引更多的访问者访问系统&#xff0c;以及让来访用户可以花费更多时间停留在系统上&#xff0c;则表明该系统设计得比较专…...

stm32使用MDK5.35时遇到*** TOOLS.INI: TOOLCHAIN NOT INSTALLED

mdk5.35出现*** TOOLS.INI: TOOLCHAIN NOT INSTALLED的问题&#xff01;&#xff01;&#xff01;&#xff01; 以管理员身份重新打开MDK5.35.0.0&#xff0c;用keygen破解密码&#xff0c;但是一直提示我是没有破解成功。 解决办法&#xff1a; target 改成ARM...

Java面试专题——常见面试题1

引入 本文属于专题中的常见面试题模块&#xff0c;属于面试时经常遇到的&#xff0c;适合需要面试的小伙伴做面试前复习准备用&#xff0c;后续会持续补充 1.面向对象基本特征 面向对象的基本特征是什么&#xff1f;怎么理解&#xff1f; 面向对象的基本特征是封装、继承、…...

【C++】在线五子棋对战项目网页版

目录 1.Websocket 1.1.Websocket的简单认识 1.2.什么是轮询呢&#xff1f; 1.3.websocket协议切换过程 1.4.websocketpp库常用接口认识 1.5.websocketpp库搭建服务器流程 1.6.websocketpp库搭建服务器 2.mysqlclient库-接口认识 3.项目模块的划分&#xff1a; 4.项目…...

【Docker】搭建一个功能强大的自托管虚拟浏览器 - n.eko

前言 本教程基于群晖的NAS设备DS423的docker功能进行搭建&#xff0c;DSM版本为 DSM 7.2.2-72806 Update 2。 n.eko 支持多种类型浏览器在其虚拟环境中运行&#xff0c;本次教程使用 Chromium​ 浏览器镜像进行演示&#xff0c;支持访问内网设备和公网地址。 简介 n.eko 是…...

学习ASP.NET Core的身份认证(基于JwtBearer的身份认证7)

本文验证基于请求头中传递token信息的认证方式&#xff0c;webapi项目的控制器类中新建如下函数&#xff0c;仅通过验证的客户端能调用&#xff0c;需要客户端请求在Header中添加’Authorization’: Bearer token’的键值对且通过token验证后才能调用。 [Authorize] [HttpGet]…...

Linux 内核自旋锁spinlock(一)

文章目录 前言一、自旋锁1.1 简介1.2 API1.2.1 spin_lock/spin_unlock1.2.2 spin_lock_irq/spin_unlock_irq1.2.3 spin_lock_irqsave/spin_unlock_irqstore1.2.4 spin_lock_bh/spin_unlock_bh1.2.5 补充 二、自选锁原理三、自旋锁在内核的使用3.1 struct file3.2 struct dentry…...

JAVA 使用反射比较对象属性的变化,记录修改日志。使用注解【策略模式】,来进行不同属性枚举值到中英文描述的切换,支持前端国际化。

1.首先定义一个接口&#xff0c;接口中有两个方法&#xff0c;分别是将属性转换成英文描述和中文描述。 其实就是将数据库中记录的 0 1 &#xff0c;转换成后面的描述 这边定义了中文转换为默认方法&#xff0c;是因为有些属性不需要进行中文转换&#xff0c;或者该属性的枚举…...

利用免费GIS工具箱实现高斯泼溅切片,将 PLY 格式转换为 3dtiles

在地理信息系统&#xff08;GIS&#xff09;和三维数据处理领域&#xff0c;不同数据格式有其独特应用场景与优势。PLY&#xff08;Polygon File Format&#xff09;格式常用于存储多边形网格数据&#xff0c;而 3DTiles 格式在 Web 端三维场景展示等方面表现出色。将 PLY 格式…...

Mysql视图(学习自用)

一、概念 二、创建视图 三、查询视图 四、修改视图 五、删除视图 六、视图检查选项 七、视图的更新 八、视图的作用...

企业内训|基于华为昇腾910B算力卡的大模型部署和调优-上海某央企智算中心

近日上海&#xff0c;TsingtaoAI为某央企智算中心交付华为昇腾910B算力卡的大模型部署和调优课程。课程深入讲解如何在昇腾NPU上高效地训练、调优和部署PyTorch与Transformer模型&#xff0c;并结合实际应用场景&#xff0c;探索如何优化和迁移模型至昇腾NPU平台。课程涵盖从模…...

linux下一些参数的说明

/proc/sys/net/corebpf_jit_enable 作用&#xff1a;用于控制是否启用BPF&#xff08;Berkeley Packet Filter&#xff09;的即时编译&#xff08;JIT&#xff09;功能。当启用该功能时&#xff0c;JIT编译器会将eBPF&#xff08;extended Berkeley Packet Filter&#xff09;…...

CKS认证 | Day1 K8s集群部署与安全配置

一、K8s安全运维概述 Kubernetes&#xff08;K8s&#xff09; 是一个广泛使用的容器编排平台&#xff0c;用于自动化部署、扩展和管理容器化应用程序。随着 K8s 在生产环境中的普及&#xff0c;安全运维成为确保系统稳定性和数据安全的关键。 1.1 安全运维的重要性 万物互联&…...

新手上路:Anaconda虚拟环境创建和配置以使用PyTorch和DGL

文章目录 前言步骤 1: 安装 Anaconda步骤 2: 创建新的 Anaconda 环境步骤 3: 安装最新版本的 PyTorch步骤 4: 安装特定版本的 PyTorch步骤 5: 安装最新版本的 DGL步骤 6: 安装特定版本的 DGL步骤 7: Pycharm中使用虚拟环境解释器第一种情况&#xff1a;创建新项目第二种情况&am…...

什么是PCB的Mark点?如何进行设计Mark点?

一、什么是Mark点&#xff1f; PCB的Mark点&#xff0c;也被称为基准点或光学定位点&#xff0c;是在印刷电路板&#xff08;Printed Circuit Board, PCB&#xff09;上设置的一种特殊标记。 ​ 图1.1 PCB的Mark点 Mark点的主要作用是为表面贴装技术&#xff08;Surface Mount…...

Spark SQL中的from_json函数详解

Spark SQL中的from_json函数详解 在Spark SQL中&#xff0c;from_json是一个用于解析JSON数据的函数&#xff0c;主要用于将JSON格式的字符串解析为结构化的数据&#xff08;即StructType或其他Spark SQL数据类型&#xff09;。这个函数在处理半结构化数据&#xff08;如JSON日…...

Vue 引入及简单示例

Vue 渐进式JavaScript 框架 学习笔记 - Vue 引入及简单示例 目录 与jquery区别 Vue引入 两种方式引入 下载到本地 代码结构 简单示例 Style中引入vue.js 对vue语法进行解析 对三目运算符支持 设置变量&#xff08;状态&#xff09; 总结 与jquery区别 不需要手动操…...