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

Linux——firewalld防火墙(笔记)

目录

一:Firewalld防火墙的概述

(1)firewalld简介

(2)firewalld&iptables的关系

(3)firewalld与iptables service的区别

1. ‌规则管理方式‌

2. ‌默认策略与设计逻辑‌

3. ‌配置文件与持久化‌

4. ‌适用场景与兼容性‌

5. ‌底层实现与扩展性‌

二:Firewalld网络区域

三:Firewalld防火墙firewall——cmd命令设置

1、获取预定义信息

2、区域管理

3、服务管理

4、端口管理

5、两种配置模式


一:Firewalld防火墙的概述

(1)firewalld简介

    它的主要作用为包过滤机制提供匹配规则(或策略),通过各种不同的规则告诉net filter对来自指定源、前往指定目的或具有某些协议特征的数据包采取何种处理方式为了更加方便地组织和管理防火墙。

    firewalld提供了支持网站区域所定义的网络链接以及接口安全等级的动态防火墙管理工具,其设计以‌区域(Zone)‌和‌服务(Service)‌为核心,简化了传统防火墙规则的配置流程。并且拥有两种配置模式:短暂性配置与永久性配置,支持服务或应用程序直接添加防火墙规则接口。

(2)firewalld&iptables的关系

    firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的net filter来实现。他们的作用都是用于维护规则,而真正使用规则干活的是内核的net filter,然而他们的结构以及使用方法并不相同。

    系统提供了图形化的配置工具firewall-config、system-config-firewall,提供命令行客户端firewall-cmd,用于配置firewalld永久性或非永久性运行时间的改变:依次用iptables工具与执行数据包筛选的内核中的Netfilter通信。逻辑如下:

    iptables服务和firewalld都是通过iptables命令与内核netfilter进行交互的。在Euler系统中,我们仍然可以使用iptables命令来管理我们的防火墙。唯一不同的是当我们重启服务器或重启firewalld时,iptables命令管理的规则不会自动加载,反而会被firewalld的规则代替。 

(3)firewalld与iptables service的区别

1. ‌规则管理方式
  • Firewalld
    • 采用动态规则管理,支持运行时修改单条规则,无需重启服务即可生效(临时规则),永久规则需配合 --permanent 参数保存‌。
    • 规则更新时不会中断现有网络连接‌。
  • iptables
    • 规则修改后需全量刷新(iptables-restore 或 service iptables restart),导致现有连接可能中断‌。
    • 所有规则通过链式结构(INPUT/OUTPUT/FORWARD 等)管理,需手动维护规则顺序‌。

2. ‌默认策略与设计逻辑
  • Firewalld
    • 默认拒绝所有流量,需显式开放服务或端口(如 HTTP、SSH)‌。
    • 以‌区域(Zone)‌为核心,根据网络接口或源 IP 自动匹配规则(如 publictrusted),适用于多网络环境切换‌。
  • iptables
    • 默认允许所有流量,需显式拒绝不需要的访问‌。
    • 基于‌接口‌和‌链式规则‌,直接控制具体端口或协议,适合精细化但复杂度高的场景‌。

3. ‌配置文件与持久化
  • Firewalld
    • 配置文件以 XML 格式存储于 /etc/firewalld/,支持自定义服务模板和区域规则‌68。
    • 临时规则与永久规则分离,需通过 --reload 同步配置‌。
  • iptables
    • 规则保存于文本文件 /etc/sysconfig/iptables,直接编辑后需手动加载‌。
    • 所有规则修改需显式保存(service iptables save)才能持久化‌。

4. ‌适用场景与兼容性
  • Firewalld
    • 适合动态网络环境(如频繁切换信任区域)及追求配置便捷性的场景‌。
    • 默认集成于 CentOS/RHEL 7+ 等现代 Linux 发行版‌。
  • iptables
    • 兼容老旧系统(如 CentOS 6 及更早版本),适合需要复杂规则(如深度包检测、自定义链)的场景‌。
    • 与 Firewalld 冲突,二者不可同时启用‌。

