防火墙概述及实战

news2024/11/27 9:56:49

目录

前言

一、概述

(一)、防火墙分类

(二)、防火墙性能

(三)、iptables

(四)、iptables中表的概念

二、iptables规则匹配条件分类

(一)、基本匹配条件

(二)、显式匹配使用选项及功能

(三)、iptables规则

三、iptables应用

(一)、进行标记,可在LVS调度器中应用

(二)、iptables nat表应用案例

四、什么是防火墙

五、FireWalld防火墙的配置

(一)、Firewalld默认共9个zone

(二)、端口和服务名称的对应关系

总结




前言

防火墙是一种综合性的技术,涉及到计算机网络技术、密码技术、安全技术、软件技术、安全协议、网络标准化组织的安全规范以及安全操作系统等多方面。

一、概述

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

作用

用于保护内网安全的一种设备

依据规则进行防护

用户定义规则

允许或拒绝外部用户访问

(一)、防火墙分类

逻辑上划分

防火墙可以大体分为主机防火墙和网络防火墙

主机防火墙

针对于单个主机进行防护

网络防火墙

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

物理上划分

防火墙可分为硬件防火墙和软件防火墙

硬件防火墙

在硬件级别实现防火墙功能,另一部分基于软件实现,其性能高,硬件成本高

软件防火墙

应用软件处理逻辑运行于通用硬件平台之上的防火墙,其性能相较于硬件防火墙低,成本较低,对于

Linux系统已自带,直接使用即可

硬件防火墙定义

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

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

硬件防火墙品牌Juniper、cisco(思科ASA) 、华为、天融信等

软件防火墙定义

软件防火墙是单独使用具备配置数据包通过规则的软件来实现数据包过滤。多见于单主机系统或个人计算机。

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

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

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

Web应用防火墙(WAF)

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

(二)、防火墙性能

吞吐量

并发连接

新建连接

时延

抖动

(三)、iptables

iptables是什么?

iptables不是防火墙,是防火墙用户代理用于把用户的安全设置添加到安全框架中  安全框架是防火墙,安全框架的名称为netfilter。

netfilter位于内核空间中,是Linux操作系统核心层内部的一个数据包处理模块iptables是用于在用户空间对内核空间的netfilter进行操作的命令行工具。

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

iptables工作依据 规则(rules)

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

规则存储在内核空间的数据包过滤表中,这些规则分别指定了源地址、目的地址,传输协议(TCPUDPICMP)和服务类型(HTTPFTP)等。

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

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

iptables规则管理

iptables规则显示

netfilter/iptables功能

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

数据包过滤,即防火墙;

数据包重定向,即转发;

网络地址转换,即可NAT。

iptables中链的概念

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

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

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

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

INPUT:处理入站数据包

OUTPUT:处理出站数据包

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

当数据报文经过本机时,网卡接收数据报文至缓冲区,内核读取报文ip首部,发现报文不是送到本机时(目的ip  不是本机),由内核直接送到forward链做匹配,匹配之后若符合forward的规则,再经由postrouting送往下一跳或目的主机。

PREROUTING:在进行路由选择前处理数据包,修改到达防火墙数据包的目的IP地址,用于判断目标主机。

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

iptables链管理方法(了解)

(四)、iptables中表的概念

每个规则链上都设置了一串规则,这样的话,我们就可以把不同的规则链组合成能够完成某一特定功能集合分类,而这个集合分类我们就称为表,iptables中共有5张表。security:是后加上的,定义强制访问控制规则;通常为4表

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

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

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

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

iptables中表链之间的关系

iptables中表的优先级:raw-mangle-nat-filter(由高至低)

二、iptables规则匹配条件分类

(一)、基本匹配条件

-p(protocal)

指定规则协议,tcp(传输层) udp(传输层) icmp(网络层) ip(网络层)

-s(source) 

指定数据包的源地址

-d(destination)

指定目的地址

-i

输入网卡接口(lo本地回环,ens33)

-o

输出网卡接口(ens37,ens33等)

