iptables 基础知识
文章目录
- 基础概念
- 基本命令
- --help 参数
- 查看
- 增加
- 删除
- 修改
- 保存规则
- 匹配条件
- 基本匹配条件
- 扩展匹配条件
- tcp 扩展模块
- iprange 扩展模块
- string 扩展模块
- time 扩展模块
- state
- 自定义链
- 动作
- REJECT
- LOG
- SNAT
- DNAT
- MASQUERADE
- REDIRECT
基础概念
四张表:
- raw
- mangle
- nat
- filter
当表位于同一个链时,优先级:raw --> mangle --> nat --> filter
五条链:
- PREROUTING
- INPUT
- FORWARD
- OUTPUT
- POSTROUTING
对应关系:
-
链与表
- PREROUTING:raw、mangle、nat
- INPUT:mangle、nat、filter
- FORWARD:mangle、filter
- OUTPUT:raw、mangle、nat、filter
- POSTROUTING:mangle、nat
-
表与链
- raw:PREROUTING、OUTPUT
- mangle:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING
- nat:PREROUTING、INPUT、POSTROUTING
- filter:INPUT、FORWARD、OUTPUT
处理动作(-j target)
- ACCEPT:允许数据包通过
- DROP:丢弃数据包,无任何回应,客户端会超时
- REJECT:拒绝数据包通过,回应给客户端无法访问
- SNAT:源地址转换
- MASQUERADE:SNAT的一种特殊形式,与端口绑定,适用于动态公网IP的场景
- DNAT:目标地址转换
- REDIRECT:本机做端口映射
- LOG:在 var/log/messages 中记录日志,然后匹配下一条规则(仅记录)
- 自定义链,匹配到的数据交给自定义链中的规则来处理
- RETURN:子链 return 后,回到触发 jump 的那条规则,从那条规则的下一条继续匹配;主链 return 后,执行默认策略
基本命令
操作 iptables 就是对四张表的增删改查
–help 参数
--append -A chainAppend to chain--check -C chainCheck for the existence of a rule--delete -D chainDelete matching rule from chain--delete -D chain rulenumDelete rule rulenum (1 = first) from chain--insert -I chain [rulenum]Insert in chain as rulenum (default 1=first)--replace -R chain rulenumReplace rule rulenum (1 = first) in chain--list -L [chain [rulenum]]List the rules in a chain or all chains--list-rules -S [chain [rulenum]]Print the rules in a chain or all chains--flush -F [chain] Delete all rules in chain or all chains--zero -Z [chain [rulenum]]Zero counters in chain or all chains--new -N chain Create a new user-defined chain--delete-chain-X [chain] Delete a user-defined chain--policy -P chain targetChange policy on chain to target--rename-chain-E old-chain new-chain
查看
查看表中的规则(-L --list)
iptables -t filter -L
# 默认操作 filter 表,所以上面等于 iptables -L
# 查看其他表
iptables -t raw -L
iptables -t mangle -L
iptables -t nat -L
# 直接 -L 会解析规则中的 IP 地址
-L 显示出来的内容:
Chain INPUT (policy ACCEPT) # 第一行 policy 表示这张表的默认动作(target)是ACCEPT
target prot opt source destination # 第二行开始是规则
DROP all -- anywhere anywhere Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere Chain OUTPUT (policy ACCEPT)
target prot opt source destination
查看表中的规则,-n 表示不解析 IP
# iptables -nL
# 可以看到 anywhere 都变成了 0.0.0.0/0 ,这样查表速度快
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 0.0.0.0/0 0.0.0.0/0
LIBVIRT_INP all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT)
target prot opt source destination
DOCKER-USER all -- 0.0.0.0/0 0.0.0.0/0
DOCKER-ISOLATION-STAGE-1 all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
DOCKER all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
-v 选项会显示出计数器,就是每条链每个规则匹配到的包数
# iptables -nvL
# 例如:
Chain OUTPUT (policy ACCEPT 1173 packets, 94739 bytes)pkts bytes target prot opt in out source destination 2134 195K LIBVIRT_OUT all -- * * 0.0.0.0/0 0.0.0.0/0
-x 选项,表示显示计数器的精确值,包数过多时, -v 会显示为 KB、MB人类可读形式,-x 就会精确显示字节数
–line-number 可以简写为 --line,显示规则的行号,增删改的时候会用到
可以在查看命令后面加指定的链名来只查看该链中的规则
# iptables --line -t filter -nxvL INPUT
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 1997 196482 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
2 1307 981564 LIBVIRT_INP all -- * * 0.0.0.0/0 0.0.0.0/0
增加
插入一条规则(默认插入到首部):
# 拒绝来自 10.1.1.1 的所有流量
iptables -t filter -I INPUT -s 10.1.1.1 -j DROP
增加一条规则(追加到末尾)
# 拒绝所有的 icmp 报文
iptables -t filter -I INPUT -p icmp -j DROP
# DROP显示的是
请求超时。
# REJECT 显示的是
来自 10.1.1.133 的回复: 无法连到端口。(Destination Port Unreachable)
删除
方法一:根据规则编号进行删除
# 先查看规则
# iptables --line -t filter -nvL INPUT
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 6 360 DROP icmp -- * * 0.0.0.0/0 0.0.0.0/0
2 1613 1008K LIBVIRT_INP all -- * * 0.0.0.0/0 0.0.0.0/0 # 删除 filter 表中 INPUT 链的第一条规则
iptables -t filter -D INPUT 1
方法二:根据匹配条件与动作进行删除
# 删除 filter 表中 INPUT 链的拒绝 icmp 的规则
iptables -t filter -D INPUT -p icmp -j DROP
删除整张表的规则 -F flush
iptables -t filter -F
删除指定表中某条链的全部规则 -F flush
iptables -t filter -F OUTPUT
修改
# 添加一条规则
# iptables -t filter -I INPUT -p icmp -j DROP
# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP icmp -- 0.0.0.0/0 0.0.0.0/0 # 修改规则
# iptables -t filter -R INPUT 1 -p icmp -j REJECT
-R 选项表示修改指定的链,使用-R INPUT 1 表示修改INPUT链的第 1 条规则,但是在使用-R选项修改某个规则时,必须指定规则对应的原本的匹配条件(如果有多个匹配条件,都需要指定)。
例如:
# 有一条规则:iptables -I INPUT -s 10.0.0.0/8 -p icmp -j REJECT
# 如果 -R 修改时没有写全匹配条件iptables -R INPUT 1 -p icmp -j DROP
# 那么规则就会使用默认的配置,如下:10.0.0.0/8 修改后变成了 0.0.0.0/0
# 查看规则 iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP icmp -- 0.0.0.0/0 0.0.0.0/0
修改默认动作
当报文没有被链中的任何规则匹配到时,或者,当链中没有任何规则时,iptables 会按照默认动作处理报文,可以使用 -P 选项修改指定链的默认策略:
# 查看规则 iptables -nL
Chain INPUT (policy ACCEPT) # 默认规则是 ACCEPT
target prot opt source destination
DROP icmp -- 0.0.0.0/0 0.0.0.0/0
# 修改默认策略
iptables -t filter -P INPUT DROP
保存规则
默认情况下,做出的修改时临时的,当重启服务后改动会丢失。
CentOS6 使用service iptables save
命令保存规则,规则默认保存在/etc/sysconfig/iptables文件中。
CentOS7 默认没有这个命令,可以通过 yum install -y iptables-services
#配置好yum源以后安装iptables-service
yum install -y iptables-services
#停止firewalld
systemctl stop firewalld
#禁止firewalld自动启动
systemctl disable firewalld
#启动iptables
systemctl start iptables
#将iptables设置为开机自动启动,以后即可通过iptables-service控制iptables服务
systemctl enable iptables
另外一种方法:使用iptables-save
可以查看当前的规则,然后将输出重定向到配置文件中即可
iptables-save > /etc/sysconfig/iptables
恢复配置:可以将 iptables 的配置文件重新加载
iptables-restore < /etc/sysconfig/iptables
匹配条件
基本匹配条件
-s 用于匹配报文的源地址,可以同时指定多个源地址,每个 IP 之间用逗号隔开,也可以指定为一个网段。! 用于取反
-d 用于匹配报文的目标地址
iptables -t filter -I INPUT -s 1.1.1.1,2.2.2.2 -j DROP
iptables -t nat -I INPUT -s 192.168.0.0/24 -j DRIO
iptables -t filter -I OUTPUT ! -d 10.0.0.0/8 -j DROP
-p 用于匹配报文的协议类型,可以匹配的协议类型tcp、udp、udplite、icmp、esp、ah、sctp、icmpv6、mh等
iptables -t filter -I INPUT -p tcp -s 12.1.1.1/8 -j ACCEPT
iptables -t filter -I INPUT ! -p udp -s 12.1.1.1/8 -j ACCEPT
-i 用于匹配报文是从哪个网络流入的,所以 OUTPUT 和 POSTROUTING 不能使用该选项
iptables -t filter -I INPUT -p icmp -i ens33 -j DROP
iptables -t filter -I INPUT -p icmp ! -i ens33 -j ACCEPT
-i 用于匹配报文是从哪个网络流入的,所以 INPUT 和 PREROUTING 不能使用该选项
iptables -t filter -I OUTPUT -p icmp -o ens33 -j DROP
iptables -t filter -I OUTPUT -p icmp ! -o ens33 -j ACCEPT
扩展匹配条件
tcp 扩展模块
- -p tcp -m tcp --sport 用于匹配tcp协议报文的源端口,可以使用冒号指定一个连续的端口范围
- -p tcp -m tcp --dport 用于匹配tcp协议报文的目标端口,可以使用冒号指定一个连续的端口范围
iptables -t filter -I INPUT -d 192.168.1.1 -p tcp -m tcp --dport 22:80 -j ACCEPT
iptables -t filter -I INPUT -d 192.168.1.1 -p tcp -m tcp --dport :200 -j ACCEPT
iptables -t filter -I OUTPUT -d 10.1.1.1 -p tcp -m tcp ! --sport 1024: -j REJECT
- -p tcp -m multiport --sports 用于匹配报文的源端口,可以指定离散的多个端口号,端口之间用"逗号"隔开
- -p tcp -m multiport --dports 用于匹配报文的目标端口,可以指定离散的多个端口号,端口之间用"逗号"隔开
iptables -t filter -I OUTPUT -d 192.168.1.1 -p tcp -m multiport --sports 22,80,443 -j ACCEPT
iptables -t filter -I OUTPUT -s 1.1.1.0/24 -p tcp -m multiport --dports 22:80,443 -j DROP
iprange 扩展模块
两个匹配条件:--src-range
和 --dst-range
,多个连续 IP 地址之间用 - 分隔。
iptables -t filter -I OUTPUT -m iprange --src-range 10.1.1.2-10.1.1.10 --dst-range 20.1.1.2-20.1.1.20 -j DROP
string 扩展模块
用来报文中的字符串,有两个匹配条件:
–algo:用于指定匹配算法,可选的算法有bm与kmp,此选项为必须选项,不用纠结于选择哪个算法,但是必须指定
–string:用于指定需要匹配的字符串
# 拒绝访问含有 Welcome 的内容
iptables -t filter -I INPUT -m string --algo bm --string "Welcome" -J REJECT
time 扩展模块
根据时间段来使规则生效,
--timestart
指定开始时间,--timestop
指定结束时间,不能取反--weekdays
指定星期几,可以 ! 取反--monthdays
指定每月的时间,可以 ! 取反--datestart
指定开始日期,--datestop
指定结束日期,不能取反
当一条规则中同时存在多个条件时,多个条件之间默认存在"与"的关系
# 每周一到周五的 9 点到 18 点不能访问 80 端口
iptables -t filter -I INPUT -p tcp --dport 80 -m time --weekdays 1,2,3,4,5 --timestart 9:00:00 --timestop 18:00:00 -j REJECT
# 每个月的第四个周五
iptables -t filter -I INPUT -m time --weekdays -monthdays 22,23,24,26,26,27,28 -j REJECT
state
五种状态的官方解释
对于 state 模块来说,tcp、udp、icmp 等报文都是有连接状态的,只要两台机器在通信,就算建立起来了连接;这个连接和 tcp 中的连接不一样。
state 中的连接分为五种状态:NEW、ESTABLISHED、RELATED、INVALID、UNTRACKED。
- NEW:新连接中的第一个包
- ESTABLISHED:NEW 包之后的包都是 ESTABLISHED 状态,表示连接已经建立
- RElATED:表示该数据包正在启动新连接,但与现有连接相关联,例如FTP数据传输或ICMP错误
- INVALID:不能识别或没有状态的包
- UNTRACKED:报文未被追踪,无法找到相关的连接
# 常用的规则:放行回包
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
自定义链
可以将一类规则自定义为一个链,方便管理。如 web 相关的规则,定义一个 WEB_CHAIN
# 在 filter 表中添加一个自定义链
iptables -t filter -N WEB_CHAIN
# 在 INPUT 链中引用自定义链
iptables -t filter -I INPUT -p tcp --dport 80 -j WEB_CHAIN
# 在自定义链中添加规则
iptables -t filter -I WEB_CHAIN -s 192.168.1.0/24 -j DROP
# 重命名自定义连
iptables -t filter -E WEB_CHAIN WEB
# 删除自定义链,必需满足:未被引用,规则为空
# 取消引用(删除相关规则)
iptables -t filter -D 1
# 清空链
iptables -t filter -F WEB
# 删除自定义链
iptables -t filter -X WEB
动作
REJECT
REJECT动作的常用选项为–reject-with,设置提示信息,提示对方为什么被拒绝
- icmp-net-unreachable
- icmp-host-unreachable
- icnp-port-unreachable
- icmp-proto-unreachable
- icmp-net-prohibited
- icmp-host-prohibited
- icmp-admin-prohibited
默认值为 icmp-port-unreachable
# 例如:
iptables -I INPUT -p icmp -j REJECT --reject-with icmp-admin-prohibited
LOG
LOG动作会将报文的相关信息记录在 /var/log/syslog 中
–log-level选项可以指定记录日志的日志级别,可用级别有emerg,alert,crit,error,warning,notice,info,debug。
–log-prefix选项可以给记录到的相关信息添加"标签"之类的信息,以便区分各种记录到的报文信息,方便在分析时进行过滤。
修改 log 文件保存的地方,方便区分
# vim /etc/rsyslog.conf
kern.* /var/log/iptables.log
# 重启服务
systemctl restart rsyslog
SNAT
iptables -t nat POSTROUTING -s 私网网段 -j SNAT --to-source 公网IP
DNAT
# 将内网服务器 192.168.1.100:80 映射到公网 2333 端口,如果没生效的话,加上 SNAT 规则
iptables -t nat PREROUTING -d 公网IP -p tcp --dport 2333 -j DNAT --to-destination 192.168.1.100:80
iptables -t nat POSTROUTING -s 192.168.1.100 -j SNAT --to-source 公网IP
MASQUERADE
如果公网地址是动态获取的,如果怕配置 SNAT 规则,地址发生变化时,就需要重新配置规则,MASQUERADE 会动态的将源地址转换为可用的IP地址。
# ens33 是公网口,转换内网网段
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ens33 -j MASQUERADE
REDIRECT
使用REDIRECT动作可以在本机上进行端口映射
比如,将本机的80端口映射到本机的8080端口上
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
经过上述规则映射后,当别的机器访问本机的80端口时,报文会被重定向到本机的8080端口上。
REDIRECT规则只能定义在PREROUTING链或者OUTPUT链中。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- Python if __name__ == __main__的简单理解
通俗来讲,if __name__ == __main__就是实现在程序/模块之间互相调用时声明一个运行界限的功能。程序/模块之间互相调用时if __name__ == __main__之前的语句将被执行,而之后的将被忽略。 举个小例子: 新建一个py文件,命名为’ t ‘. a = 1 b = 2 if __name__ == __main__:p…...
2024/4/19 11:18:00 - OpenCV学习笔记
一、图像的加载、修改、保存图像加载:cv:imread—加载图像文件成文一个Mat对象 图像修改:cv:cvtColor—把图像从一个色彩空间转到另一个色彩空间(输 入,输出,色彩空间转换) 图像保存:imwrite 创建openCV窗口:nameWindow 图像显示到窗口:imshow二、矩阵的掩膜操作获取像…...
2024/4/27 16:44:07 - 我的码农时代
我的码农时代大学期间敲代码经常给我带来小小的收获感,因此我逐渐喜欢上了编程。由于是机械大类专业,我的第一份工作是一个汽车制造企业的研发岗。但是工作后我的脑海里时常会浮现出自己代码运行成功后的喜悦,最后我决定追寻我内心深处的想法,现在我将以我内心的的这份炽热…...
2024/4/27 14:32:23 - 使用python批量解压7z格式压缩包
最近下载了许多7z格式的压缩包,但又不想一个个单独的去解压,所以便百度了下python解压压缩包的方法,常见的有导入zipfile模块,我这里用的是使用系统的cmd命令去调用7-zip软件去进行解压缩。首先到网上下载7-zip软件安装下载地址 安装完成后找到安装路径,等下使用cmd命令要…...
2024/4/27 17:25:51 - 扇型域上的Dirichlet问题 | 分离变量法(七)| 偏微分方程(十九)
求解扇型域上的Dirichlet问题 {Δ2u=0,1<r<e,0<θ<π2u∣r=1=u∣r=e=0u∣θ=0=0,u∣θ=π2=g(r)(15) \begin{cases} \Delta_2u=0, \quad 1<r<e,0<\theta<\frac{\pi}{2} \\ u|_{r=1}=u|_{r=e}=0 \\ u|_{\theta=0}=0, \quad u|_{\theta=\frac{\pi}{2}}=g…...
2024/4/19 11:24:43 - volatile可见性禁重排原理以及不保证原子性解决方案,volatile下的双端检锁机制单例模式的原理
先说说并发和并行的区别 1.并发是多个线程同时访问 2.并行是多个方面一起正在做 volatile是Java虚拟机提供的轻量级同步机制 三大特性:保证可见性,不保证原子性,禁止指令重排 JMM(java内存模型) 高并发系统还是单机版系统(高并发伴随很多问题,不得不研究底层JMM)JMM第一…...
2024/4/17 4:17:13 - python基础语法之模块
模块 1.模块化模块化指将一个完整的程序分解为一个一个小模块通过将这些模块足额,来搭建出一个完整的程序2.模块的优点1.方便开发2.方便维护3。模块可以服用3.创建模块在Python中一个py文件就是一个模块在一个模块中引入外部模块可以引入同一个模块多次,单模块的实例只会执行…...
2024/4/23 15:09:12 - 攻防世界web新手区webshell
打开场景后发现页面上有一句话木马,密码是shell,打开中国蚁剑等扫描工具,添加地址输入密码扫描(以下一蚁剑为例):添加场景URL(即网址),填写密码:打开,发现有flag的txt文件,打开即得flag:...
2024/4/23 15:09:16 - docker 运行portainer
portainer:docker图像化管理工具,提供一个后台管理面板: (1)下载安装: docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name prtainer portainer/portainer2.界面查看...
2024/4/23 15:09:10 - 【Learning】《项目管理》相关基础工具
工具格式将随具体业务及实际应用场景调整 一、项目限制三角形 成本、进度、质量 二、 工作陈述模板项目工作陈述书 说明项目名称项目目的 为什么要做这个项目?项目目标及衡量标准 项目实现的目标是什么?(目标要符合SMART原则)项目范围 必须做什么——需要哪些工作?是否有相…...
2024/4/25 21:31:24 - linux服务器部署SpringBoot项目并查看项目运行日志
在Linux服务器上部署SpringBoot项目: 1.首先将SpringBoot项目打包成JAR包,通过xFTP或者其他工具将JAR包上传到Linux上,然后执行如下命令启动项目: java -jar xxx.jar & 该命令启动jar,一旦Xshell窗口关闭,JAR就停止运行了. 如果想让项目在后台一直运行,通过如下命令启动JAR…...
2024/4/23 15:09:12 - 我的shiro自白-2
一. Shiro 集成 Web 可以参考http://shiro.apache.org/web.html 实例代码可参考这里新建maven项目上边使用webapp是开发maven下的jsp项目,需要修改JRE到1.8。webapp/下就是存放jsp等静态网络资源的地方。pom.xml配置如下:<project xmlns="http://maven.apache.org/PO…...
2024/4/23 15:09:07 - 通用分页
通用分页核心思路 通用分页核心思路 将上一次查询请求再发一次,只不过页码变了PageBean 分页三要素 page 页码 视图层传递过来 rows 页大小 视图层传递过来 total 总记录数 后台查出来 pagination 是否分页 视图层传递过来后台 2.1 en…...
2024/4/23 15:09:10 - Maven之pom.xml配置文件详解
一、什么是pom pom代表项目对象模型,它是Maven中工作的基本组成单位。它是一个XML文件,始终保存在项目的基本目录中的pom.xml文件中。pom包含的对象是使用maven来构建的,pom.xml文件包含了项目的各种配置信息。 创建一个POM之前,应该要先决定项目组(groupId),项目名(artif…...
2024/4/23 15:09:09 - 双调和方程定解问题 | 分离变量法(八)| 偏微分方程(二十)
求满足双调和方程定解问题 {Δ2φ=(∂2∂x2+∂2∂y2)2φ=0,0<x<l(17a)∂2φ∂y2∣x=0=∂2φ∂y2∣x=l=0(17b)∂2φ∂y2≠0(17c) \begin{cases} \Delta^2\varphi=(\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2})^2\varphi=0,\quad 0<x<l \quad…...
2024/4/23 15:09:01 - 5.19
1.内置1)abs绝对值val = -16 res= abs(val) print(res)2)round的四舍五入(n.5 n为偶数则舍去小数部分 n.5 n为奇数,则进1)val=1.5 2 val=3.5 4 val=3.51 4 val=4.5 4 val=4.51 5 val=4.14 4 val=4.6 5 res=round(val) print(res) """奇进偶不进…...
2024/4/23 15:09:00 - Spring Boot 消息队列 RocketMQ 入门
1. 概述如果胖友还没了解过分布式消息队列 Apache RocketMQ ,建议先阅读下艿艿写的 《芋道 RocketMQ 极简入门》 文章。虽然这篇文章标题是安装部署,实际可以理解成《一文带你快速入门 RocketMQ》,哈哈哈。考虑这是 RocketMQ 如何在 Spring Boot 整合与使用的文章,所以还是…...
2024/4/17 4:17:07 - 【测开基础之计算机网络】一: 计算机网络概述
1、计算机网络概述 1.1 因特网概述网络、互联网、因特网;经常听到的三个名词,他们的区别是什么?先参考如下图网络(Network) 计算机通过交换机设备组建成一个局域网,一般不超过100米,例如学校的机房; 互联网(Network of Network) 还是以学校机房为例,不同教室之间的网络可…...
2024/4/23 15:09:01 - springboot系类代码:spring-boot-starter-aop
在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑…...
2024/4/17 4:17:43 - 使用C语言的递归玩汉诺塔游戏
递归函数虽然比不上指针,但是在C语言中的地位和复杂程度,但是他也不是随便就能搞懂的,这里通过汉诺塔游戏来进行C语言递归的训练。一、汉诺塔游戏介绍相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上…...
2024/4/17 23:38:46
最新文章
- vue2 mixin的用法
在 Vue 2 中,mixin 是一种分发 Vue 组件中可复用功能的非常灵活的方式。一个 mixin 对象可以包含任意组件选项。当组件使用 mixin 对象时,所有 mixin 对象的选项将被“混合”进入该组件本身的选项。 下面是如何在 Vue 2 中使用 mixin 的基本步骤&#x…...
2024/4/27 18:31:14 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 阿里云8核32G云服务器租用优惠价格表,包括腾讯云和京东云
8核32G云服务器租用优惠价格表,云服务器吧yunfuwuqiba.com整理阿里云8核32G服务器、腾讯云8核32G和京东云8C32G云主机配置报价,腾讯云和京东云是轻量应用服务器,阿里云是云服务器ECS: 阿里云8核32G服务器 阿里云8核32G服务器价格…...
2024/4/26 10:21:08 - 01背包问题 小明的背包
2.小明的背包1 - 蓝桥云课 (lanqiao.cn) #include <bits/stdc.h> using namespace std; const int N1010;//开始写的105 开小了 样例过了但最后只过了很少一部分 int n,m; int v[N],w[N]; int f[N][N];int main() {cin>>n>>m;for(int i1;i<n;i){cin>&…...
2024/4/22 8:36:15 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/26 18:09:39 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/26 20:12:18 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/27 4:00:35 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/26 21:56:58 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/27 9:01:45 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/25 18:39:16 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/26 22:01:59 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/25 2:10:52 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/25 18:39:00 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57