5. ‌底层实现与扩展性
  • 共同点
    • 均依赖内核的 Netfilter 框架,实际流量控制由内核模块完成‌。
  • 差异点
    • Firewalld 可通过直接接口(Direct Interface)调用 iptables 语法添加自定义规则‌。
    • iptables 提供更底层的控制,支持 NAT、流量整形等高级功能‌。

二:Firewalld网络区域

    firewalld将所有的网络数据流量划分为多个区域,从而简化防火墙管理。根据数据包的源IP地址或传入网络接口等条件,将数据流量传入相应区域的防火墙规则。对于进入系统的数据包,首先检查的就是其源地址。逻辑如下:

  • 若源地址关联到特定的区域,则执行该区域所制定的规则。
  • 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则。
  • 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所制定的规则。

    默认区域不是单独的区域,而是指向系统上定义的某个其他区域。默认情况下,默认区域是public,但是系统管理员可以更改默认区域。以上匹配规则,按照先后顺序,第一个匹配的规则胜出。

    在每个区域中都可以配置其要打开或者关闭的一系列服务或端口,firewalld的每个预定义的区域都设置了默认打开的服务。预定义区域说明如下:

区域默认策略规则
trusted允许所有的数据包
home拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-clent与dhcpv6-client服务相关,则允许流量
internal

拒绝流入的流量,除非与流出的流量数相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许流量

work拒绝流入的流量。除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量
public拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量
external拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
dmz拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
block拒绝流入的流量,除非与流出的流量相关
drop拒绝流入的流量,除非与流出的流量相关

三:Firewalld防火墙firewall——cmd命令设置

1、获取预定义信息

    firewal1-cmd 预定义信息主要包括三种:可用的区域、可用的服务以及可用的 ICMP 阻塞类型,具体的查看命令如下所示。
 

[root@localhost ~]# firewall-cmd --get-zones
work drop internal external trusted home dmz public block
[root@localhost ~]# firewall-cmd --get-service
RH-Satellite-6 amanda-client amanda-k5-client baculabacula-client cephceph-mondhcp
dhcpv6 dhcpv6-client dnsdocker-registry dropbox-lansyncfreeipa-ldap
...    ...    //省略部分内容
transmission-clientvdsmvnc-serverwbem-https xmpp-bosh xmpp-client xmpp-local
xmpp-server
[root@localhost ~]# firewall-cmd --get-icmptypes
...    ...    //省略部分内容
timestamp-request

    firewall-cmd --get-icmptypes 命令的执行结果中各种阻塞类型的含义分别如下:

阻塞类型含义
destination-unreachable目的地址不可达
echo-reply应答回应(pong)
parameter-problem参数问题
redirect重新定向
router-advertisement路由器通告
router-solicitation路由器征寻
source-quench源端抑制
time-exceeded超时
timestamp-reply时间戳应答回应
timestamp-request时间戳请求

2、区域管理

    使用firewall-cmd命令可以实现获取和管理区域,为指定区域绑定网络接口等功能。区域管理选项说明如下: 

选项说明
--get-default-zone显示网络连接或接口的默认区域
--set-default-zone=<zone>设置网络连接或接口的默认区域
--get-active-zones显示已激活的所有区域
--get-zone-of-interface=<interface>显示指定接口绑定的区域
--zone=<zone> --add-interface=<interface>为指定接口绑定区域
--zone=<zone> --change-interface=<interface>为指定的区域更改绑定的网络接口
--zone=<zone> --remove-interface=<interface>为指定的区域删除绑定的网络接口
--list-all-zones显示所有区域及其规则
[--zone=<zone>] --list-all显示所有指定区域的所有规则

具体操作如下:

(1)显示当前系统中的默认区域.

[root@localhost ~]# firewall-cmd --get-default-zone
public

(2)显示默认区域的所有规则。
 

[root@localhost ]# firewall-cmd -list-all
public(active)target: default
icmp-block-inversion:no
interfaces:ens160
sources:
services:dhcpv6-client ssh
ports:
protocols:
masquerade:no
forward-ports:
sourceports:
icmp-blocks:rich rules:

(3)显示网络接口 ens160 对应区域。

[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens160
public

(4)将网络接口 ens160 对应区域更改为 internal 区域,

[root@localhost ~]# firewall-cmd --zone=internal --change-interface=ens160
The interface is under control of NetworkManager, setting zone to 'internal'. success
[root@localhost ~]# firewall-cmd --zone=internal --list-interfaces
ens160
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens160
internal

(5)显示所有激活区域.

[root@localhost ~]# firewall-cmd--get-active-zones
internal
interfaces:ens160 

3、服务管理

    为了方便管理,firewalld 预先定义了很多服务,存放在 /usr/lib/firewalld/services/ 目录中,服务通过单个的 XML配置文件来指定。这些配置文件则按以下格式命名:service-name.xml,每个文件对应一项具体的网络服务,如 ssh 服务等。service 配置具有以下优点:

  • 通过服务名字来管理规则更加人性化;
  • 通过服务来组织端口分组的模式更加高效。如果一个服务使用了若干个网络端口,则服务的配置文件就相当于提供了到这些端口的规则管理的批量操作快捷方式。

    下列为firewall-cmd命令区域中服务管理的常用选项:

参数作用
--get-default-zone查访默认的区域名称
--set-default-zone=<区域名称>设置默认的区域,使其永久生效
--get-zones显示可以的区域
--get-services显示预定义的服务
--get-active-zones显示当前正在使用的区域、来源地址和网卡名称
--add-source=将源自此IP或子网的流量导向指定的区域
--remove-source=不再将源自此IP或子网的流量导向这个区域
--add-interface=<网络名称>将源自该网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称>将某个网卡与区域进行关联
--list-all显示当前区域的网卡配置参数、资源、端口以及服务等信息
--list-all-zones显示所有区域的网卡配置参数、资源】端口以及服务等信息
--add-service=<服务名>设置默认区域允许该服务的流量
--add-port=<端口号/协议>设置默认区域允许该端口的流量
--remove-service=<服务号>设置默认区域不再允许该服务的流量
--remove-port=<端口号/协议>设置默认区域不再允许该端口的流量
--reload让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
--panic-on开启应急状态模式
--panic-off关闭应急状态模式

(1)为默认区域设置允许访问的服务。

[root@localhost ~]# firewall-cmd --list-services    //显示默认区域内允许访问的所有服务
dhcpv6-clientssh
[root@localhost ~]# firewall-cmd --add-service=http    //设置默认区域允许访问 http 服务
success
[root@localhost ~]# firewall-cmd --add-service=https    //设置默认区域允许访间 https 服务
success
[root@localhost ~]# firewall-cmd --list-services
dhcpv6-client ssh http https

 (2)为 internal 区域设置允许访问的服务,

[root@localhost ~]# firewall-cmd --zone=internal --add-service=mysql    //设置 internal 区域允许访问 mysq1 服务
success
[root@localhost~]# firewall-cmd --zone=internal--remove-service=samba-client    //设置 internal 区域不允许访问 samba-client 服务
success
[root@localhost ~]# firewall-cmd --zone=internal --list-services    //显示 internal 区域内允许访问的所有服务
ssh mdns dhcpv6-client mysql

4、端口管理

    在进行服务配置时,预定义的网络服务可以使用服务名配置,服务所涉及的端口就会自动打开。但是,对于非预定义的服务只能手动为指定的区域添加端口。例如,执行以下操作即可实现在 internal 区域打开 443/TCP 端口。

[root@localhost ~]# firewall-cmd --zone=internal--add-port=443/tcp
success

    若想实现在 internal 区域禁止 443/TCP 端口访问,可执行以下命令。

root@localhost ~]# firewall-cmd --zone=internal --remove-port=443/tcp
success

5、两种配置模式

    前面提到 firewall-cmd 命令工具有两种配置模式:运行时模式表示当前内存中运行的防火墙配置,在系统或 firewalld 服务重启、停止时配置将失效;永久模式表示重启防火墙或重新加载防火墙时的规则配置,是永久存储在配置文件中的。