!取反

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

拒绝icmp的访问ACCEPT为允许

iptables -A INPUT -p icmp -j REJECT

拒绝tcp的访问

iptables -A INPUT -p tcp -j REJECT

拒绝源地址的访问

iptables -A INPUT -s 192.168.238.131 -j REJECT

除了icmp协议可以通信DROP为拒绝但反应较慢)

iptables -A INPUT ! -p icmp -i ens33 -j DROP

(二)、显式匹配使用选项及功能

禁止访问80端口,其他都可以

不允许别人Ping我,我可以Ping别人

iptables -A INPUT -p icmp --icmp-type 8/0 -j REJECT

多端口:multiport

禁止80和20端口访问,其他端口允许

iptables -I INPUT  -p tcp -m multiport --dports 80,20 -j REJECT

多IP地址:iprange

禁止192.168.238.120~192.168.238.130IP的访问

指定访问时间范围:time注意时区

iptables -I INPUT -p tcp --dport 80 -m time --weekdays Tus --timestart 10:00:00 --timestop 18:00:00  -j REJECT

connlimit(了解)

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

limit(了解)

报文速率限制。

state

追踪本机上的请求和响应之间的数据报文的状态。

状态有五种

NEW

新连接请求

ESTABLISHED

已建立的连接

INVALID

无法识别的连接

RELATED

相关联的连接,当前连接是一个新请求

UNTRACKED

未追踪的连接

(三)、iptables规则

制定iptables规则思路

选择一张表,此表决定了数据报文处理的功能

选择一条链,此链决定了数据报文流经哪些位置

选择合适的规则,此条件决定了对数据做何种条件匹配

选择处理数据报文的动作 拒绝还是允许

制定iptables规则策略

黑名单

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

白名单

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

iptables规则中动作

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

ACCEPT

允许数据包通过

DROP

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

REJECT

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

SNAT

源地址转换

数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,接收方认为数据包的来

源是被替换的那个IP主机,返回响应时,也以被替换的IP地址进行

修改数据包源地址,当内网数据包到达防火墙后,防火墙会使用外部地址替换掉数据包的源IP地址

(目的IP地址不变),使网络内部主机能够与网络外部主机通信

MASQUERADE

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

DNAT

目标地址转换

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

改变数据包目的地址,当防火墙收到来自外网的数据包后,会将该数据包的目的IP地址进行替换

(源IP地址不变),重新转发到内网的主机

REDIRECT

在本机做端口映射

LOG

/var/log/message文件中记录日志信息,然后将数据包传递给下一条规则

SNAT

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

DNAT

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

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

iptables基础语法结构

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

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

三、iptables应用

服务名:iptables-services(yum)

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

保存规则:ptables-save > /etc/sysconfig/iptables(路径可自定义)

重载:iptables-restore < /etc/sysconfig/iptables

不允许通过本地回环网卡访问本机

iptables -I INPUT -i lo -j REJECT

本机无法访问本机

解决办法

(一)、进行标记,可在LVS调度器中应用

详细列表

iptables -t mangle -nL

进行标记

(二)、iptables nat表应用案例

nat表作用:导流

nat表作用位置

KVMOpenStack中虚拟机或云主机与外部通信

Docker管理的容器与外部通信

开启路由转发功能

SNAT源地址转换、DNAT目标地址转换

案列

实验环境

hd1:192.168.238.101、网关:192.168.238.100

hd2: 192.168.100.101

hd3: 192.168.100.100(ens33)、192.168.238.100(ens37)

注意:为了方便互相验证先在hd1和hd3上先装好httpd服务

步骤

snat

hd1       

 安装httpd服务,启动httpd服务

配置静态IP及网关

创建访问文件        echo hello > /var/www/html/index.html(可不创建,只是为了方便观察)

hd2      

安装httpd服务,启动httpd服务

配置静态IP及网关

创建访问文件        echo OKOK > /var/www/html/index.html

hd3        添加网卡ens37,配置静态IP

