系统学习Linux-防火墙(Firewall)

news2024/11/25 6:34:03

目录

防火墙的作用

防火墙分类

防火墙性能

硬件防火墙

软件防火墙

扩展:Web应用防火墙(WAF)

硬件防火墙与软件防火墙比较

iptables

netfilter/iptables功能

iptables概念

iptables工作一句——规则(rules)

iptables中链的概念

iptables中表的概念

iptables中表链之间的关系

iptables中的表的优先级

iptables规则匹配条件分类

基本匹配使用选项及功能

隐式匹配选项及功能

显示匹配使用选项及功能

iptables规则中动作

制定iptables规则策略

制定iptables规则思路

iptables基础语法机构

iptables链管理方法(了解)

iptables规则管理(重点记忆)

iptables规则显示

iptables应用

实验

实验一(保存策略)

实验二(host2安装http服务,禁止访问防火墙的80端口,其他都可以访问)

实验三(拒绝多个端口


防火墙的作用

注明:在计算机领域,防火墙是用于保护信息安全的设备,其会依照用户定义的规则,允许或限制数据的传输。

●  用于保护内网安全的一种设备依据规则进行防护

●  依据规则进行防护

●  用户定义规则

●  允许或拒绝外部用户访问


防火墙分类

逻辑上划分,防火墙可以大体分为主机防火墙和网络防火墙主机防火墙:针对于单个主机进行防护

网络防火墙:针对网络进行防护,处于网络边缘,防火墙背后是本地局域网网络防火墙主外(服务集体),主机防火墙主内(服务个人)

物理上划分,防火墙可分为硬件防火墙和软件防火墙

硬件防火墙:在硬件级别实现防火墙功能,另一部分基于软件实现,其性能高,硬件成本高 软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,其性能相较于硬件防火墙低,成本较低,对于 Linux系统已自带,直接使用即可


防火墙性能

●  吞吐量

●  并发连接

●  新建连接

●  时延

●  抖动


硬件防火墙

硬件防火墙定义

硬件防火墙是指把具备配置数据包通过规则的软件嵌入硬件设备中,为网络提供安全防护的硬件设备。多见于网络边   缘。

硬件防火墙作用(拓扑图ups)


硬件防火墙品牌

●  Juniper(瞻博网络

●  cisco(思科ASA

●  华为(思科ASA

●  天融信


软件防火墙

软件防火墙是单独使用具备配置数据包通过规则的软件来实现数据包过滤。

多见于单主机系统或个人计算机


扩展:Web应用防火墙(WAF)

Web应用防火墙是对web防护(网页保护)的安全防护设备(软件),主要用于截获所有HTTP数据或仅仅满足某些规则的   会话。多见于云平台中。


硬件防火墙与软件防火墙比较

硬件防火墙有独立的硬件设备,运算效率较高,价格略高,可为计算机网络提供安全防护。

软件防火墙必须部署在主机系统之上,相较于硬件防火墙运算效率低,在一定程度上会影响到主机系统性能,一般用   于单机系统或个人计算机中,不直接用于计算机网络中。


iptables

iptables是什么?

●  iptables不是防火墙,是防火墙用户代理

●  用于把用户的安全设置添加到“安全框架”中

●  “安全框架”的名称为net filter

●  netfilter位于内核空间中,是linux操作系统核心层内部的一个数据包处理模块

●  iptables是用于在用户控件对内核控件的net filter进行操作的命令行工具


netfilter/iptables功能

netfilter/iptables可简称为iptables,为Linux平台下的包过滤防火墙,是开源的,内核自带的,可以代替成本较高的   企业级硬件防火墙,能够实现如下功能:

●  数据包过滤,即防火墙

●  数据包重定向,即转发

●  网络地址转换,即可NAT

注:平常我们使用iptables并不是防火墙的“服务”,而服务是由内核提供的。


iptables概念

iptables工作一句——规则(rules)

iptables是按照规则(rules)来办事的,而规则就是运维人员所定义的条件;规则一般定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。

规则存储在内核控件的数据包过滤表中,这些规则分别指定了源地址、目的地址,传输协议(TCP、UDP、ICMP)和服务类型(HTTP、FTP等)。

当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包, 比如放行(ACCEPT)、拒绝(REHECT)、丢弃(DROP)等

配置防火墙主要工作就是对iptables规则进行添加、修改、删除等

iptables中链的概念

举例说明:

当客户端访问服务器端的web服务时,客户端发送访问请求报文至网卡,而tcp/ip协议栈是属于内核的一部分,所     以,客户端的请求报文会通过内核的TCP协议传输到用户空间的web服务,而客户端报文的目标地址为web服务器所  监听的套接字(ip:port)上,当web服务器响应客户端请求时,web服务所回应的响应报文的目标地址为客户端地址,  我们说过,netfilter才是真正的防火墙,属于内核的一部分,所以,我们要想让netfilter起到作用,我们就需要在内   核中设置“关口”,所以进出的数据报文都要通过这些关口,经检查,符合放行条件的准允放行,符合阻拦条件的则被  阻止,于是就出现了input和output关口,然而在iptables中我们把关口叫做“链”。

上面的举例中,如果客户端发到本机的报文中包含的服务器地址并不是本机,而是其他服务器,此时本机就应该能够  进行转发,那么这个转发就是本机内核所支持的IP_FORWARD功能,此时我们的主机类似于路由器功能,所以我们会   看到在iptables中,所谓的关口并只有上面所提到的input及output这两个,应该还有“路由前”,“转发”,“路由后”,    它们所对应的英文名称分别为“PREROUTING”,“FORWARD”,“POSTROUTING”,这就是我们说到的5链。

通过上图可以看出,当我们在本地启动了防火墙功能时,数据报文需要经过以上关口,根据各报文情况,各报名经常  的“链”可能不同,如果报文目标地址是本机,则会经常input链发往本机用户空间,如果报文目标不是本机,则会直接  在内核空间中经常forward链和postrouting链转发出去。

有的时候我们也经常听到人们在称呼input为“规则链”,这又是怎么回事呢?我们知道,防火墙的作用在于对经过的数  据报文进行规则匹配,然后执行对应的“动作”,所以数据包经过这些关口时,必须匹配这个关口规则,但是关口规则   可能不止一条,可能会有很多,当我们把众多规则放在一个关口上时,所有的数据包经常都要进行匹配,那么就形成  了一个要匹配的规则链条,因此我们也把“链”称作“规则链”。

●  INPUT:处理入站数据包

●  OUTPUT:处理出站数据包

●  FORWARD:处理转发数据包(主要是将数据包转发至本机其它网卡)

●  当数据报文经过本机时,网卡接收数据报文至缓冲区,内核读取报文ip首部,发现报文不是送到本机时(目的ip  不是本机),由内核直接送到forward链做匹配,匹配之后若符合forward的规则,再经由postrouting送往下一  跳或目的主机。 PREROUTING:在进行路由选择前处理数据包,修改到达防火墙数据包的目的IP地址,用于判断目标主机

●  POSTROUTING:在进行路由选择后处理数据包,修改要离开防火墙数据包的源IP地址,判断经由哪一接口送往  下一跳

iptables中表的概念

每个“规则链”上都设置了一串规则,这样的话,我们就可以把不同的“规则链”组合成能够完成某一特定功能集合分   类,而这个集合分类我们就称为表,iptables中共有5张表,学习iptables需要搞明白每种表的作用。

●  filter: 过滤功能,确定是否放行该数据包,属于真正防火墙,内核模块:iptables_filter

●  nat: 网络地址转换功能,修改数据包中的源、目标IP地址或端口;内核模块:iptable_nat

●  mangle: 对数据包进行重新封装功能,为数据包设置标记;内核模块:iptable_mangle

●  raw: 确定是否对数据包进行跟踪;内核模块:iptables_raw

●  security:是否定义强制访问控制规则;后加上的

iptables中表链之间的关系

我们在应用防火墙时是以表为操作入口的,只要在相应的表中的规则链上添加规则即可实现某一功能。那么我们就应   该知道哪张表包括哪些规则链,然后在规则链上操作即可。

●  filter表可以使用哪些链定义规则:INPUT,FORWARD,OUTPUT

●  nat表中可以使用哪些链定义规则:PREROUTING,OUTPUT ,POSTROUTING,INPUT

●  mangle表中可以使用哪些链定义规则:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

●  raw表中可以使用哪些链定义规则:PREROUTING,OUTPUT

iptables中的表的优先级

raw-mangle-nat-filter(由高至低)


iptables规则匹配条件分类

基本匹配条件:

源地址,目标地址,源端口,目标端口等

基本匹配使用选项及功能

-p protocal指定规则协议,tcp(传输层) udp(传输层) icmp(网络层) ip(网络层) 
-s source  指定数据包的源地址,192.168.1.10
-d destination指定目的地址
-i 输入网卡接口 如:lo本地回环,ens33 
-o 输出网卡接口 如:ens37,ens33等
! 取 反

基本匹配的特点是:无需加载扩展模块,匹配规则生效

扩展匹配条件:

扩展匹配又分为显示匹配和隐式匹配。

扩展匹配的特点是:需要加载扩展模块,匹配规则方可生效。

隐式匹配的特点:使用-p选项指明协议时,无需再同时使用-m选项指明扩展模块以及不需要手动加载扩展模块;  显示匹配的特点:必须使用-m选项指明要调用的扩展模块的扩展机制以及需要手动加载扩展模块。


隐式匹配选项及功能

-p tcp
--sport 匹配报文源端口;可以给出多个端口,但只能是连续的端口范围
--dport 匹配报文目标端口;可以给出多个端口,但只能是连续的端口范围
-p udp
--sport 匹配报文源端口;可以给出多个端口,但只能是连续的端口范围
--dport 匹配报文目标端口;可以给出多个端口,但只能是连续的端口范围
--icmp-type
0/0: echo reply 允许其他主机ping
8/0:echo request 允许ping其他主机

显示匹配使用选项及功能

●  multpiort

    多端口

iptables -I INPUT -d 192.168.31.15 -p tcp -m multiport --dports 22,80 -j ACCEPT
#在INPUT链中开放本机tcp 22,tcp80端口
#该iptables命令的作用是允许通过防火墙的TCP数据包,目标IP地址为192.168.31.15,目标端口为22或80的连接。
iptables -I OUTPUT -s 192.168.31.15 -p tcp -m multiport --sports 22,80 -j ACCEPT
#在OUTPUT链中开发源端口tcp 22,tcp80
#该iptables命令的作用是允许通过防火墙的TCP数据包,源IP地址为192.168.31.15,源端口为22或80的连接。

●  iprange

    多ip地址

#该iptables命令的作用是允许通过防火墙的TCP数据包,目标IP地址为192.168.2.10,目标端口为23,并且源IP地址在192.168.2.11到192.168.2.21之间的连接。其他源IP地址的连接将被阻止。
iptables -A INPUT -d 192.168.2.10 -p tcp --dport 23 -m iprange --src-range 192.168.2.11-192.168.2.21 -j ACCEPT
#该iptables命令的作用是允许通过防火墙的TCP数据包,源IP地址为192.168.2.10,源端口为23,并且目标IP地址在192.168.2.11到192.168.2.21之间的连接。其他目标IP地址的连接将被阻止。
iptables -A OUTPUT -s 192.168.2.10 -p tcp --sport 23 -m iprange --dst-range 192.168.2.11-192.168.2.21 -j ACCEPT

●  time

iptables -A INPUT -d 192.168.2.10 -p tcp --dport 901 -m time --weekdays Mon,Tus,Wed,Thu,Fri --timestart 08:00:00 --time-stop 18:00:00 -j ACCEPT
iptables -A OUTPUT -s 192.168.2.10 -p tcp --sport 901 -j ACCEPT

指定访问时间范围

●  connlimit

连接限制,根据每个客户端IP作并发连接数量限制。

--connlimit-upto n	连接数小于等于n时匹配
--connlimit-above n 连接数大于n时匹配

●  limit

报文速率限制

●  state

追踪本机上的请求和响应之间的数据报文的状态。状态有五种:INVALID, ESTABLISHED, NEW, RELATED, UNTRACKED.

--state state
NEW 新连接请求
    已建立的连接
INVALID 无法识别的连接
RELATED 相关联的连接,当前连接是一个新请求,但
UNTRACKED 未追踪的连接

对于进入的状态为ESTABLISHED都应该放行;

对于出去的状态为ESTABLISHED都应该放行;

严格检查进入的状态为NEW的连接;

所有状态为INVALIED都应该拒绝;


iptables规则中动作

iptables规则中的动作常称为target,也分为基本动作和扩展动作。

●  ACCEPT:允许数据包通过

●  DROP:直接丢弃数据包,不给任何回应信息

●  REJECT:拒绝数据包通过,发送回应信息给客户端

●  SNAT:源地址转换

        解释1:数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定IP,接收方认为数据包的来源是被替换的那个IP主机,返回响应时,也以被替换的IP地址进行。

        解释2:修改数据包源地址,当内网数据包到达防火墙后,防火墙会使用外部地址替换掉数据包的源IP地址(目的IP地址不变),使网络内部主机能够与网络外部主机通信。

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth1 -j SNAT --to-source 202.12.10.100

●  MASQUERADE:伪装,类似于SNAT,适用于动态的、临时会变的ip地址上,例如:家庭使用的宽带。用发送数据的网卡上的ip来替换源ip,对于ip地址不固定场合使用

●  DNAT:目标地址转换

        解释1:数据包从网卡发出时,修改数据包中的目的ip,表现为你想访问A,但因网关做了DNAT,把所有访问A的数据包中的目的ip地址全部修改为B,实际最终访问的是B。

        解释2:改变数据包目的地址,当防火墙收到来自外网的数据包后,会将该数据包的目的ip地址进行替换(源ip地址不变),重新转发到内网的主机。

iptables -t nat -A PREROUTING -d 202.12.10.100 -p tcp --dport 80 -j DNAT --to- destination 192.168.10.1

●  REDIRECT:在本机做端口映射

●  LOG:在/var/log/message文件中记录日志信息,然后将数据包传递给吓一跳规则。

路由是按照目的地址进行路由选择,因此,DNAT是在PPEROUTING链上进行的,SNAT是在数据包发出的时候进行的,因此是在POSTROUTING链上进行的。

制定iptables规则策略

●  黑名单

没有被拒绝的流量都可以通过,这种策略下管理员必须针对每一种新出现的攻击,制定新的规则,因此不推荐

●  白名单

没有被允许的流量都要拒绝,这种策略比较保守,根据需要,主机主机逐渐开放,目前一般都采用白名单策略,推荐。

制定iptables规则思路

  1. 选择一张表,此表决定了数据报文处理的功能
  2. 选择一条链,此链决定了数据报文流经哪些位置
  3. 选择合适的规则,此条件决定了对数据做何种条件匹配
  4. 选择处理数据报文的动作 拒绝还是允许

iptables基础语法机构

iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]

不指定表名时,默认表示filter表,不指定链名时,默认表示该表内所有链,除非设置规则链的默认策略,否则  需要指定匹配条件。 

iptables链管理方法(了解)

-N, --new-chain chain:新建一个自定义的规则链;
-X, --delete-chain [chain]:删除用户自定义的引用计数为0的空链;
-F, --flush [chain]:清空指定的规则链上的规则;
-E, --rename-chain old-chain new-chain:重命名链;
-Z, --zero [chain [rulenum]]:置零计数器; 注意:每个规则都有两个计数器
packets:被本规则所匹配到的所有报文的个数; bytes:被本规则所匹配到的所有报文的大小之和;
-P, --policy chain target 制定链表的策略(ACCEPT|DROP|REJECT)

iptables规则管理(重点记忆)

-A, --append chain rule-specification:追加新规则于指定链的尾部;
-I, --insert chain [rulenum] rule-specification:插入新规则于指定链的指定位置,默认为首部;
-R, --replace chain rulenum rule-specification:替换指定的规则为新的规则;
-D, --delete chain rulenum:根据规则编号删除规则;
-D, --delete chain rule-specification:根据规则本身删除规则;

iptables规则显示

-L, --list [chain]:列出规则;
-v, --verbose:详细信息;
-vv 更详细的信息
-n, --numeric:数字格式显示主机地址和端口号;
-x, --exact:显示计数器的精确值,而非圆整后的数据;
--line-numbers:列出规则时,显示其在链上的相应的编号;
-S, --list-rules [chain]:显示指定链的所有规则;

iptables应用

●  环境 centos7

iptables-services安装

centos7系统中默认存在iptables命令,此命令仅为简单查询及操作命令,不包含配置文件,安装iptables- services后,将直接生成配置文件,便于配置保存。包含ipv4ipv6

###安装、启动、设为开机自启
yum -y install iptables-services
 
systemctl start iptables.service
 
systemctl enable iptables
 
##保存规则
 
iptables-save > /etc/sysconfig/iptables
 
##重载规则
iptables-restore < /etc/sysconfig/iptables
 
iptables -h #查看帮助信息
 
#删除现有规则
 
iptables -F
 
##查看规则
iptables -nL     

实验

准备:host1:192.168.31.15        host2:192.168.31.16

在接下来的实验中,每次做完一个实验,需要删除策略,便于下一个实验

实验一(保存策略)

1.现在我想让hos1ping不通host2,但是host2可以ping通host1

##host2
[root@localhost ~]# iptables -A INPUT -p icmp --icmp-type 8/0 -j REJECT
[root@localhost ~]# iptables -nL

命令解析

-A INPUT        指定链路

-p icmp --icmp-type 8/0        ping所在的层icmp协议 8/0标识别人ping不通我  我能ping通别人

-j REJECT        动作拒绝并返回一个信息

测试:host1修改前PING通修改后PING不通

测试:host2不影响

2.重启host2并ping测试,可以ping通

3.保存策略后重启测试

##host2
[root@localhost ~]# iptables -A INPUT -p icmp --icmp-type 8/0 -j REJECT
[root@localhost ~]# iptables-save > /etc/sysconfig/iptables
##host1测试
[root@hd1 ~]# ping 192.168.31.16
PING 192.168.31.16 (192.168.31.16) 56(84) bytes of data.
64 bytes from 192.168.31.16: icmp_seq=1 ttl=64 time=0.418 ms
64 bytes from 192.168.31.16: icmp_seq=2 ttl=64 time=0.230 ms
^C
--- 192.168.31.16 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.230/0.324/0.418/0.094 ms
##host2
[root@localhost ~]# iptables-restore < /etc/sysconfig/iptables    //恢复之前保存的策略
##host1测试
[root@hd1 ~]# ping 192.168.31.16
PING 192.168.31.16 (192.168.31.16) 56(84) bytes of data.
From 192.168.31.16 icmp_seq=1 Destination Port Unreachable
From 192.168.31.16 icmp_seq=2 Destination Port Unreachable
^C
--- 192.168.31.16 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1000ms

实验二(host2安装http服务,禁止访问防火墙的80端口,其他都可以访问)

###host2安装并启动http
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# echo 192.168.31.16 > /var/www/html/index.html
##host1可以访问
[root@hd1 ~]# curl 192.168.31.16
192.168.31.16
###host2关闭80端口
[root@localhost ~]# iptables -A INPUT -p tcp --dport 80 -j REJECT
##host1拒绝连接
[root@hd1 ~]# curl 192.168.31.16
curl: (7) Failed connect to 192.168.31.16:80; 拒绝连接
###host2删除关闭80端口
[root@localhost ~]# iptables -D INPUT -p tcp --dport 80 -j REJECT
##host1可以访问
[root@hd1 ~]# curl 192.168.31.16
192.168.31.16

实验三(拒绝多个端口)

##在host2上我们利用httpd的虚拟主机头来指定多个不同的端口
mkdir /etc/httpd/vhosts
cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/vhosts
 
vim /etc/httpd/conf/httpd.conf
###注释80端口、文末插入、注释131-157行
IncludeOptional vhosts/*.conf
###编辑虚拟主机头
vim /etc/httpd/vhosts/httpd-vhosts.conf
 
listen 80
listen 81
<VirtualHost 192.168.31.16:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/var/www/html/"
    ServerName www.test.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "/var/log/httpd/80-error_log"
    CustomLog "/var/log/httpd/80-access_log" common
</VirtualHost>
 
<VirtualHost 192.168.31.16:81>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/opt/www/html/"
    ServerName dummy-host2.example.com
 
#####创建日志
touch /var/log/httpd/80-error_log
touch /var/log/httpd/80-access_log
touch /var/log/httpd/81-access_log
touch /var/log/httpd/81-error_log
#####创建html页面
echo 192.168.31.16 > /var/www/html/index.html
mkdir /opt/www/html -p
echo http > /opt/www/html/index.html
 
#####
systemctl restart httpd

关闭host2的80、81端口

iptables -A INPUT -p tcp   -m multiport --dports 80,81 -j REJECT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1004121.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【面试必刷TOP101】反转链表 链表内指定区间反转

目录 题目&#xff1a;反转链表_牛客题霸_牛客网 (nowcoder.com) 题目的接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 过啦&#xff01;&#xff01;&#xff01; 题目&#xff1a;链表内指定区间反转_牛客题霸_牛客网 (nowcoder.com) 题目的接口&#xff1…

肖sir__mysql之安装__002

mysql之安装 1、rpm -qa|grep mysql 2.删除mysql的方法&#xff1a; 第一种&#xff1a;yum remove mysql * &#xff08;*表示所有&#xff09; 第二种&#xff1a;rpm -e --nodeps 包名 强制删除mysql包 3、删除干净mysql文件&#xff0c;在进行安装 yum install mysql 安装…

MAML在隐式神经表示中的应用

论文 Learned Initializations for Optimizing Coordinate-Based Neural Representations &#x1f383;Abstract1. Introduction2. Related Work3. Overview ⭐4. Results5. Conclusion6. AcknowledgementsA. Implementation details Implicit Neural Representations for Ima…

Linux IO函数

read/write函数&#xff1a; 1.read #include <unistd.h> ssize_t read(int fd, void *buf, size_t count); 参数&#xff1a; -fd&#xff1a;文件描述符&#xff0c;open得到的&#xff0c;通过这个文件描述符操作某个文件 -buf&#xff1a;需要读取数据存放的地方…

3D虚拟情景实训教学系统在法律课堂中的应用

3D虚拟情景实训教学系统是一种基于虚拟现实技术的教育工具&#xff0c;它通过模拟真实的法律场景&#xff0c;让学生能够身临其境地体验法律实践。这种教学方式可以让学生更加深入地理解法律原则和规则&#xff0c;提高他们的法律素养和实践能力。 在传统的法律课堂中&#xff…

一文了解国自然热点“超级增强子”的重要标记——H3K27ac

2023国自然结果已经揭晓&#xff0c;“超级增强子”&#xff08; Super enhancer, SE&#xff09;作为国自然新热点&#xff0c;2023年项目为32个。2019-2023年来总累计项目143项&#xff0c;但累计项目金额达6033万。此外&#xff0c;Pubmed数据统计显示5年间SE影响因子大于10…

二叉树【树的基本概念】

全文目录 树树的概念树的相关概念树的表示树的实际应用 二叉树二叉树的概念二叉树的特殊类型二叉树的性质二叉树的存储结构顺序存储链式存储 堆堆的概念向下调整算法向上调整算法堆的插入堆的删除堆的构建时间复杂度计算 堆排序TOP-K问题 树 树的概念 树是一种非线性的数据结…

华为CD32键盘使用教程

华为CD32键盘使用教程 用爱发电写的教程&#xff01; 最后更新时间&#xff1a;2023.9.12 型号&#xff1a;华为有线键盘CD32 基本使用 此键盘在不安装驱动的情况下可以直接使用&#xff0c;但是不安装驱动指纹识别是无法使用的&#xff01;并且NFC功能只支持华为的部分电脑…

固定资产预算怎么管理的

在现代企业管理中&#xff0c;固定资产预算的管理是一项至关重要的任务。它不仅关系到企业的经济效益&#xff0c;更关系到企业的长远发展。那么&#xff0c;如何进行有效的固定资产预算管理呢&#xff1f; 明确固定资产预算的目标和原则  我们需要明确固定资产预算的目标和…

HCS 中的一些概念(二)

一、Service OM 1、首页&#xff08;资源状态&#xff09; 2、服务列表 计算资源&#xff1a;计算资源又分为可用分区&#xff08;AZ&#xff09;、规格和虚拟机组&#xff0c;可在此处创建虚拟机、虚拟机组、主机组和规格 网络资源&#xff1a;网络资源又分为物理网络…

使用融云 CallPlus SDK,一小时实现一款 1V1 视频应用

9 月 21 日&#xff0c;融云直播课 社交泛娱乐出海最短变现路径如何快速实现一款 1V1 视频应用&#xff1f; 欢迎点击小程序报名~ 1V1 音视频、远程服务类应用的实现利器——融云 CallPlus SDK 上线&#xff01; 关注【融云全球互联网通信云】了解更多 作为新一代音视频通话场…

Transformer模型 | 个人理解

一、Transformer整体架构图 二、Encoder端的输入 以机器翻译任务为例子&#xff0c;训练数据是法语句子“Je suis etudiant”和翻译成英文后的句子“I am a student”。 Inputs是法语句子“ J e {Je } Je s u i s {suis} suis e t u d i a n t {etudiant} etudiant”&#x…

9月16日相约openGauss Meetup(杭州站)

由云和恩墨、图尔兹、浙江鲲鹏、openGauss社区联合主办的“openGauss Meetup &#xff08;杭州站&#xff09;”活动将于9月16日在杭州市拱墅区祥园路108号中国智慧信息产业园G座3楼连廊1号会议室举办&#xff01;我们诚邀您的莅临&#xff01; 扫码报名 数据库作为企业核心的重…

Jetty服务器好处

Jetty可以同时处理大量连接而且可以长时间保持连接&#xff0c;适合于web聊天应用等等。 Jetty的架构简单&#xff0c;因此作为服务器&#xff0c;Jetty可以按需加载组件&#xff0c;减少不需要的组件&#xff0c;减少了服务器内存开销&#xff0c;从而提高服务器性能。 Jetty默…

最新遥感数据与作物模型同化教程

详情点击公众号链接&#xff1a;最新遥感数据与作物模型同化教程一&#xff1a;遥感基础1.遥感平台&#xff08;如无人机&#xff09;与传感器、国内外主要陆地卫星&#xff08;如Landsat、SPOT、HJ、GF&#xff09; 2.遥感基本原理、光谱响应函数、遥感数据处理流程 3.遥感在陆…

接口自动化测试的概述及流程梳理~

接下来开始学习接口自动化测试。 因为之前从来没接触过&#xff0c;所以先了解一些基础知识。 1.接口测试的概述 2.接口自动化测试流程。 接口测试概述 接口&#xff0c;又叫API&#xff08;Application Programming Interface&#xff0c;应用程序编程接口&#xff09;&a…

Java“牵手”天猫商品详情数据,天猫商品详情接口,天猫API接口申请指南

天猫平台API是天猫应用程序编程接口的缩写&#xff0c;它是一套允许程序员从他们的应用程序中访问天猫网站上数据的规范。通过API&#xff0c;程序员可以编写能够与天猫网站交互的程序&#xff0c;从而绕过网页浏览器的限制&#xff0c;直接访问和操作数据。 天猫平台API可以提…

模拟考试系统提升备考效果和成功机会

备考是每位参加考试的学生都非常重视的阶段。为了提高备考效果和增加成功机会&#xff0c;模拟考试系统是一种非常有效的工具。 备考对于任何一位参加考试的学生来说都是至关重要的阶段。无论是应对学校期末考试、入学考试还是国家级考试&#xff0c;备考都需要充分的准备和调…

怎样建立一个班级查分系统?

在现代教育中&#xff0c;建立一个高效的班级查分系统对于老师和家长们来说至关重要。物种草作为一款功能强大的在线教育工具&#xff0c;为教师们提供了一个便捷的方式来管理和分享学生成绩。本文将以物种草的口吻&#xff0c;为你介绍如何建立一个高效的班级查分系统&#xf…

javascript二维数组按指定要求进行对象合并遍历的算法开发

javascript二维数组按指定要求进行对象合并遍历的算法开发 项目原数据项目需求数据格式算法开发 项目原数据 从第三方API获取如何格式的数据&#xff1a; “device”: “二(1)班”,不同班级名称&#xff0c;会重复“name”: “二(1)班-电量”,不同班级的数据标准“value”: 1…