firewa11-cmd 命令工具与配置模式相关的选项有三个:

  • --reload:重新加载防火墙规则并保持状态信息,即将永久配置应用为运行时配置。
  • --permanent:带有此选项的命令用于设置永久性规则,这些规则只有在重新启动 firewalld 或重新加载防火墙规则时才会生效:若不带有此选项,表示用于设置运行时规则。
  • --runtime-to-permanent:将当前的运行时配置写入规则配置文件中,使之成为永久性配置。

相关文章:

Linux——firewalld防火墙(笔记)

目录 一&#xff1a;Firewalld防火墙的概述 &#xff08;1&#xff09;firewalld简介 &#xff08;2&#xff09;firewalld&iptables的关系 &#xff08;3&#xff09;firewalld与iptables service的区别 1. ‌规则管理方式‌ 2. ‌默认策略与设计逻辑‌ 3. ‌配置文…...

SICAR标准功能块 FB1514 “Robot_request_FB”

1、功能块截图 2、引脚功能描述 输入引脚: EN:使能输入,控制功能块运行。PLANT_IDENTIFIER:工厂或设备标识符(如 #FWO10_RO1_SEGM_201),用于标识操作对象。OPMODE_USER:操作模式输入(用户模式)。INTERFACE_OUT:连接系统数据库的操作模式接口(SYSTEM_DB.OPmode[2].U…...

vue3 watch和watchEffect 的用法和区别

在 Vue 3 里&#xff0c;watch 和 watchEffect 都是用于响应式数据变化的 API&#xff0c;但它们在使用方法和应用场景上存在差异。下面详细介绍它们的用法和区别。 用法 watch watch 用于监听特定的响应式数据源&#xff0c;当数据源发生变化时&#xff0c;会执行相应的回调…...

Linux | I.MX6ULL 使用 Yocto 文件系统开发 QT

01 Yocto 文件系统默认支持了 QT,那么我们要怎么在 Yocto 文件系统来运行我们的 QT 程序呢?本章节我们就来学习上在 yocto 文件系统+Ubuntu 环境来开发 QT 程序。 注意,开发环境是基于“qtcreator-3.5.1”(Ubuntu16.04.6),库文件是Qt5.5.1 02 QT 安装 (1)首先我们…...

论文阅读:2024 ICLR Workshop. A STRONGREJECT for Empty Jailbreaks

总目录 大模型安全相关研究&#xff1a;https://blog.csdn.net/WhiffeYF/article/details/142132328 A STRONGREJECT for Empty Jailbreaks https://arxiv.org/pdf/2402.10260 https://github.com/dsbowen/strong_reject https://strong-reject.readthedocs.io/en/latest/ …...

数据结构实验7.2:二叉树的基本运算

文章目录 一&#xff0c;实验目的二&#xff0c;问题描述三&#xff0c;基本要求四&#xff0c;实验操作五&#xff0c;示例代码六&#xff0c;运行效果 一&#xff0c;实验目的 深入理解树与二叉树的基本概念&#xff0c;包括节点、度、层次、深度等&#xff0c;清晰区分二叉…...

关于一对多关系(即E-R图中1:n)中的界面展示优化和数据库设计

前言 一对多&#xff0c;是常见的数据库关系。在界面设计时&#xff0c;有时为了方便&#xff0c;就展示成逗号分割的字符串。例如&#xff1a;学生和爱好的界面。 存储 如果是简单存储&#xff0c;建立数据库&#xff1a;爱好&#xff0c;课程&#xff0c;存在一张表中。 但…...

Jenkins设置中文显示

1 安装插件 依次进入菜单&#xff1a; Jenkins -> Manage Jenkins -> Plugin Manager -> Avaliable 1.1 安装插件Locale plugin 1.2 安装插件Localization: Chinese&#xff08;Simplified&#xff09; 2 修改配置 点击菜单Manage Jenkins进入系统管理 点击菜单C…...

【MATLAB海洋专题】历史汇总

【MATLAB海洋专题】历史汇总 目录 01&#xff1a;海洋专题进阶教学 02&#xff1a;海洋数据处理 03&#xff1a;海洋数据下载 04&#xff1a;海洋配色 05&#xff1a;海洋专题基础教学 06: 其他基础画图 07&#xff1a;python 画海图专题 08&#xff1a;模式相关文件制作 01…...

【java实现+4种变体完整例子】排序算法中【归并排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格

以下是归并排序的详细解析&#xff0c;包含基础实现、常见变体的完整代码示例&#xff0c;以及各变体的对比表格&#xff1a; 一、归并排序基础实现 原理 通过分治法将数组分为两半&#xff0c;递归排序子数组&#xff0c;最后合并有序子数组。 代码示例 public class Mer…...

深入理解前端安全:CSRF与XSS攻击详解

引言 在Web开发的世界里&#xff0c;安全性就像是房子的门锁。你可能觉得它不显眼&#xff0c;但一旦没了它&#xff0c;麻烦可就大了&#xff01;本文将深入探讨两大前端安全威胁&#xff1a;CSRF&#xff08;跨站请求伪造&#xff09;和XSS&#xff08;跨站脚本攻击&#xf…...

spring-batch批处理框架(2)

文章目录 八、作业控制8.1 作业启动8.1.1 SpringBoot 启动8.1.2 Spring 单元测试启动8.1.3 RESTful API 启动 8.2 作业停止方案1&#xff1a;Step 步骤监听器方式方案2&#xff1a;StepExecution停止标记 8.3 作业重启8.3.1 禁止重启8.3.2 限制重启次数8.3.3 无限重启 九、Item…...

[Java · 初窥门径] Java 注释符

&#x1f31f; 想系统化学习 Java 编程&#xff1f;看看这个&#xff1a;[编程基础] Java 学习手册 0x01&#xff1a;Java 注释符简介 在编写程序时&#xff0c;为了使代码易于理解&#xff0c;通常会为代码加一些注释。Java 注释就是用通俗易懂的语言对代码进行描述或解释&a…...

linux下C++性能调优常用的工具

性能优化的常见流程 发现问题--->定位问题--->解决问题--->验证问题 发现问题的常见工具 1.定位内存问题 top指令&#xff0c;发现占用内存多的线程 asan 发现内存问题。 2.定位cpu问题 top指令&#xff0c;发现占用cpu多的进程&#xff0c;线程 一般对内存和…...

MinnowBoard MAX单板UEFI BIOS代码编译教程

此教程用于UEFI EDK2代码的研究&#xff0c;虽然EDK2框架代码开源&#xff0c;但是都是在模拟器上跑仿真&#xff0c;差点意思&#xff0c;搞过嵌入式大的应该有一个共识&#xff0c;是骡子是马&#xff0c;你得把板子点亮啊。MinnowBoard MAX单板是intel10多年前发布的软硬件全…...

真实波幅策略思路

该策略是一种基于ATR&#xff08;Average True Range&#xff09;指标的交易策略&#xff0c;主要用于期货市场中的日内交易。策略的核心思想是利用ATR指标来识别市场的波动范围&#xff0c;并结合均线过滤来确定买入和卖出的时机。 交易逻辑思维 1. 数据准备与初始化 - 集合竞…...

【每天一个知识点】模式识别

“模式识别”是一种从数据中识别出规律、结构或趋势的技术&#xff0c;它广泛应用于人工智能、机器学习、图像处理、语音识别、自然语言处理等领域。简单来说&#xff0c;就是让计算机学会“看出”数据中的规律&#xff0c;比如&#xff1a; 从图像中识别人脸&#xff08;人脸识…...

Node.js 创建 HTTP 服务端

Node.js 创建 HTTP 服务端的用法总结&#xff0c;内容涵盖了 核心模块、基本用法、Express 简化用法、常见场景、错误处理、以及实用小贴士。 ✅ 一、Node.js 创建 HTTP 服务的方式 Node.js 使用内置的 http 模块即可快速创建一个 Web 服务&#xff0c;无需额外安装依赖。 ✅ …...

深入浅出伯努利分布:从 0‑1 随机世界到统计学习基石

深入浅出伯努利分布&#xff1a;从 0‑1 随机世界到统计学习基石 “当你能把一个问题拆解成一系列“是/否”答案时&#xff0c;伯努利分布就是第一块砖。” 目录 引言&#xff1a;伯努利分布为何如此重要&#xff1f;历史回顾&#xff1a;从赌博到信息论形式化定义与基本表示三…...

x-ui重新申请ssl证书失败

由于某些需要我们重新申请ssl证书&#xff0c;x-ui自动化脚本不能强制更新&#xff0c;根据x-ui仓库源码&#xff1a; https://github.com/vaxilu/x-ui/blob/main/x-ui.sh 在申请ssl证书的地方稍作修改&#xff0c;得到&#xff0c;运行下面的脚本就可以重新申请ssl证书&#…...

Python Requests 库:从安装到精通

摘要 本文详细介绍 Python Requests 库的安装与使用&#xff0c;通过常见示例让你轻松掌握。 一、引言 在当今的互联网时代&#xff0c;与各种 Web 服务进行交互是非常常见的需求。Python 作为一门功能强大且易于学习的编程语言&#xff0c;提供了许多用于网络请求的库&…...

No package docker-ce available问题的解决

安装docker时提示 rootk8s-node3 ~]# yum install -y docker-ce docker-ce-cli containerd.io Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com No packag…...