开启防火墙的路由转发功能

vim  /etc/sysctl.conf

sysctl -p 激活

配置防火墙的snat地址转换

iptables -t nat -A POSTROUTING -s 192.168.238.0/24 -o ens37 -j SNAT --to-source 192.168.100.100

到hd1上进行验证

dnat

hd3配置防火墙的dnat地址转换

iptables -t nat -A PREROUTING -d 192.168.100.100 -p tcp -j DNAT --to-destination 192.168.238.101

到hd2上进行验证

四、什么是防火墙

防火墙:防范一些网络攻击。有软件防火墙、硬件防火墙之分。

防火墙选择让正常请求通过,从而保证网络安全性。

Windows防火墙

传统Linux防火墙

FireWalld防火墙的概念

CentOS6中防火墙叫做iptables

CentOS7中默认使用的防火墙是firewalld

FireWalld增加了区域的概念,所谓区域是指,firewalld预先准备了几套防火墙策略的集合,类似于策略的模板,用户可以根据需求选择区域。

FireWalld属于动态防火墙,是CentOS7系统中用于对netfilter内核模块用户空间管理工具。FireWalld仅仅替代了iptables service部分,其底层还是使用iptables做为防火墙规则管理入口。

常见区域及相应策略规则

trusted

允许所有数据包

home

拒绝流入的流量,除非与流出的流量相关,允许

ssh,mdns,ippclient,amba-client,dhcpv6-client服务通过

internal

等同于home

work

拒绝流入的流量,除非与流出的流量相关,允许ssh,ipp

client,dhcpv6-client服务通过

public

拒绝流入的流量,除非与流出的流量相关,允许

ssh,dhcpv6-client服务通过

external

拒绝流入的流量,除非与流出的流量相关,允许ssh服务通

dmz

拒绝流入的流量,除非与流出的流量相关,允许ssh服务通

block

拒绝流入的流量,除非与流出的流量相关,非法流量采取拒

绝操作

drop

拒绝流入的流量,除非与流出的流量相关,非法流量采取丢

弃操作

运行模式

配置的防火墙策略立即生效,但是不写入配置文件

永久模式

配置的防火墙策略写入配置文件,但是需要reload

重新加载才能生效

五、FireWalld防火墙的配置

使用systemctl来管理firewalld的服务

语法:systemctl [选项] firewalld

start

启动指定服务

status检查指定服务的运行状况

reload

重新加载指定服务的配置文件(并非所有服务都支持

reload,通常使用restart)

restart

重启指定服务

stop

停止指定服务

管理firewall配置

查看默认使用的区域        firewall-cmd --get-default-zone

查看所有可用区域           firewall-cmd --get-zones

列出当前使用区域配置    firewall-cmd --list-all

列出所有区域的配置        firewall-cmd --list-all-zones

在public区域,添加允许tcp协议的1024端口通过的规则       

firewall-cmd --zone=public --add-port=1024/tcp

在public区域,去掉允许tcp协议的1024端口通过的规则

firewall-cmd --zone=public --remove-port=1024/tcp

在public区域,使用permanent参数,永久添加允许1024端口通过的规则

firewall-cmd --permanent --zone=public --add port=1024/tcp

(一)、Firewalld默认共9个zone

FireWalld不同区域之间的差异主要是每个区域对待数据包的默认行为不同

内部

internal

非军事化

dmz

外部external

家 庭

home

拒 绝

block

默认区域

Firewalld

丢 弃

drop

信  任

trusted

工作区

work

(二)、端口和服务名称的对应关系

查看端口和服务名称的对应关系        cat /etc/services

新建规则

--add

删除规则

--remove

改变规则

--change

查询规则

--query

--add-interface=eth0             将网络接口添加到默认的区域内

--add-service=http --permanent

添加服务到区域开放列表中(注意服务的名称需要与此区域支持的服务列表中的名称一致)

--remove-interface=eth0        将网络接口在默认的区域内删除

--change-interface=eth1        改变指定的接口到其他区域

