网络安全 Day29-运维安全项目-iptables防火墙
iptables防火墙
- 1. 防火墙概述
- 2. 防火墙
- 2.1 防火墙种类及使用说明
- 2.2 必须熟悉的名词
- 2.3 iptables 执行过程※※※※※
- 2.4 表与链※※※※※
- 2.4.1 简介
- 2.4.2 每个表说明
- 2.4.2.1 filter表 :star::star::star::star::star:
- 2.4.2.2 nat表
- 2.5 环境准备及命令
- 2.6 案例01::star::star::star::star::star:禁止访问22端口
- 2.7 案例02: :star::star::star::star::star:屏蔽对应的ip
- 2.8 案例03::star::star::star::star::star:禁ping
- 2.9 案例04::star::star::star:禁止10.0.0.0/24内网访问22端口
- 2.10 案例05: :star: 指定多个端口屏蔽
- 2.11 案例06::star::star::star::star::star: 防火墙规则的保存生效与备份恢复
- 2.12 案例07::star::star: 收尾设置链的默认规则
1. 防火墙概述
- 目标:
- 封或开启端口
- 封或开启ip
2. 防火墙
2.1 防火墙种类及使用说明
- 硬件: 整个企业入口
- 三层路由: H3C 华为 Cisco(思科)
- 硬件防火墙: 深信服,绿盟,奇安信…
- 棱镜门 0day. 勒索病毒。 国内互联网企业去IOE运动。
Juniper
- 软件: 开源软件 网站内部 封ip 封ip
- iptables 写入到Linux内核中 以后服务docker 工作在 4层(大部分)
- firewalld C7 底层也是iptables.
- nftalbes C8
- ufw (ubuntu firewall) Ubuntu
- 云防火墙(公有云)
- 阿里云:
- 安全组 (封ip,封端口)
- NAT网关(共享上网,端口映射…)
- waf应用防火墙
- 阿里云:
- waf防火墙(应用防火墙,处理7层的攻击) SQL注入,等攻击.
- 书写规则(描述攻击过程,关键提示,关键操作.)
企业选型建议:
中小企业: 使用公有云,安全组,waf防火墙,态势感知.
访问量巨大: 使用硬件防火墙,waf防火墙,硬件服务器+云服务器
2.2 必须熟悉的名词
- 容器: 瓶子 罐子 存放东西
- 表(table): 存放==链==的容器,防火墙最大概念
- 链(chain): 存放==规则==的容器
- 规则(policy): 准许或拒绝规则 ,未来书写的防火墙条件就是各种防火墙规则
掌握表和链之间联系即可。