SRS流媒体服务器

SRS流媒体服务器简介 SRS(Simple RTMP Server)是一个开源的流媒体服务器&#xff0c;主要用于直播和WebRTC场景。以下是关于SRS的关键信息&#xff1a; 主要特性 支持多种协议&#xff1a;RTMP、HTTP-FLV、HLS、WebRTC、SRT等低延迟&#xff1a;特别优化了WebRTC和HTTP-FLV的…...

【后端开发】Spring日志

文章目录 Spring日志日志作用日志测试日志信息日志级别日志配置配置日志级别日志持久化日志文件分割 注解的使用 Spring日志 日志作用 系统监控&#xff1a;可以通过日志记录这个系统的运行状态&#xff0c;对数据进行分析&#xff0c;设置不同的规则&#xff0c;超过阈值时进…...

Nginx 文件上传大小限制及 `client_max_body_size` 最大值详解

一、默认值与错误提示 默认值&#xff1a;client_max_body_size 1m; Nginx 默认允许的请求体最大为 1 MiB&#xff0c;超过该值会返回 413 Request Entity Too Large 错误。错误提示示例&#xff1a;HTTP/1.1 413 Request Entity Too Large Content-Type: text/html二、如何配…...

js day3

for循环打印* let num1prompt("要打印的层数&#xff1a;") for()let i0;i<num1;i&#xff09;{ for(let j1;j<i;j){ doucument.writeln(*) } document.writeln(<br>) } do……while循环 do{ document.writeln(i) i }while(i>20)——先执行再判…...