--query-masquerade              查询SNAT的状态


总结

首先要了解防火墙的一些概念再去操作要好一些,因为操作命令较长,不好背记,理解了选项的含义会更加得心应手。4表5链和iptables服务需要重点掌握。

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

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

相关文章

uniapp如何实现路由守卫、路由拦截,权限引导

因为uniapp路由的实现方式和以往vue开发的router路由时不太一样&#xff0c;故官方这么说&#xff1a; 经过一番网上冲浪发现&#xff0c;有两种方式可以实现&#xff0c; 第一种方式&#xff1a; 在上述代码中&#xff0c;我们通过监听beforeRouterEnter事件来实现路由守卫。…

TypeScript解读TSConfig

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 创建和基本配置 compilerOptions target module outDir strict lib sourceMap paths allowJs esModuleIn…

10_光速学会docker用法:80分钟一口气学完docker+k8s!带你掌握docker+k8s所有核心知识点,全程干货,无废话!

启动第一个docker容器 #1、获取镜像 #2、运行镜像&#xff0c;生成容器&#xff0c;应用就跑在了容器中。 Nginx web服务器&#xff0c;运行处一个80端口的网站 #在宿主机上&#xff0c;运行Nginx 1、开启服务器 2、在服务器上安装好运行Nginx所需的依赖关系 3、安装nginx …

Allegro如何导出带有钻孔数据的dxf文件?

在Allegro软件中&#xff0c;导出带有钻孔数据的DXF文件是一个常见的任务&#xff0c;特别是需要将涉及文件与其他CAD工具或PCB制造商共享时&#xff0c;所以下面将谈谈&#xff0c;如何在Allegro软件中导出带有钻孔数据的dxf文件。 1、打开设计文件 首先&#xff0c;打开Alle…

RISC Zero zkVM 白皮书

1. 引言 RISC Zero提供了开源的虚拟机零知识证明系统&#xff0c;即zero-knowledge virtual machine&#xff08;简称zkVM&#xff09;。当在zkVM中执行某RISC-V二进制文件时&#xff0c;其输出为&#xff1a; 二进制文件执行结果&#xff0b; 一个computational receipt&…

Unity中程序集dll

一&#xff1a;前言 一个程序集由一个或多个文件组成&#xff0c;通常为扩展名.exe和.dll的文件称为程序集&#xff0c;.exe是静态的程序集&#xff0c;可以在.net下直接运行加载&#xff0c;因为exe中有一个main函数(入口函数&#xff09;&#xff0c;.dll是动态链接库&#…

安装配置 zookeeper(单机版)

目录 一 准备并解压安装包 二 修改zoo.cfg文件 三 创建相应两个目录 四 创建文件myid 五 修改环境变量 六 启动 zookeeper 一 准备并解压安装包 这里提供了网盘资源 http://链接: https://pan.baidu.com/s/1BybwSQ_tQUL23OI6AWxwFw?pwdd4cf 提取码: d4cf 这里的安装包是…

市面上的ipad国产触控笔怎么样?开学性价比高的电容笔测评

由于Apple Pencil的问世&#xff0c;成为了iPad的一款便携式的生产力配件&#xff0c;它的优点是&#xff0c;与iPad相结合的电容笔&#xff0c;可以让专业的画师在iPad上画画&#xff0c;并且可以画出不同粗细的线条&#xff0c;这对需要书写的学生来说&#xff0c;是非常有用…

解决 SQLyog 连接 MySQL8.0+ 报错:错误号码2058

文章目录 一、问题现象二、原因分析三、解决方案1. 方案1&#xff1a;更新SQLyog版本2. 方案2&#xff1a;修改用户的授权插件3. 方案3&#xff1a;修复my.cnf 或 my.ini配置文件 四、最后总结 本文将总结如何解决 SQLyog 连接 MySQL8.0 时报错&#xff1a;错误号码2058 一、问…

数据可视化大屏模板 | 保姆级使用教程