| Netfilter | 表(tables) | 链(chains) | 规则(Policy) |
|---|---|---|---|
| 一栋楼 | 楼里的房子 | 房子里的柜子 | 柜子里衣服,摆放规则 |
2.3 iptables 执行过程※※※※※
工作流程小结:※※※※※
- 防火墙是层层过滤的,实际是按照配置规则的顺序从上到下,从前到后进行过滤的。
- 如果**匹配成功规则,即明确表示是拒绝(DROP)还是接收(ACCEPT)**,数据包就不再向下匹配新的规则。
- 如果规则中没有明确表明是阻止还是通过的,也就是没有匹配规则,向下进行匹配,直到**匹配默认规则**得到明确的阻止还是通过。
- 防火墙的**默认规则是所有规则都匹配完才会匹配的**。
2.4 表与链※※※※※
2.4.1 简介
-
表(table)是对功能的分类,防火墙功能(filter表),共享上网,端口转发(nat表)
-
链对数据流进行处理,需要使用不同的链(数据流入(INPUT),数据流出(OUTPUT))
-
iptables 是4表5链
-
4表: filter 表 nat表 raw表 mangle表
-
伍链: INPUT OUTPUT FORWARD PREROUTING POSTROUTING
2.4.2 每个表说明
2.4.2.1 filter表 ⭐️⭐️⭐️⭐️⭐️
- 是iptables默认的表,filter表示过滤.
- 实现防火墙功能:(对数据包的filter过滤)屏蔽或准许,端口,ip.
| filter 表 | 强调:主要和主机自身相关,真正负责主机防火墙功能的(过滤流入流出主机的数据包) filter表示iptables默认使用的表,这个表定义了三个链(chains) 企业工作场景:主机防火墙 |
|---|---|
| INPUT ⭐️⭐️⭐️⭐️⭐️ | 负责过滤所有目标地址是本机地址的数据包 通俗来说:就是过滤进入主机的数据包 (能否让数据包进入服务器) |
| FORWARD | 路过: 负责转发流经主机的数据包。起转发的作用,和NAT关系很大,后面会详细介绍 LVS NAT模式,net.ipv4.ip_forward=0 |
| OUTPUT | 处理所有源地址是本机地址的数据包 通俗的讲:就是处理从主机发出去的数据包 |
2.4.2.2 nat表
- 实现nat功能
- 实现共享上网(内网服务器上外网)
- 端口映射和ip映射
| nat | 负责网络地址转换的,即来源与目的IP地址和port的转换。 应用:和主机本身无关,一般用于局域网共享上网或者特殊的端口转换服务相关。 工作场景: 1. 用于企业路由(zebra)或网关(iptables),共享上网(POSTROUTING) 2. 做内部外部IP地址一对一映射(dmz),硬件防火墙映射IP到内部服务器,ftp服务(PREROUTING) 3. WEB,单个端口的映射,直接映射80端口(PREROUTING) 这个表定义了3个链,nat功能相当于网络的acl控制。和网络交换机acl类似。 |
|---|---|
| OUTPUT | 和主机放出去的数据包有关,改变主机发出数据包的目的地址。 |
| PREROUTING | 在数据包到达防火墙时,进行路由判断之前执行的规则,作用是改变数据包的目的地址、目的端口等 就是收信时,根据规则重写收件人的地址。 例如:把公网IP:xxx.xxx.xxx.xxx映射到局域网的xx.xx.xx.xx服务器上。 如果是web服务,可以报80转换为局域网的服务器9000端口上 10.0.0.61 8080(目标端口) ----nat—à 10.0.0.7 22 |
| POSTROUTING | 在数据包离开防火墙时进行路由判断之后执行的规则,作用改变数据包的源地址,源端口等。 写好发件人的地址,要让家人回信时能够有地址可回。 例如。默认笔记本和虚拟机都是局域网地址,在出网的时候被路由器将源地址改为了公网地址。 生产应用:局域网共享上网。 |
课外了解: 官方最全超级详解传送门
2.5 环境准备及命令
iptables iptables启动或关闭的命令
oldboy-bao 10.0.0.61 172.16.1.61
-
为了使用systemctl管理安装的软件:
yum install -y iptables-services -
检查结果
[root@oldboy-bao ~] rpm -qa |grep iptables iptables-services-1.4.21-35.el7.x86_64 #我们安装的。 iptables-1.4.21-35.el7.x86_64 #系统自带 -
启动iptables 内核模块
手动加载iptables内核模块(直接复制到虚拟机上就好了)modprobe ip_tables modprobe iptable_filter modprobe iptable_nat modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_nat_ftp modprobe ipt_state -
让配置永久生效
chmod +x /etc/rc.d/rc.local cat >>/etc/rc.local<<EOF modprobe ip_tables modprobe iptable_filter modprobe iptable_nat modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_nat_ftp modprobe ipt_state EOF -
检查是否加载防火墙iptables 模块
[root@oldboy-bao ~] lsmod |egrep 'filter|nat|ipt' nf_nat_ftp 12809 0 nf_conntrack_ftp 18478 1 nf_nat_ftp iptable_nat 12875 0 nf_nat_ipv4 14115 1 iptable_nat nf_nat 26583 2 nf_nat_ftp,nf_nat_ipv4 nf_conntrack 139264 6 nf_nat_ftp,nf_nat,xt_state,nf_nat_ipv4,nf_conntrack_ftp,nf_conntrack_ipv4 iptable_filter 12810 0 ip_tables 27126 2 iptable_filter,iptable_nat libcrc32c 12644 3 xfs,nf_nat,nf_conntrack [root@oldboy-bao ~] lsmod |egrep 'filter|nat|ipt' |wc -l 9 -
关闭已有的firewalld防火墙:
systemctl stop firewalld+systemctl disable firewalld -
清空iptables自带规则
- 查看规则:
iptables -t filter -nL - 清空规则
iptables -t filter -F #flush清空规则 iptables -X #删除定义的链。 iptables -Z #清空计数器。
- 查看规则:
2.6 案例01:⭐️⭐️⭐️⭐️⭐️禁止访问22端口
-
在filter表的INPUT连上新加1条拒绝规则,拒绝所有目标端口是22的请求。
iptables -t filter -I INPUT -p tcp --dport 22 -j DROP iptables -t filter -nL --line-number #显示规则并添加序号 iptables -t filter -D INPUT 1 #删除filter表INPUT链的第1个规则
2.7 案例02: ⭐️⭐️⭐️⭐️⭐️屏蔽对应的ip
- DOS拒绝式服务攻击。特点就是某几个ip不断访问。
- 在filter表的INPUT链上添加拒绝规则,拒绝源ip是10.0.0.1的访问。
屏蔽来自于10.0.0.1的访问
iptables -I INPUT -s 10.0.0.1 -j DROP
iptables -t filter -nL --line-number #显示规则并添加序号
iptables -t filter -D INPUT 1 #删除filter表INPUT链的第1个规则
2.8 案例03:⭐️⭐️⭐️⭐️⭐️禁ping
- 我们需要禁止任何人ping ip,让用户无法ping通。
- ping背后是使用icmp协议(数据包)。
- 实现方法:
-
🅰️ ✅ 通过Iptables实现。
-
🅱️通过Linux内核参数实现。
iptables -I INPUT -p icmp -j DROP 开启另一个机器ping。
-
2.9 案例04:⭐️⭐️⭐️禁止10.0.0.0/24内网访问22端口
- 实现22端口只能通过堡垒机访问或只能通过内网访问。
- 未来可以改为只通过内网访问,准许172.16.1.0/24访问22端口。
- 翻译:添加filter表INPUT链接拒绝规则,禁止源ip是10.0.0.0/24网段访问目标端口是22,协议tcp.
- 环境准备
- 双网卡 eth0 10, eth1 172(lan区段)
| 环境准备 | 需求 | 细节 |
|---|---|---|
| oldboy-bao | 双网卡 | eth0 10(外网) eth1 172(内网) |
| oldboy-docker | 双网卡 | eth0 10(外网) eth1 172(内网) |
-
添加网卡设置lan区段:添加到和堡垒机相同的区段
-
书写网卡配置文件
oldboy-docker[root@oldboy-docker ~] cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 NAME=eth1 BOOTPROTO=none ONBOOT=yes IPADDR=172.16.1.62 PREFIX=24 [root@oldboy-docker ~] systemctl restart network -
配置规则之前测试
ssh -p22 10.0.0.61 #ctrl + d 退出 ssh -p22 172.16.1.61 都可以链接与访问。 -
进行配置
翻译:添加filter表INPUT链接拒绝规则,禁止源ip是10.0.0.0/24网段访问目标端口是22,协议tcp. iptables -I INPUT -s 10.0.0.0/24 -p tcp --dport 22 -j DROP -
配置规则之后测试
ssh -p22 10.0.0.61 访问失败 ssh -p22 172.16.1.61 访问成功 都可以链接与访问。
经过漫长等待,10网段访问失败。
2.10 案例05: ⭐️ 指定多个端口屏蔽
- 禁止80,443访问。
--dport默认只能指定1个端口或指定端口范文 通过:(冒号)实现。 iptables -I INPUT -p tcp --dport 1:1024 -j DROP使用multiport模块,就可以指定多个端口 iptables -I INPUT -p tcp -m multiport --dport 80,443 -j DROP
2.11 案例06:⭐️⭐️⭐️⭐️⭐️ 防火墙规则的保存生效与备份恢复
- 配置的防火墙规则重启Linux或iptables服务后是否仍然生效
iptables -I INPUT -s 10.0.0.1 -j ACCEPT iptables -I INPUT -p icmp -j DROP iptables -I INPUT -s 10.0.0.0/24 -p tcp --dport 22 -j ACCEPT iptables -I INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT - 通过iptables-save输出/etc/sysconfig/iptables文件
备份原有的 cp /etc/sysconfig/iptables{,.bak} iptables-save >/etc/sysconfig/iptables - 恢复默认配置: 读取/etc/sysconfig/iptables文件并加载防火墙配置
systemctl restart iptables
2.12 案例07:⭐️⭐️ 收尾设置链的默认规则
⭐️⚠️ 修改默认规则之前,要测试之前的准许的规则。
iptables -t filter -P INPUT DROP
修改之后一点点添加放行规则
iptables -I INPUT -s 10.0.0.1 -j ACCEPT
iptables -I INPUT -p icmp -j DROP
iptables -I INPUT -s 10.0.0.0/24 -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT# -i 数据进入的时候
iptables -A INPUT -i lo -j ACCEPT
# -o 数据流出的时候
iptables -A OUTPUT -o lo -j ACCEPT#匹配连接状态
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #放行tcp连接状态
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
[root@oldboy-bao ~] iptables-save
# Generated by iptables-save v1.4.21 on Thu Aug 10 12:00:05 2023
*nat
:PREROUTING ACCEPT [2:458]
:INPUT ACCEPT [2:458]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Thu Aug 10 12:00:05 2023
# Generated by iptables-save v1.4.21 on Thu Aug 10 12:00:05 2023
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 10.0.0.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p icmp -j DROP
-A INPUT -s 10.0.0.1/32 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Thu Aug 10 12:00:05 2023相关文章:
网络安全 Day29-运维安全项目-iptables防火墙
iptables防火墙 1. 防火墙概述2. 防火墙2.1 防火墙种类及使用说明2.2 必须熟悉的名词2.3 iptables 执行过程※※※※※2.4 表与链※※※※※2.4.1 简介2.4.2 每个表说明2.4.2.1 filter表 :star::star::star::star::star:2.4.2.2 nat表 2.5 环境准备及命令2.6 案例01:…...
SQL 复习 03
函数与关键字 用法说明round(x, n)四舍五入,x为浮点数,n为保留的位数ceil(x)向上取整floor(x)向下取整truncate(x, n)截断x,n为保留的位,该位之后的数值置零,位数表示示例:321.123,其中小数点前…...
出现 sudo: docker: command not found 的解决方法
目录 1. 问题所示2. 原理分析3. 解决方法3.1 未成功安装引起3.2 环境变量引起1. 问题所示 安装了docker,但是执行docker命令的时候,提示该问题: ubuntu@10-41-104-1:~$ sudo docker ps -a sudo: docker: command not foundubuntu@10-41-104-1:~$ sudo apt-get install doc…...
FastApi-1-结合sql 增/查demo
目录 FastAPI学习记录项目结构部分接口/代码展示感受全部代码 FastAPI学习记录 fastapi已经学习有一段时间,今天抽时间简单整理下。 官网介绍: FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Py…...
Spring学习笔记3
使用注解开发: Component 组件开发相当于 Value(“xxx”)可以对属性进行赋值 package pojo;import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; //等价于<bean id"user" class"po…...
springboot艰难版本升级之路!! springboot 2.3.x版本升级到2.7.x版本
文章目录 1.缘起1.1 升级到版本2.7.12启动失败,而且没有报错信息1.2 application-dev.yml 配置加载问题1.3 openfeign依赖问题汇总1.4 datasource报错1.5 MySQL驱动升级1.6 循环依赖报错1.7 跨域错误临时总结1.缘起 由于服务需要搭建链路追踪, 需要把springboot版本升级到2.7.1…...
Codeforces 1856E2 复杂度分析 + DP
题意 传送门 Codeforces 1856E2 PermuTree (hard version) 题解 可以独立考虑每一个固定的 p l c a ( u , v ) plca(u,v) plca(u,v) 对答案的贡献。可以观察到,对于 p p p 的每一棵子树,其所有节点在最优情况下仅有 a p < a v a_p < a_v ap…...
Windows - UWP - 为UWP应用创建桌面快捷方式
Windows - UWP - 为UWP应用创建桌面快捷方式 前言 这是一个较为简单的方式,不需要过多的命令行。 How 首先Win R -> shell:AppsFolder -> 回车, 这将显示电脑上的已安装应用(Win32 & UWP): 找到想要创建…...
了解Web DDoS海啸攻击的4个维度
我们都知道近年来网络攻击的数量和频率急剧上升,针对Web应用程序的DDoS海啸攻击就是其中增长非常迅速的一个种类。过去常见的HTTP/S洪水攻击正在大范围的转变为更难对付的Web DDoS海啸攻击,每个人都应该提前做好被攻击的准备并采取适当的保护措施。 哪些…...
【数学建模】逻辑回归算法(Logistic Resgression)
逻辑回归算法 简介逻辑回归与条件概率绘制sigmoid函数 简介 逻辑回归算法是一种简单但功能强大的二元线性分类算法。需要注意的是,尽管"逻辑回归"名字带有“回归”二字,但逻辑回归是一个分类算法,而不是回归算法。 我认为ÿ…...
Hadoop HA集群两个NameNode都是standby或者主NameNode是standby,从NameNode是active的情况集锦
文章目录 背景架构HDFS HA配置错误原因解决方案方案一方案二方案三(首先查看自己各参数文件是否配置出错) 后记补充failovertransitionToActive 常用端口号及配置文件常用端口号hadoop3.xhadoop2.x 常用配置文件 这里说一下配置Hadoop HA集群可能出现的两…...
[Go版]算法通关村第十一关白银——位运算的高频算法题
目录 专题1:位移的妙用题目:位1的个数(也被称为汉明重量)解法1:遍历所有位,判断每个位的数字是否是1Go代码 解法2:依次消除每个1的位 numnum&(num-1)Go代码 题目:比特位计数思路…...
Swift 基础
工程目录 请点击下面工程名称,跳转到代码的仓库页面,将工程 下载下来 Demo Code 里有详细的注释 点击下载代码:swift-01...
IDEA的常用设置,让你更快速的编程
一、前言 在使用JetBrains的IntelliJ IDEA进行软件开发时,了解和正确配置一些常用设置是非常重要的。IDEA的强大功能和定制性使得开发过程更加高效和舒适。 在本文中,我们将介绍一些常用的IDEA设置,帮助您更好地利用IDEA进行开发。这些设置包…...
docker 镜像的导出与导入 save 与 load
一、镜像导出 docker save 导出 将系统中的镜像保存为压缩包,进行文件传输。使用 docker save --help 查看命令各参数,或者去docker官网查看.以 hello-world镜像为例。 A:将镜像保存为tar包 docker save image > package.tar docker sa…...
WPF显示初始界面--SplashScreen
WPF显示初始界面–SplashScreen 前言 WPF应用程序的运行速度快,但并不能在瞬间启动。当第一次启动应用程序时,会有一些延迟,因为公共语言运行时(CLR)首先需要初始化.NET环境,然后启动应用程序。 对于WPF中…...
08- AD/DA模/数转换
AD/DA模/数转换 8、AD/DA模/数转换8.1 AD转换注意 示例8.2 DA转换DAC转换原理: 8.3 PWM的DAC 8、AD/DA模/数转换 8.1 AD转换 通道引脚对照表: ADC的引脚: 规则通道和注入通道: 各个通道可以在单次、连续、扫描或者间断模式里…...
DTC服务(0x14 0x19 0x85)
DTC相关的服务有ReadDTCInformation (19) service,ControlDTCSetting (85) service和ReadDTCInformation (19) service ReadDTCInformation (19) service 该服务允许客户端从车辆内任意一台服务器或一组服务器中读取驻留在服务器中的诊断故障代码( DTC )信息的状态…...
【国护攻防场景下的沙箱技术对比】
目录 前言 沙箱技术分析 总结 前言 真高兴呀,又是受到红队大佬青睐的一天,今天下午很荣幸的收到了来自红队大佬的恶意投喂,把我们各位在座100年工作经验的蓝队师傅们吓得赶忙拔掉自己的电脑电源,断掉自己的网线,…...
springboot综合案例第三课
SpringSecurity入门 什么是SpringSecurity Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架。 (https://projects.spring.io/spring-security/) Spring Security 为基于J2EE企业应用软件提供了全面安全服务。特别 是使…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