Nodejs数据库单一连接模式和连接池模式的概述及写法

概述 单一连接模式和连接池模式是数据库连接的两种主要方式&#xff1a; 单一连接模式&#xff1a; 优点&#xff1a;实现简单&#xff0c;适合小型应用缺点&#xff1a;每次请求都需要创建新连接&#xff0c;连接创建和销毁开销大&#xff0c;并发性能差&#xff0c;容易出…...

Java InvalidClassException 深度解析

Java InvalidClassException 深度解析 1. 异常本质 InvalidClassException 是 ObjectStreamException 的子类&#xff0c;在反序列化时抛出&#xff0c;表示序列化ID不匹配或类结构不兼容。 2. 核心触发条件 (1) serialVersionUID 不匹配 java // 版本1&#xff08;原始类…...

日常开发记录

日常开发记录 1.for循环的打断特定循环示例1&#xff1a;跳出嵌套循环示例2&#xff1a;使用continue跳到外层循环 2.同步请求阻塞主线程 1.for循环的打断特定循环 看到了一段这个代码&#xff0c;第一次见 在 JavaScript 中&#xff0c;当我们需要从嵌套循环中跳出时&#x…...

MLLMs for TSAD ?

项目链接:Multimodal LLMs Advance Time Series Analysis 代码链接:https://github.com/mllm-ts/VisualTimeAnomaly 出处:ICLR 2025 一 文章动机 多模态 LLM (MLLM) 通过 “视觉” 方式处理时序的潜力仍未充分探索; 人类检测 “时序异常” 的自然方式:可视化、文本描…...