近来很多朋友私信咨询怎么下载使用数据可视化大屏模板&#xff0c;在这里就给大家做一个相对简单的教程总结。有需要的朋友记得先收藏保存&#xff0c;以便不时之需。 数据可视化大屏制作软件&#xff1a;奥威BI系统 数据可视化报表模板板块&#xff1a;模板秀 主要操作&…

uni-app:实现条件判断展示图片(函数判定+三目运算)

一、多条件判断&#xff08;通过函数进行图片展示&#xff09; 效果 代码 在data中定义图片信息和要传递的数据信息&#xff0c;在src中写入函数并携带要传递的数据&#xff0c;通过传递的数据在函数中进行判断&#xff0c;并返回对应的图片信息 <template><view&…

vue中转换base64文件数据后通过blob下载

可以看到这里我要转换的数据是content字段&#xff0c;即将base64文件数据转换后下载下来&#xff1a; downloadAttachment({ attachmentId: id }).then(({ data }) > {proxy.$modal.closeLoading();// atob先解码base64数据const raw window.atob(data.content);// 获取解…

亚马逊小类目排名怎么看?亚马逊小类目是什么意思?——站斧浏览器

亚马逊的产品分类结构被分为多个级别&#xff0c;包括大类目、小类目和子类目。本文介绍了亚马逊小类目排名查看方式。 亚马逊小类目排名怎么看&#xff1f; 小类目排名是亚马逊为每个小类目中的商品分配的销售排名。它反映了在该小类目中的销售表现&#xff0c;通常以数字形…

Python编程指南:利用HTTP和HTTPS适配器实现智能路由

嗨&#xff0c;爬虫大佬们&#xff01;今天我要为大家分享一篇关于如何利用HTTP和HTTPS适配器来实现智能路由的Python编程指南。在现代互联网应用中&#xff0c;路由功能起着至关重要的作用&#xff0c;而利用Python编程语言实现智能路由则可以为我们的应用带来更高的灵活性和性…

LeetCode-热题100-笔记-day28

98. 验证二叉搜索树https://leetcode.cn/problems/validate-binary-search-tree/ 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点…

AI绘画:StableDiffusion实操教程-斗罗大陆-朱竹清(附高清图下载)

大家好&#xff0c;我是小梦&#xff0c;最近一直研究AI绘画。 不久前&#xff0c;我与大家分享了StableDiffusion的全面教程 然而&#xff0c;仍有些读者提出&#xff0c;虽然他们已经成功地安装了此工具&#xff0c;但生成的作品与我展示的相差较大。那么&#xff0c;如何缩…

TM1638的8个LED灯和8个数码管的使用

一、模块介绍 上图为使用的模块&#xff0c;顶部8个LED&#xff0c;8个数码管&#xff1b;中间TM1638芯片&#xff0c;右侧是8个二极管&#xff08;非发光二极管&#xff09;&#xff1b;最下方是8个按键。 电路图如下图所示 二、TM1638 1、数据传输格式 在传输数据时&#x…

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

快手商城是快手小店平台和快手进口电商平台的公域导购场景&#xff0c;也是快手的在线购物平台。 用户打开快手APP后点击"商城"即可进入&#xff0c;在商城首页信息流、商城品类频道&#xff08;如女装、百货、家电频道等&#xff0c;其中&#xff0c;部分频道的商品…

如何用思维导图做笔记

思维导图是一个强大的学习工具&#xff0c;可以帮助我们更好地整理和梳理学习内容。好的笔记可以帮助我们在考试前夕事半功倍。大大提高效率。秒变学霸小达人。 今天我们就结合思维导图&#xff0c;告诉大家如何做出一份出色的思维导图笔记。 5R笔记法是一种用于学习和记笔记…

day6_C++

day6_C 模板 栈模板 队列思维导图 模板 栈 stack.h #ifndef STACK_H #define STACK_H#include <iostream> #include <cstring>using namespace std;#define MAX 5template<typename T> class Stack { public:/*构造函数*/Stack();/*拷贝构造函数*/Stack(co…