防火墙 FireWall
这里写自定义目录标题
- 一、概述
- 二、防火墙分类
- 三、防火墙性能
- 四、硬件防火墙定义
- 五、硬件防火墙作用(拓扑图 ups)
- 六、硬件防火墙品牌
- 七、软件防火墙
- 八、iptables
- 一、iptables是什么?
- 二、netfilter/iptables功能
- 三、iptables概念
- 四、iptables中链的概念
- 五、iptables中表的概念
- 六、iptables中表链之间的关系
- 七、iptables规则匹配条件分类
- 九、各种情况的操作
- 一、防火墙详细信息显示结果
- 二、如果第一台服务器不能ping通第二台,但是可以ssh成功
- 三、反过来可以ping通但是不能通ssh协议
- 四、指定数据表源地址无法访问
- 五、根据网卡显示拒绝访问
- 六、通过ens33接口进入icmp拒绝,其他默认允许
- 七、取反
- 八、禁止访问防火墙的80端口,其他都可以访问
- 九、只允许80端口访问,其余的都拒绝
- 十、不允许其他主机ping通防火墙,但是防火墙可以ping通其他主机
- 十一、拒绝端口号为80 和 22的协议访问
- 十二、删除一条策略
- 十三、制定链表的策略
- 十、防火墙四表五链+规则
- 一、四表
- 二、五个链分别是
- 三、命令
- 四、计数器
- 五、iptables链管理方法
- 六、iptables规则管理
- 七、iptables规则显示
一、概述
在计算机领域,防火墙是用于保护信息安全的设备,其会依照用户定义的规则,允许或限制数据的传输。
用于保护内网安全的一种设备依据规则进行防护
用户定义规则
允许或拒绝外部用户访问
二、防火墙分类
逻辑上划分,防火墙可以大体分为主机防火墙和网络防火墙主机防火墙:针对于单个主机进行防护
网络防火墙:针对网络进行防护,处于网络边缘,防火墙背后是本地局域网网络防火墙主外(服务集体),主机防火墙主内(服务个人)
物理上划分,防火墙可分为硬件防火墙和软件防火墙
硬件防火墙:在硬件级别实现防火墙功能,另一部分基于软件实现,其性能高,硬件成本高
软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,其性能相较于硬件防火墙低,成本较低,对于
Linux系统已自带,直接使用即可
三、防火墙性能
吞吐量
并发连接
新建连接
时延
抖动
四、硬件防火墙定义
硬件防火墙是指把具备配置数据包通过规则的软件嵌入硬件设备中,为网络提供安全防护的硬件设备。多见于网络边 缘。
五、硬件防火墙作用(拓扑图 ups)
六、硬件防火墙品牌
Juniper
cisco 思科ASA
华为
七、软件防火墙
软件防火墙是单独使用具备配置数据包通过规则的软件来实现数据包过滤。多见于单主机系统或个人计算机
Web应用防火墙(WAF)
Web应用防火墙是对web防护(网页保护)的安全防护设备(软件),主要用于截获所有HTTP数据或仅仅满足某些规则的 会话。多见于云平台中。
硬件防火墙与软件防火墙比较
硬件防火墙有独立的硬件设备,运算效率较高,价格略高,可为计算机网络提供安全防护。
软件防火墙必须部署在主机系统之上,相较于硬件防火墙运算效率低,在一定程度上会影响到主机系统性能,一般用 于单机系统或个人计算机中,不直接用于计算机网络中。
八、iptables
一、iptables是什么?
iptables不是防火墙,是防火墙用户代理用于把用户的安全设置添加到“安全框架”中 “安全框架”是防火墙
“安全框架”的名称为netfilter
netfilter位于内核空间中,是Linux操作系统核心层内部的一个数据包处理模块iptables是用于在用户空间对内核空间的netfilter进行操作的命令行工具
二、netfilter/iptables功能
netfilter/iptables可简称为iptables,为Linux平台下的包过滤防火墙,是开源的,内核自带的,可以代替成本较高的 企业级硬件防火墙,能够实现如下功能:
数据包过滤,即防火墙数据包重定向,即转发网络地址转换,即可NAT
注:
平常我们使用iptables并不是防火墙的“服务”,而服务是由内核提供的。
三、iptables概念
iptables工作依据 规则(rules)
iptables是按照规则(rules)来办事的,而规则就是运维人员所定义的条件;规则一般定义为“如果数据包头符合这样的 条件,就这样处理这个数据包”。
规则存储在内核空间的数据包过滤表中,这些规则分别指定了源地址、目的地址,传输协议(TCP、UDP、ICMP)和服 务类型(HTTP、FTP)等。
当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,比如放行(ACCEPT)、拒绝(REJECT)、 丢弃(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选项指明协议时,无需再同时使用-m选项指明扩展模块以及不需要手动加载扩展模块; 显示匹配的特点:必须使用-m选项指明要调用的扩展模块的扩展机制以及需要手动加载扩展模块。
隐式匹配选项及功能
九、各种情况的操作
首先准备两台虚拟机
192.168.115.4
192.168.115.5 (开启防火墙)
在开启防火墙的服务输入命令
一、防火墙详细信息显示结果
iptables -nL
包括三个链
INPUT、FORWARD、OUTPUT
清空防火墙的详细信息
iptables -F
显示结果为成功清空(清空的只是过滤表)防火墙策略默认是允许所有
清空了 所有的过滤表,但是策略是允许所有,验证 可以成功ping通、虽然防火墙关闭但是ssh可以成功通过
二、如果第一台服务器不能ping通第二台,但是可以ssh成功
需要更改防火墙规则
iptables -t filter -A INPUT -p icmp -j REJECT
防火墙更改规则后验证
验证互通结果
无法ping通,可以ssh
三、反过来可以ping通但是不能通ssh协议
需要更改规则(没做完一次要清空一下,这样不影响下一次的结果)
iptables -F
iptables -nL
输入
iptables -t filter -A INPUT -p tcp -j REJECT
输入完因为是通过tcp连接的远程,输入这个命令则断开连接
虽然他断开连接,但是回到第一台机器验证
则可以成功ping通,但是ssh则无法连接
四、指定数据表源地址无法访问
iptables -t filter -A INPUT -p icmp -j REJECT
iptables -t filter -A INPUT -s 192.168.115.4 -j REJECT
输入命令 查看防火墙规则
iptables -nL
会发现有两条规则,一条是 icmp协议无法访问。
一条是 IP为 192.168.115.4的无法访问
验证 (直接提示验证失败)
五、根据网卡显示拒绝访问
iptables -A INPUT -i ens33 -j DROP
iptables -A INPUT -i ens33 -j DROP 这个命令的作用是将通过网络接口 ens33 进入系统的数据包丢弃(drop),即拒绝来自该网络接口的数据包。
该规则只会影响到通过 ens33 网络接口进入系统的数据包,而不会影响从系统发往 ens33 网络接口的数据包。对于通过其他网络接口发出的访问,这个规则不会对其生效。
所以,这个命令并不会直接丢弃 ens33 发起的所有访问,而是只针对通过 ens33 网络接口进入系统的数据包进行丢弃。其他网络接口的流量将不受影响。
如果你想要限制源地址为 ens33 的数据包的访问,你可以使用 -s 参数来指定源地址。例如,iptables -A INPUT -i ens33 -s 192.168.115.4 -j DROP 将会丢弃源地址为 192.168.115.4 通过 ens33 网络接口进入系统的数据包。
验证 (因为是此网卡直接丢弃,所以验证时,他只会显示在等待返回)
六、通过ens33接口进入icmp拒绝,其他默认允许
iptables -A INPUT -p icmp -i ens33 -j DROP
分析:因为ping 属于icmp协议,所以分析该命令可以得出,无法ping通,但是ssh属于ssh协议,则ssh可以正常连接
验证
这条命令和数据表无法访问有相似的地方,又不完全一样
iptables -A INPUT ! -p icmp -i ens33 -j DROP 表示在 INPUT 链上添加规则,如果数据包不是 ICMP 类型,并且通过 ens33 接口进入,则将其丢弃。
iptables -t filter -A INPUT -p icmp -j REJECT 表示在 INPUT 链上添加规则,如果数据包是 ICMP 类型,则拒绝回复一个 ICMP 错误消息。
七、取反
和上一条命令正好相反,除了icmp协议可以通信,其他协议如果通过ens33接口进入防火墙都是拒绝的
iptables -A INPUT ! -p icmp -i ens33 -j DROP
因为远程连接是TCP协议,所以运行此命令时,会提示连接断开,但是不影响验证结果
分析:因为ping属于icmp协议,而ssh不属于,按此命令来看,验证结果是可以ping通但是ssh无法成功连接
验证
八、禁止访问防火墙的80端口,其他都可以访问
**- ACCEPT
表示接受数据包,允许数据包通过防火墙,并交给系统进一步处理。
REJECT
表示拒绝数据包,不允许数据包通过防火墙,并向发送者发送一个拒绝的响应。
相同点是,它们都会阻止数据包通过防火墙,不过处理方式略有不同。
当使用ACCEPT
时,数据包会被允许通过并传递给系统的进一步处理。而使用REJECT
时,数据包会被阻止,并且发送一个特定的响应给发送者,告诉它被拒绝了。
可以根据实际需求选择适合的命令。如果你希望明确告知发送者被拒绝,可以使用REJECT
命令,否则可以使用DROP
命令来丢弃数据包,而不给发送者任何响应。**
iptables -A INPUT -p tcp --dport 80 -j REJECT
80端口无法通过防火墙成功访问
用curl 192.168.115.5 来验证因为
不影响SSH的结果,也不影响ping的结果
验证
九、只允许80端口访问,其余的都拒绝
**- ACCEPT
表示接受数据包,允许数据包通过防火墙,并交给系统进一步处理。
REJECT
表示拒绝数据包,不允许数据包通过防火墙,并向发送者发送一个拒绝的响应。
相同点是,它们都会阻止数据包通过防火墙,不过处理方式略有不同。
当使用ACCEPT
时,数据包会被允许通过并传递给系统的进一步处理。而使用REJECT
时,数据包会被阻止,并且发送一个特定的响应给发送者,告诉它被拒绝了。
可以根据实际需求选择适合的命令。如果你希望明确告知发送者被拒绝,可以使用REJECT
命令,否则可以使用DROP
命令来丢弃数据包,而不给发送者任何响应。**
iptables -A INPUT -p tcp --dport 80 -j ACCEP
iptables -A INPUT -j DROP
验证
可以 curl 192.168.115.5
但是ping不通和ssh无法通过
而且此操作会导致远程连接断开
十、不允许其他主机ping通防火墙,但是防火墙可以ping通其他主机
iptables -A INPUT -p icmp --icmp-type 8/0 -j REJECT
验证
4 ping 5 失败
5 ping 4 成功
十一、拒绝端口号为80 和 22的协议访问
iptables -A INPUT -p tcp -m multiport --dports 80,22 -j REJECT
此命令会断开远程连接
不影响ping ,是因为 ping来自于icmp协议
而不能curl通和ssh通,是因为curl是80号端口,ssh是通过端口22号进行ssh访问
验证
十二、删除一条策略
输入命令查看防火墙策略
iptables -nL
显示 INPUT有四条策略
删除当中一条策略 (序号是顺着排下来的,如果想删除第二条策略则将1换成2即可)
iptables -D INPUT 1
iptables -nL
查看结果
同时删除两个输入以下命令 (是删除了两个第一行)
iptables -D INPUT 1 && iptables -D INPUT 1
十三、制定链表的策略
先输入下方命令使 4 ping 不通 5
iptables -A INPUT -p icmp -j REJECT
然后来到 4 验证 无法ping通
回到 5 验证
输入
iptables -vnL
显示结果 拒绝6个包 504个字节, 输入nL也可以查看
十、防火墙四表五链+规则
iptables命令 -t(四张表的内容)- 命令 -链
一、四表
一、filter 过滤(确定是否放行该数据包)
二、nat 地址转换(网络地址转换功能,修改数据包中的源、目标IP或端口)
三、mangle 标记(对数据包进行重新封装,为数据包设置标记)
四、raw 跟踪(是否对数据包进行跟踪)
二、五个链分别是
一、input
进入防火墙的流量
二、output
从防火墙出来的流量
三、forward
经过防火墙的流量
四、prerouting
在路由选择之前 dnat
五、postrouting
在路由选择之后,马上离开防火墙 一般做 snat
三、命令
一、 -p 指定规则协议 (tcp传输层、udp传输层、icmp网络层、ip网络层)
二、 -A 表示添加**(添加一条规则,表示在最后添加一条规则,Append,如果原来有五条规则,那追加显示就是显示六条)**
三、 -D 删除 (所有规则,但是默认删除的是filter表)
四、 -L 列出
五、 -F 清空
六、 -P 默认(是允许所有的策略)
七、 -I 插入
八、 -R 替换
九、 -n 以数字形式来显示
四、计数器
注意:每个规则都有两个计数器
packets:被本规则所匹配到的所有报文的个数;
bytes:被本规则所匹配到的所有报文的大小之和;
五、iptables链管理方法
-N, --new-chain chain:新建一个自定义的规则链;
-X, --delete-chain [chain]:删除用户自定义的引用计数为0的空链;
-F, --flush [chain]:清空指定的规则链上的规则;
-E, --rename-chain old-chain new-chain:重命名链;
-Z, --zero [chain [rulenum]]:置零计数器;
-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]:显示指定链的所有规则;
相关文章:
防火墙 FireWall
这里写自定义目录标题 一、概述二、防火墙分类三、防火墙性能四、硬件防火墙定义五、硬件防火墙作用(拓扑图 ups)六、硬件防火墙品牌七、软件防火墙八、iptables一、iptables是什么?二、netfilter/iptables功能三、iptables概念四、iptables中…...
【Linix-Day12-线程同步和线程安全】
线程同步 和 线程安全 线程同步 除了信号量和互斥锁(互斥锁和条件变量上次介绍过),还有两种方式同步 1.读写锁 当同时对一块内存读写时,会出现下列问题,故而引入读写锁 接口介绍: 1.int pthread_rwloc…...
C++中使用嵌套循环遍历多维数组
C中使用嵌套循环遍历多维数组 一维数组:数组元素可以看做是一行数据。 二维数组:更像是一个表格,既有行数据又有列数据。 C没有提供二维数组类型,但用户可以创建每个元素本身都是数组的数组。例如,假设要存储 5 个城…...
linux入门---命名管道
如何创建命名管道 使用mkfifo函数就可以在程序里面创建管道文件,该函数的声明如下: 该函数需要两个参数,第一个参数表示要在哪个路径下创建管道文件并且这个路径得待上管道文件的名字,因为每个文件都有对应的权限,所…...
SpringBoot2.0入门(详细文档)
文章目录 Springboot是什么Springboot2.x依赖环境和版本新特性说明为什么学习Springboot从springboot优点来看从未来发展的趋势来看 开发环境Spring Boot开发环境搭建和项目启动jdk 的配置Spring Boot 工程的构建maven配置IDEA 快速构建maven 创建工程常用注解 完整代码 Spring…...
Aztec的隐私抽象:在尊重EVM合约开发习惯的情况下实现智能合约隐私
1. 引言 Aztec的架构,不同于当前“通过EVM兼容执行环境”所实现的区块链水平扩容趋势。Aztec内部笑称其构建的为首个非zkEVM协议。 Aztec专注于实现: 成为理解和需要智能合约隐私的开发者的终极解决方案。 Aztec为开发者提供构建隐私优先app所需的网…...
【Vue】详细介绍Vue项目的目录结构及各个核心文件的示例代码
Vue.js并没有严格的文件和目录结构要求,但一般情况下,我们的Vue项目目录结构如下: ├── node_modules/ # 项目依赖的 node 模块 ├── public/ # 公共资源目录 │ ├── favicon.ico # 网页图标 │ └──…...
【人大金仓】迁移MySql数据库到人大金仓,出现sys_config表重复
需要迁移的数据库中有张表名称为sys_config,查询的时候查询结果不符合我们的预期,经咨询金仓售后人员后得知和系统表重名… 解决问题方法如下: alter database [数据库名] set search_path to "$user", [模式名,(可选&…...
linux内核进程间通信IPC----消息队列
消息队列:提供一种从一个进程向另一个进程发送一个数据块的方法。与FIFO相比,消息队列的优势在于,它独立于发送和接收进程而存在。 1.链表式结构组织,存放于内核。 2.通过队列标识来引用。 3.通过一个数据类型来索引指定的数据。 …...
PHP实现微信小程序状态检测(违规、暂停服务、维护中、正在修复)
实现原理 进入那些状态不正常的小程序会被重定向至一个Url,使用抓包软件抓取这个Url,剔除不必要参数,使用cURl函数请求网页获得HTML内容,根据内容解析出当前APPID的小程序的状态。 代码 <?php// 编码header(Content-type:ap…...
ubuntu在线直接升级
前几天VMware上安装了ubuntu,当时的内核版本支持(ipguard,加密软件),后来ubuntu自动升级了linux内核,导致加入软件不支持,无法访问加密文件了。后来加密软件商更新了软件,但还是赶不上linux内核更新速度,还…...
学习笔记:卸载nav2 navigation2导航
nav2二进制文件安装 nav2导航安装方式分为二进制文件安装和源码方式安装,如果想用最快的方式跑通代码,推荐二进制安装,不用编译,没有缺少依赖编译失败的烦恼, 安装命令: sudo apt install ros-$ROS_DISTR…...
觉非科技数据闭环系列 | BEV感知研发实践
随着自动驾驶迈向量产场景,“BEV感知数据闭环”已成为新一代自动驾驶量产系统的核心架构。数据成为了至关重要的技术驱动力,发挥数据闭环的飞轮效应或将成为下半场从1到N的胜负关键。 觉非科技在此方面已进行了大量的研究工作,并在实际量产项…...
程序员情绪把控
文章目录 建议情绪 建议 保持稳定的情绪在工作中非常重要,以下是一些建议: 自我意识:保持对自己情绪的觉察和理解,了解自己的情绪状态和触发情绪的因素。通过自我反省和观察,你可以更好地管理和调节情绪。 健康生活方…...
弱监督目标检测:ALWOD: Active Learning for Weakly-Supervised Object Detection
论文作者:Yuting Wang,Velibor Ilic,Jiatong Li,Branislav Kisacanin,Vladimir Pavlovic 作者单位:Rutgers University;The Institute for Artificial Intelligence Research and Development of Serbia;Nvidia Corporation 论文链接:http:…...
驱动开发 day3
总结:自动创建设备节点udev的流程 1.如何创建节点 手动创建:mknod 地址 设备文件类型 主设备号 次设备号(0 - 255) 自动创建:devfs (创建节点的逻辑在内核 ---> 2.4版本以前使用) udev (创建节点的逻辑在应用层) mdev (轻量级的udev) 2.…...
许可license分析 第一章
许可分析是指对软件许可证进行详细的分析和评估,以了解组织内部对软件许可的需求和使用情况。通过许可分析,可以帮助组织更好地管理和优化软件许可证的使用。以下是一些可能的许可分析方法和步骤: 收集许可证信息:首先,…...
Goby 漏洞发布|管家婆订货易在线商城 SelectImage.aspx 文件上传漏洞
漏洞名称:管家婆订货易在线商城 SelectImage.aspx 文件上传漏洞 English Name: GJP SelectImage.aspx file upload vulnerability CVSS core: 9.8 影响资产数:2617 漏洞描述: 任我行率先针对中小企业推出了管家婆进销存、财务…...
Android屏幕录制
这里使用Java语言编写实现,完整代码如下: 文件 AndroidMainfest.xml 的主要配置 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"…...
实在智能牵手埃林哲,“TARS-RPA-Agent+云时通”双剑合璧共推企业数字化转型
近日,《数字中国建设整体布局规划》进一步明确了数字化发展的方向和节奏,对企业数字化建设提出了新要求。回看过去几十年,信息化建设如火如荼,各类IT系统如雨后春笋般涌现,系统的自动化操作及系统间数据交互共享等需求…...
拥有这个中文版CustomGPT,你也能定制自己的AI问答机器人
人工智能技术的快速发展为各行各业带来了前所未有的机会,其中之一就是定制化的问答机器人。这些机器人可以用于客户支持、知识管理、虚拟助手等多个领域,帮助企业提高效率,提供更好的用户体验。很多人可能都知道通过CustomGPT能够设计自己的人…...
fastadmin 基本使用配置
fastadmin 版本 1.3.5 thinkphp 版本 5.0.25 配置 cache 为 redis 保存 // ---------------------------------------------------------------------- // | 缓存设置 // ---------------------------------------------------------------------- cache …...
netty 线程组
我们的bossgroup和workgroup都是使用的NioEventLoopGroup。其内部有一个EventExecutor类型的数组用来存储所有的线程组。 NioEventLoopGroup {EventExecutor[] children; }NioEventLoopGroup继承自MultithreadEventExecutorGroup,构造函数不指定线程数默认会根据系…...
Reactor 第十二篇 WebFlux集成PostgreSQL
1 引言 在现代的应用开发中,数据库是存储和管理数据的关键组件。PostgreSQL 是一种强大的开源关系型数据库,而 WebFlux 是 Spring 框架提供的响应式编程模型。本文将介绍如何使用 Reactor 和 WebFlux 集成 PostgreSQL,实现响应式的数据库访问…...
红队打靶:Me and My Girlfriend打靶思路详解(vulnhub)
目录 写在开头 第一步:主机发现和端口扫描 第二步:Web渗透(修改XFF代理) 第三步:数据库手工枚举 第四步:sudo php提权 总结与思考 写在开头 本篇博客在自己的理解之上根据大佬红队笔记的视频进行…...
Mysql高级——索引(2)
常见索引 索引分类 在MySQL数据库,将索引的具体类型主要分为以下几类:主键索引、唯一索引、常规索引、全文索引。 分类含义特点关键字主键索引针对于表中主键创建的索引默认自动创建, 只能有一个PRIMARY唯一索引避免同一个表中某数据列中的值重复可以…...
【史上最硬核分享】Docker+jenkinsPipeline 运行实现 python 自动化(超详细)
一、实现思路 在 Linux 服务器安装 docker创建 jenkins 容器jenkins 中创建 pipeline 项目根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境)运行新的 python 容器,执行 jenkins 从仓库中拉下来的自动化项目执行完成之后删除容器 二、环境准备 Linu…...
leetcode 3. 无重复字符的最长子串
2023.9.15 本题我用的暴力双层for循环 unordered_set 解决的,外循环控制字符起始位置,内循环将字符放入 unordered_set,并查找有无重复的元素。 用了一个全局变量记录最长字串的长度,局部变量count记录当前层循环的最长子串长度…...
doccano 文本标注工具使用
最近在做面向大模型的文本标注工作,涉及到多人协同的问题,因此用到了doccano工具。 这个工具可以使用docker进行安装,安装之后的启动也都比较简单。 关于基础使用(例如管理员登录、新建任务、上传数据集等)ÿ…...
快速排序算法的递归和非递归
基本思路 选择一个基准值,将数组划分三个区域,小于基准值的区域位于左侧,等于基准值的区域位于中间,大于基准值的区域位于右侧。将大于和小于区域继续进行分区,周而复始,不断进行分区和交换,直…...
网站改版 信科网络/深圳网络优化seo
往期好文推荐 学习Python不需要程基础? 0基础不用怕,从0到1轻松教你入门Python python系统学习流线图,教你一步一步学会python 成为一名做大数据开发的女程序员,并不是二狗进入大学时的第一目标。 项目由来 最近在用ArcGIS结合…...
织梦网站地图在线生成/长春百度快速优化
描述 Python isalpha() 方法检测字符串是否只由字母组成。 语法 isalpha()方法语法: str.isalpha() 参数 无。返回值 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False 实例 以下实例展示了isalpha()方法的实例: #!/usr/bin/pyt…...
商城网站建设咨询/seo综合
Alerter 当系统发生故障时向管理员发送错误警报。 services.exe 不需要禁用 Application Layer Gateway Service 给与第三者网络共享/防火墙支持的服务,有些防火墙/网络共享软件需要。占用1.5M内存。 看情况,可选。 手动 Application Management 应用程序…...
服务公司logo/网站seo诊断
3.7 汇总计算 与 描述统计pandas 的 Series 和 DataFrame 自带xxx.sum()xxx.mean()xxx.max()xxx.add()等等等 方法df1DataFrame([[3,2,np.nan],[2,7,-5],[5,np.nan,np.nan],[7,6,4]])df1012032.0NaN127.0-5.025NaNNaN376.04.0df1.sum()0 17.01 15.02 -1.0dtype: float64默认参数…...
易语言做网站外挂/全自动引流推广软件
有时候需要控制下文字数,不然就会溢出,页面就会变样不美观。这时我们就可以用css控制字数,超出部分显示省略号。可以不换行,超出部分显示省略号,也可以可以换行,多行,超出部分显示省略号。1.不换…...
如何简单制作奶粉/建网站seo
题目解决代码及点评 这道题和上一道题类似,第n个累加项 n-1累加项的n倍 由于有这个规律,我们可以用一个for循环实现 但是例子代码并没有这么做,大家可以回去修改下代码,使得代码…...