【网络原理】UDP协议

目录 一. UDP 报文格式 &#xff08;1&#xff09;端口号 &#xff08;2&#xff09;UDP长度 &#xff08;3&#xff09;校验和 UDP协议属于传输层协议&#xff0c;由操作系统内核内置 一. UDP 报文格式 UDP数据报&#xff1a;无连接&#xff0c;不可靠传输&#xff0c;面…...

Android 热点二维码简单示例

Android 热点二维码简单示例 一、前言 Android 原生设置有热点二维码分享功能&#xff0c;有些系统应用也会有这个需求。 下面看看是如何实现的。 本文是一个比较简单的内容。 二、热点二维码生成实现 1、效果 整个应用就一个普通的Activity&#xff0c;显示一个按钮和二维…...

面向AI时代与数字化转型关键期:中小企业IT人才储备计划研究分析

摘要 本文在为中国中小企业&#xff08;SME&#xff09;在当前科技产业&#xff08;特别是人工智能&#xff09;爆发和数字化转型加速的背景下&#xff0c;构建一个面向未来的IT人才储备计划框架。深入分析中国科技产业现状、AI与数字化转型对中小企业的影响、关键人才需求、招…...

cv::dnn::NMSBoxes和nms-free的比较

1. 原理与目标 cv::dnn::NMSBoxes 基于传统的非极大值抑制&#xff08;NMS&#xff09;算法&#xff0c;通过交并比&#xff08;IoU&#xff09;筛选重叠框&#xff0c;保留置信度最高的框&#xff0c;抑制冗余检测。支持变体如 Soft-NMS&#xff08;通过降低分数而非直接抑制&…...

【开发心得】Dify部署ollama模型的坑[8]

目录 关于一体机 关于特斯拉 AI显卡与游戏显卡 总结 目前我们的私有化部署已经来到了32B的大模型&#xff0c;场景落地了。 在继续评估之前&#xff0c;来说点儿关于硬件的坑。 关于一体机 市面上&#xff0c;一体机很火&#xff0c;不怀疑一体机的算力&#xff0c;也不…...

matlab论文图一的地形区域图的球形展示Version_1

matlab论文图一的地形区域图的球形展示Version_1 图片 此图来源于&#xff1a; ![Jieqiong Zhou, Ziyin Wu, Dineng Zhao, Weibing Guan, Chao Zhu, Burg Flemming, Giant sand waves on the Taiwan Banks, southern Taiwan Strait: Distribution, morphometric relationship…...

velocity模板引擎

文章目录 学习链接 学习链接 velocity模板引擎 freemarker模板引擎 thymleaf模板引擎 Apache Velocity Project 官网 Velocity Engine基础 Velocity 模板引擎使用介绍 黑马程序员Java进阶VelocityTools全套教程...

【Docker项目实战】使用Docker部署NotepadMX笔记本工具

【Docker项目实战】使用Docker部署NotepadMX笔记本工具 一、NotepadMX介绍1.1 工具简介1.2 主要特点 二、本次实践规划2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载NotepadMX镜像五、部署…...

边沿耦合与宽边耦合的串扰

边沿耦合与宽边耦合的串扰 我们知道&#xff0c;如果两条走线位于同一层&#xff0c;由于耦合两条线之间会存在串扰。如果PCB层叠中有相邻的信号层&#xff0c;那么同样存在耦合&#xff0c;这两个相邻信号层的走线之间也会存在串扰。同层走线之间的耦合称为边沿耦合&#xff0…...

基于单片机的按摩器控制系统设计

标题:基于单片机的按摩器控制系统设计 内容:1.摘要 本设计聚焦于基于单片机的按摩器控制系统。背景方面&#xff0c;随着人们生活压力增大&#xff0c;对按摩器的需求日益增长&#xff0c;传统按摩器功能单一、控制不够精准。目的是设计出一种功能多样、控制灵活的按摩器控制系…...

有效的完全平方数--LeetCode

题目 给你一个正整数num。如果num是一个完全平方数&#xff0c;则返回true&#xff0c;否则返回false 。 完全平方数 是一个可以写成某个整数的平方的整数。换句话说&#xff0c;它可以写成某个整数和自身的乘积。 不能使用任何内置的库函数&#xff0c;如sqrt。 示例 1: 输…...

Sentinel源码—5.FlowSlot借鉴Guava的限流算法一

大纲 1.Guava提供的RateLimiter限流使用示例 2.Guava提供的RateLimiter简介与设计 3.继承RateLimiter的SmoothBursty源码 4.继承RateLimiter的SmoothWarmingUp源码 1.Guava提供的RateLimiter限流使用示例 (1)拦截器示例 (2)AOP切面示例 (1)拦截器示例 一.pom文件中引入G…...

dev_set_drvdata、dev_get_drvdata使用详解

在Linux内核驱动开发中&#xff0c;dev_set_drvdata() 及相关函数用于管理设备驱动的私有数据&#xff0c;是模块化设计和数据隔离的核心工具。以下从函数定义、使用场景、示例及注意事项等方面进行详细解析&#xff1a; 一、函数定义与作用 核心函数 dev_set_drvdata() 和 dev…...

OCR技术与视觉模型技术的区别、应用及展望

在计算机视觉技术飞速发展的当下&#xff0c;OCR技术与视觉模型技术成为推动各行业智能化变革的重要力量。它们在原理、应用等方面存在诸多差异&#xff0c;在自动化测试领域也展现出不同的表现与潜力&#xff0c;下面将为你详细剖析。 一、技术区别 &#xff08;一&#xff…...

B端管理系统:企业运营的智慧大脑,精准指挥

B端管理系统的定义与核心功能 B端管理系统&#xff08;Business Management System&#xff09;是专门设计用于支持企业内部运作和外部业务交互的一套软件工具。它集成了多种功能模块&#xff0c;包括但不限于客户关系管理(CRM)、供应链管理(SCM)、人力资源管理(HRM)以及财务管…...

实现Azure Synapse Analytics安全地请求企业内部API返回数据

需要编写一个Synapse Analytics在Azure云上运行&#xff0c;它需要访问企业内部的API获取JSON格式的数据&#xff0c;企业有网关和防火墙&#xff0c;API有公司的okta身份认证&#xff0c;通过公司的域账号来授权访问&#xff0c;现在需要创建一个专用的域账号&#xff0c;让Sy…...

让机器学习更透明:使用 Python 开发可解释性模型工具包

友友们好! 我是Echo_Wish,我的的新专栏《Python进阶》以及《Python!实战!》正式启动啦!这是专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会…...

PHP实现简单的爬虫功能

<?php// 目标URL $url https://example.com;// 初始化cURL $ch curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_USERAGENT, Mozilla/5…...

手撕 简易HashMap

put()、get()、remove() 方法 计算存储数组位置和k-vNode节点 public int indexOf(K key){return key.hashCode() & (table.length - 1);}static class Node<K, V>{K key;V value;Node<K, V> next;public Node(K key, V value){this.key key;this.value val…...

go-map+sync.map的底层原理

map 哈希冲突解决方式 1.拉链法 2.开放地址法 底层结构 Go 的 map 在源码中由 runtime.hmap 结构体表示&#xff0c;buckets-指向桶数组的指针(常规桶)&#xff0c;oldbuckets-扩容时指向旧桶数组的指针。 type hmap struct {count int // 当前元素个数&#xff08;len…...