内网渗透(CSMSF) 构建内网代理的全面指南:Cobalt Strike 与 Metasploit Framework 深度解析
目录
1. Cobalt Strike 在什么情况下会构建内网代理?
2. Cobalt Strike 构建内网代理的主要作用和目的是什么?
3. Cobalt Strike 如何构建内网代理?需要什么条件和参数?
条件
步骤
参数
4. Cobalt Strike 内网代理能获取什么数据?
5. CS 内网代理在内网探测中的作用(结合实战经验)
6. Cobalt Strike 内网代理与 MSF 的内网代理有什么区别?加了代理还需要穿透 EW 或 FRP 等工具吗?
区别
Cobalt Strike 和 Metasploit Framework (MSF) 的内网代理在以下方面存在差异:
是否需要穿透工具(如 EW 或 FRP)
7. 两者代理有什么具体区别?
代理类型
配置和管理
与工具的集成
适用场景
8. 什么情况下使用 CS 内网代理?什么情况下使用 MSF 内网代理?
使用 CS 内网代理
使用 MSF 内网代理
9. 结论
- 在网络安全与渗透测试领域,内网代理是实现对目标网络深入控制和数据窃取的关键技术。
- Cobalt Strike(CS) 和 Metasploit Framework(MSF) 是两款功能强大的工具,在内网代理构建中各具特色。
1. Cobalt Strike 在什么情况下会构建内网代理?
Cobalt Strike 构建内网代理通常适用于以下场景:
-
内网渗透测试 当攻击者成功入侵内网中的一台主机后,为了进一步探索和控制其他设备,会在内网中构建代理。这样,攻击者可以从外部控制台直接访问内网资源,而无需逐一攻陷每台主机。
-
绕过网络隔离 企业网络中,内网与外网之间往往存在防火墙或 NAT 等隔离机制。通过在内网主机上构建代理,攻击者可以绕过这些限制,实现外部对内网的访问。
-
隐藏攻击源 内网代理可以将攻击流量伪装成内网内部通信,隐藏真实 IP 地址,提升攻击隐蔽性,降低被安全设备追踪的风险。
- 权限提升和横向移动 在控制一台内网主机后,攻击者可能需要提升权限或横向移动到其他主机。内网代理提供了一个便捷通道,方便执行这些操作。
2. Cobalt Strike 构建内网代理的主要作用和目的是什么?
CS 内网代理的核心作用和目的包括:
-
远程访问内网资源 代理允许攻击者从外部直接访问内网中的资源,如文件共享、数据库、Web服务等,无需直接登录每台目标主机。
-
执行命令和脚本 通过代理,攻击者可以在内网主机上执行命令或运行脚本,实现对主机的远程控制,例如安装恶意软件或收集系统信息。
-
数据窃取 攻击者可以利用代理窃取内网中的敏感数据,包括用户凭证、配置文件、业务数据等。
-
网络探测 代理为攻击者提供了一个窗口,用于探测内网的拓扑结构、开放端口和安全配置,从而规划后续攻击路径。
-
持久化控制 通过代理建立的通信通道,攻击者可以实现对内网的长期控制,即使网络环境发生变化也能保持连接。
3. Cobalt Strike 如何构建内网代理?需要什么条件和参数?
Cobalt Strike 通过其核心组件 Beacon 构建内网代理。以下是具体方法、条件和参数:
条件
-
已入侵内网主机并部署 Beacon 攻击者需通过漏洞利用、钓鱼邮件等方式入侵内网主机,并在该主机上部署 Beacon。
-
Beacon 与团队服务器通信正常 Beacon 必须通过 HTTP、HTTPS 或 DNS 等协议与外部 Cobalt Strike 团队服务器建立稳定连接。
步骤
-
生成 Payload 在 Cobalt Strike 控制台中生成 Beacon Payload,可选择 EXE、DLL 或 PowerShell 等格式。
-
部署 Beacon 将 Payload 部署到目标内网主机并触发执行,使其上线并与团队服务器连接。
-
配置 SOCKS 代理 在 Beacon 命令行界面输入
socks <port>
(如socks 1080
),在目标主机上启动 SOCKS 代理,监听指定端口。 -
访问内网资源 攻击者通过 Cobalt Strike 控制台或其他支持 SOCKS 代理的工具(如 Proxifier)访问内网资源。
参数
-
socks <port>
:启动 SOCKS 代理,<port>
为监听端口,例如socks 1080
。 -
socks stop
:停止当前运行的 SOCKS 代理。
4. Cobalt Strike 内网代理能获取什么数据?
通过 CS 内网代理,攻击者可获取:
-
网络流量 捕获和分析内网中的网络流量,了解通信模式、协议和内容。
-
文件和目录 访问内网主机的文件系统,下载敏感文件或上传恶意文件。
-
用户凭证 利用代理运行工具(如 Mimikatz),窃取本地账户或域账户的哈希/明文密码。
-
系统信息 收集目标主机的详细信息,如操作系统版本、补丁状态、安装软件等。
数据库内容 若内网存在数据库服务器,可通过代理连接并窃取其中的数据,如客户信息或业务记录。
5. CS 内网代理在内网探测中的作用(结合实战经验)
CS 内网代理在内网探测中发挥以下作用:
-
快速定位高价值目标 通过代理扫描内网,攻击者能快速发现域控制器、文件服务器等高价值目标,集中资源进行攻击。
-
高效的横向移动 代理提供稳定通道,使攻击者能在不直接暴露的情况下,从一台主机移动到另一台主机。
-
隐蔽的数据传输 攻击流量伪装成内网通信,降低被入侵检测系统(IDS)或防火墙发现的风险。
-
灵活的攻击策略 代理允许攻击者根据内网情况动态调整攻击路径。
-
持久化的访问通道 Beacon 的自动重连功能确保代理通道在网络中断后恢复。
实战案例:在一次红 队行动中,攻击者通过代理扫描内网,定位未打补丁的域控制器,利用代理横向移动并提权,控制整个域。
6. Cobalt Strike 内网代理与 MSF 的内网代理有什么区别?加了代理还需要穿透 EW 或 FRP 等工具吗?
区别
方面 | COBALT STRIKE | METASPLOIT FRAMEWORK |
---|---|---|
代理类型 | SOCKS4 | SOCKS4a、SOCKS5(支持 UDP) |
配置管理 | 简单(如 socks 1080 ) | 复杂(需加载模块、设置参数) |
工具集成 | 与 Beacon 无缝衔接 | 需配合 Meterpreter 等模块 |
适用场景 | 红队行动、APT 攻击 | 渗透测试、安全研究 |
Cobalt Strike 和 Metasploit Framework (MSF) 的内网代理在以下方面存在差异:
-
功能和灵活性
-
CS:主要支持 SOCKS 代理,功能单一但稳定,适合快速部署。
-
MSF:提供 SOCKS4a 和 SOCKS5 代理模块(如 auxiliary/server/socks4a),配置选项更丰富,灵活性更高。
-
-
集成性
-
CS:代理功能与 Beacon 紧密集成,操作简单,适合无缝使用。
-
MSF:代理模块相对独立,需要手动加载和配置,复杂度较高。
-
-
性能和稳定性
-
CS:Beacon 设计轻量,代理性能优异,适合长时间运行。
-
MSF:代理模块在高负载场景下可能出现性能瓶颈,稳定性稍逊。
-
是否需要穿透工具(如 EW 或 FRP)
-
在某些网络环境中,内网主机无法直接与外部通信(例如受防火墙或 NAT 限制)。此时,仅构建代理可能不足以实现外部访问,需要结合穿透工具:
-
EW(EarthWorm):通过正向或反向隧道打通内网与外网的连接,再运行代理。
-
FRP:通过反向代理建立持久化隧道,代理流量通过该隧道传输。
-
-
使用场景:如果内网主机已有出网能力(如 Beacon 已通过 HTTPS 上线),则无需额外穿透工具;否则,需结合 EW 或 FRP。
7. 两者代理有什么具体区别?
-
代理类型
-
CS:仅支持 SOCKS 代理(通常为 SOCKS4)。
-
MSF:支持 SOCKS4a 和 SOCKS5,SOCKS5 提供更强的功能(如 UDP 支持)。
-
-
配置和管理
-
CS:通过简单命令(如 socks 1080)即可启动,管理方便。
-
MSF:需加载模块并设置参数(如监听地址、端口),配置更复杂。
-
-
与工具的集成
-
CS:与 Beacon 的文件传输、命令执行等功能无缝衔接。
-
MSF:代理模块独立,需与其他模块(如 Meterpreter)配合使用。
-
-
适用场景
-
CS:更适合专业红队行动和 APT 攻击,强调隐蔽性和稳定性。
-
MSF:更适合渗透测试和安全研究,强调灵活性和模块化。
-
8. 什么情况下使用 CS 内网代理?什么情况下使用 MSF 内网代理?
使用 CS 内网代理
-
需要快速、稳定地建立代理通道。
-
攻击者熟悉 Cobalt Strike 的操作界面和命令。
-
代理需与 Beacon 的其他功能(如持久化、权限提升)紧密集成。
-
目标为安全性较高的企业内网,需高效隐蔽操作。
使用 MSF 内网代理
-
需要更灵活的代理配置(如支持 SOCKS5)。
-
攻击者更熟悉 MSF 的模块化操作。
-
代理需与其他 MSF 模块(如漏洞利用、后渗透)配合使用。
-
目标为小型网络或个人主机,安全性要求较低。
9. 结论
Cobalt Strike 和 Metasploit Framework 在内网代理构建中各有优势:
- 选择工具时需根据目标网络环境、攻击需求及个人熟悉度决定。
- 构建代理时,应关注安全性、性能、持久化、日志清理和多层代理等问题,结合实战经验优化操作,以实现高效内网渗透。
相关文章:
内网渗透(CSMSF) 构建内网代理的全面指南:Cobalt Strike 与 Metasploit Framework 深度解析
目录 1. Cobalt Strike 在什么情况下会构建内网代理? 2. Cobalt Strike 构建内网代理的主要作用和目的是什么? 3. Cobalt Strike 如何构建内网代理?需要什么条件和参数? 条件 步骤 参数 4. Cobalt Strike 内网代理能获取什…...
【redis】哨兵:人工恢复主节点故障和哨兵自动恢复主节点故障
文章目录 基本概念人工恢复主节点故障操作流程 哨兵自动恢复主节点故障哨兵集 Redis 的主从复制模式下,⼀旦主节点由于故障不能提供服务,需要⼈⼯进⾏主从切换,同时⼤量的客⼾端需要被通知切换到新的主节点上,对于上了⼀定规模的应…...
【Go 】异常处理
1. Go 语言错误处理基础 Go 语言尽量避免使用异常,推荐使用 返回错误 让调用者处理。Go 语言标准库提供 error 接口:type error interface {Error() string }errors.New("错误信息") 创建错误对象。 package mainimport ("errors"…...
微软纳德拉最新一期访谈
萨提亚纳德拉: 微软的AGI计划与量子突破| 2025.2.20 【文章核心预览:】 1、纳德拉回应AI价格战:效率提升将重塑需求,但关键是能否带动GDP增长至10% 2、微软AI收入130亿美元,4年后目标1300亿,但提醒"…...
WebSocket接入SSL证书
目录 碎碎念解决方法创建 HTTPS WebSocket 服务器创建系统服务启动服务 碎碎念 在访问网站时,使用 HTTPS 非常重要。HTTPS 协议不仅可以确保数据传输的安全性,还可以防止中间人攻击和数据篡改等安全问题。任何没有 SSL 证书的内容都可能会被拒绝访问。因…...
蓝桥杯——嵌入式学习日记
因为lED和LCD共用PC8~PC15引脚,要通过锁存(LE)和(GPIOC->ODR)来避免LED和LCD引脚冲突 修改点: main.c中,GPIO初始化引脚后,LE(PD2引脚低电平锁存,退出透明模式&…...
第七课:Python基础排序算法与比较排序原理深度解析
比较排序算法是算法领域中的经典内容,其核心思想通过元素间的比较操作确定相对顺序。本文将深入探讨冒泡排序的优化策略、选择排序的变种实现、插入排序的典型应用场景,并通过统计比较次数直观展示算法效率差异。 一、冒泡排序的优化策略 传统冒泡排序存…...
项目流程中关键节点的测试类型
一、全流程测试框架图 #mermaid-svg-LmUdhLObstSpThwP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-LmUdhLObstSpThwP .error-icon{fill:#552222;}#mermaid-svg-LmUdhLObstSpThwP .error-text{fill:#552222;strok…...
EasyRTC嵌入式音视频通信SDK:WebRTC技术下的硬件与软件协同演进,开启通信新时代
在当今数字化时代,智能设备的普及和人们对实时通信需求的不断增长,推动了嵌入式音视频通信技术的快速发。EasyRTC嵌入式音视频通信SDK凭借其独特的技术特点和应用优势,在嵌入式设备和多平台实时通信领域脱颖而出。 1、轻量级设计与高性能 Ea…...
机器视觉工程师如何看机器视觉展会,有些机器视觉兄弟参加机器视觉展会,真的是参加了?重在参与?
作为机器视觉工程师,参加机器视觉展会不仅是了解行业前沿技术的窗口,也是拓展专业网络、寻找解决方案的重要机会。以下是结合展会信息和工程师视角的综合建议: 一、聚焦技术趋势与创新应用 参与技术论坛与研讨会 展会同期的技术论坛是获取行业洞见的核心渠道。例如: 上海展…...
重温Ubuntu 24.04 LTS
用户调整 # 创建新用户 sudo adduser newusername # 设置新用户的密码 sudo passwd newusername # 将新用户添加到 sudo 组 sudo usermod -aG sudo newusername # 修改ssh访问权限 sudo nano /etc/ssh/sshd_config # 将新用户加入,此时root将无法访问 AllowUsers n…...
新版 eslintrc 文件弃用 .eslintignore已弃用 替代方案
1.进入eslint.config.mjs文件 2.import { defineConfig, globalIgnores } from "eslint/config"; 引入globalIgnores 3.配置 defineConfig([ ... globalIgnores([ "config/*", ".husky", ".local", "public/*", ".…...
优化 SQL 语句方向和提升性能技巧
优化 SQL 语句是提升 MySQL 性能的关键步骤之一。通过优化 SQL 语句,可以减少查询时间、降低服务器负载、提高系统吞吐量。以下是优化 SQL 语句的方法、策略和技巧: 一、优化 SQL 语句的方法 1. 使用 EXPLAIN 分析查询 作用:查看 SQL 语句的执行计划,了解查询是如何执行的…...
数据可视化革命!「图表狐」五大行业新范式:从科研论文到商业决策的AI进化论
图表狐 - AI图表生成工具,在线数据可视化 一、学术研究:突破传统制图范式 案例1 基因测序热图 用户输入: "绘制差异表达基因热图,行标签为GeneA/B/C,列包含正常组5例、癌症组7例,红色标记上调基因(f…...
Jenkins集成Trivy安全漏洞检查指南
要将Jenkins与Trivy集成以实现制品的安全漏洞检查,可以按照以下步骤操作: 安装Trivy 在Jenkins服务器或构建节点上安装Trivy # 使用包管理器(如Debian/Ubuntu) sudo apt-get install -y wget apt-transport-https gnupg lsb-rel…...
git使用钩子文件出现错误
git的钩子文件出现错误 问题打印:解决办法1.删除本地钩子文件2. 恢复commit-msg钩子3.重新提交工程 问题打印: 无法commit 1 个文件: .git/hooks/commit-msg: 行 1: 未预期的符号 < 附近有语法错误 .git/hooks/commit-msg: 行 1: Your browse does …...
SpringBoot 第二课(Ⅱ)配置嵌入式服务器
目录 一、封装类解读 二、注册Servlet三大组件(Servlet、Filter、Listener) 自定义这三个组件 WebConfig MyFilter MyListener HelloController hello1.html hello2.html 三、使用外置的Servlet容器 1.一定要确保打包方式是war包 2.将…...
Python学习笔记(6)
Python学习笔记(6) 第13节课 函数基础1.函数定义与调用2.函数的返回值3.局部变量与全局变量 第13节课 函数基础 对于任何一个知识点,必须讨论的三个问题: (1)它是啥 (2)为啥有它 …...
HarmonyOS Next应用架构设计与模块化开发详解
引言 在HarmonyOS Next开发中,合理的应用架构设计和模块化开发是构建高效、可维护应用的关键。本文将深入探讨HarmonyOS Next应用的架构设计思路,并通过实际代码示例展示如何实现模块化开发。 应用架构设计 HarmonyOS Next应用通常采用分层架构设计&…...
batman-adv 优化:基于信号强度(RSSI)选择链路
batman-adv 优化:基于信号强度(RSSI)选择链路 1. 背景介绍 batman-adv(Better Approach To Mobile Ad-hoc Networking Advanced) 是一种用于无线 Mesh 网络的路由协议。它主要基于 ETX(Expected Transmis…...
计算机二级:函数基础题
函数基础题 第一题 rinput("请输入半径:") c3.1415926*r*2 print("{:.0f}".format(c))输出: Type Error第二题 a7 b2 print(a%2)输出 1第三题 ab4 def my_ab(ab,xy):abpow(ab,xy)print(ab,end"\n") my_ab(ab,2)prin…...
系统思考与心智模式
“问题不是出在我们做了多少,而是出在我们做了什么。” — 赫尔曼凯恩 “一分耕耘一分收获”,这似乎是我们脑海中根深蒂固的心智模式。今天,我在一家餐厅用餐,店员告诉我,打卡收藏可以获得一份小食。没过多久…...
高考志愿填报管理系统基于Spring Boot SSM
目录 摘要 一、系统需求分析: 1.1用户主体分析 1.2 功能需求分析 1.3、非功能需求分析 二、技术实现: 三、结论: 摘要 该系统主要实现了:学生信息管理、院校信息查询、专业信息展示、志愿填报模拟、智能推荐管…...
[深度学习]图像分类项目-食物分类
图像分类项目-食物分类(监督学习和半监督学习) 文章目录 图像分类项目-食物分类(监督学习和半监督学习)项目介绍数据处理设定随机种子读取文件内容图像增广定义Dataset类 模型定义迁移学习 定义超参Adam和AdamW 训练过程半监督学习定义Dataset类模型定义定义超参训练过程 项目介…...
Qt在ARM中,如何使用drmModeObjectSetProperty 设置 Plane 的 zpos 值
在 Qt 中直接使用 drmModeObjectSetProperty 设置 Plane 的 zpos 值需要结合 Linux DRM/KMS API 和 Qt 的底层窗口系统(如 eglfs 平台插件)。以下是详细步骤和代码示例: 1. 原理说明 DRM/KMS 基础: Plane:负责图层合成…...
springboot milvus search向量相似度查询 踩坑使用经验
1.前提提要:java的pom 版本为:2.4.9 milvus 版本是:2.4.13-hotfix 2.先来工具类方法 /*** 向量搜索* param client* param query* return*/public SearchResp search(NonNull MilvusClientV2 client, NonNull VectorCondition query) {final …...
BFS解决FloodFill算法
1.图像渲染 733. 图像渲染 - 力扣(LeetCode) 1.题目解析 有一幅以 m x n 的二维整数数组表示的图画 image ,其中 image[i][j] 表示该图画的像素值大小。你也被给予三个整数 sr , sc 和 color 。你应该从像素 image[sr][sc] 开始对图像进行…...
计算机组成原理
计算机组成原理是计算机科学与技术领域的一门基础课程,它主要研究计算机硬件系统的结构、设计和工作原理。通过学习计算机组成原理,可以深入理解计算机是如何执行程序的,从最底层的角度了解计算机的工作机制。以下是计算机组成原理的一些核心…...
Spring Boot整合SSE实现消息推送:跨域问题解决与前后端联调实战
摘要 本文记录了一次完整的Spring Boot整合Server-Sent Events(SSE)实现实时消息推送的开发过程,重点分析前后端联调时遇到的跨域问题及解决方案。通过CrossOrigin注解的实际应用案例,帮助开发者快速定位和解决类似问题。 一、项…...
硅基流动:推理加速,告别“服务器繁忙,请稍后再试”
DeepSeek虽然一直热度高涨,但存在一个很直接的问题——“服务器繁忙,请稍后再试”。 一、介绍概况 硅基流动(SiliconFlow)是北京硅基流动科技有限公司推出的AI基础设施(AI Infra)平台,成立于202…...
腾讯云DNS和Lego工具结合使用,可以方便地为你的域名自动申请和续期SSL证书。
腾讯云DNS和Lego工具结合使用,可以方便地为你的域名自动申请和续期SSL证书。以下是具体步骤: 1. 准备工作 腾讯云账号:确保你有一个腾讯云账号,并且已经开通了DNS服务。域名:确保你拥有一个域名,并且已经…...
微服务 - 高级篇
微服务 - 高级篇 一、服务治理(一)服务注册与发现(二)负载均衡(三)服务熔断与降级 二、分布式事务(一)解决方案(二)最终一致性 三、性能优化(一&a…...
【Linux】线程基础
🔥个人主页:Quitecoder 🔥专栏:linux笔记仓 目录 01.背景知识02.线程概念简单使用线程线程调度成本更低 01.背景知识 OS进行内存管理,不是以字节为单位的,而是以内存块为单位的,默认大小为4kb&…...
WHAM 人体3d重建部署笔记 vitpose
目录 视频结果: docker安装说明: conda环境安装说明: 依赖项: 依赖库: 安装 mmpose,mmcv 下载模型权重: 算法原理, demo脚本 报错inference_top_down_pose_model: 测试命令: 视频结果: wham_smpl预测结果 git地址: GitHub - yohanshin/WHAM WHAM: Recons…...
netplan是如何操控systemd-networkd的? 笔记250324
netplan是如何操控systemd-networkd的? netplan通过以下方式操控systemd-networkd: 工作原理:netplan读取位于/etc/netplan/目录下的YAML格式的配置文件,这些配置文件描述了网络接口的配置。netplan会将这些配置文件解析并转换为systemd-ne…...
[学成在线]06-视频分片上传
上传视频 需求分析 教学机构人员进入媒资管理列表查询自己上传的媒资文件。 点击“媒资管理” 进入媒资管理列表页面查询本机构上传的媒资文件。 教育机构用户在"媒资管理"页面中点击 "上传视频" 按钮。 点击“上传视频”打开上传页面 选择要上传的文件…...
机器视觉场景应用中,有没有超景深的工业镜头
在机器视觉领域,确实存在具有超景深特性的工业镜头,这类镜头通过特殊的光学设计或技术手段,能够显著扩大清晰成像的纵向范围,从而满足复杂检测场景中对多平面物体清晰成像的需求。以下是相关技术要点及典型镜头类型: 1. 远心镜头 远心镜头是超景深镜头的典型代表,其特点包…...
初探 Dubbo Rust SDK打造现代微服务的新可能
一、背景故事:为什么要在微服务中用 Rust? 微服务世界曾是 Java 的天下,后来 Go 异军突起,如今,Rust 凭借其“高性能 安全 零成本抽象”的特性,正在逐步走入服务端核心舞台。 问题随之而来:…...
如何理解响应式编程
思考: 分析Netty与Reactor背压协调策略 用户的问题是关于如何在 Netty 和 Project Reactor 联合使用时处理背压问题,特别是当 Reactor 的处理速度跟不上 Netty 的事件产生速度时该怎么办。这是一个技术性很强的问题,涉及到 Netty 的非阻塞特…...
Python网络编程入门
一.Socket 简称套接字,是进程之间通信的一个工具,好比现实生活中的插座,所有的家用电器要想工作都是基于插座进行,进程之间要想进行网络通信需要Socket,Socket好比数据的搬运工~ 2个进程之间通过Socket进行相互通讯&a…...
DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加导出数据功能示例14,TableView15_14多功能组合的导出表格示例
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加导出数据功能示例14,TableView15_14多功…...
鸿蒙特效教程10-卡片展开/收起效果
鸿蒙特效教程10-卡片展开/收起效果 在移动应用开发中,卡片是一种常见且实用的UI元素,能够将信息以紧凑且易于理解的方式呈现给用户。 本教程将详细讲解如何在HarmonyOS中实现卡片的展开/收起效果,通过这个实例,你将掌握ArkUI中状…...
如何创建一个socket服务器?
1. 导入必要的库 首先,需要导入Python的socket库,它提供了创建和管理socket连接的功能。 python import socket 2. 创建服务器端socket 使用socket.socket()函数创建一个服务器端的socket对象,指定协议族(如socket.AF_INET表示…...
react自定义hook
自定义hook: 用来封装复用的逻辑,,自定义hook是以use开头的普通函数,,将组件中可复用的状态逻辑抽取到自定义的hook中,简化组件代码 常见自定义hook例子: 封装一个简单的计数器 import {useS…...
Android Compose 框架的状态与 ViewModel 的协同(collectAsState)深入剖析(二十一)
Android Compose 框架的状态与 ViewModel 的协同(collectAsState)深入剖析 一、引言 在现代 Android 应用开发中,构建响应式和动态的用户界面是至关重要的。Android Compose 作为新一代的声明式 UI 工具包,为开发者提供了一种简…...
系统与网络安全------网络应用基础(1)
资料整理于网络资料、书本资料、AI,仅供个人学习参考。 TCP/IP协议及配置 概述 TCP/IP协议族 计算机之间进行通信时必须共同遵循的一种通信规定 最广泛使用的通信协议的集合 包括大量Internet应用中的标准协议 支持跨网络架构、跨操作系统平台的数据通信 主机…...
linux常用指令(6)
今天我们继续学习一些linux常用指令,丰富我们linux基础知识,那么话不多说,来看. 1.cp指令 功能描述:拷贝文件到指定目录 基本语法:cp [选项] source dest 常用选项:-r:递归复制整个文件夹 拷贝文件: 拷贝文件夹&am…...
EasyUI数据表格中嵌入下拉框
效果 代码 $(function () {// 标记当前正在编辑的行var editorIndex -1;var data [{code: 1,name: 1,price: 1,status: 0},{code: 2,name: 2,price: 2,status: 1}]$(#dg).datagrid({data: data,onDblClickCell:function (index, field, value) {var dg $(this);if(field ! …...
【设计模式】单件模式
七、单件模式 单件(Singleton) 模式也称单例模式/单态模式,是一种创建型模式,用于创建只能产生 一个对象实例 的类。该模式比较特殊,其实现代码中没有用到设计模式中经常提起的抽象概念,而是使用了一种比较特殊的语法结构&#x…...
C++类与对象的第二个简单的实战练习-3.24笔记
哔哩哔哩C面向对象高级语言程序设计教程(118集全) 实战二 Cube.h #pragma once class Cube { private:double length;double width;double height; public:double area(void);double Volume(void);//bool judgement(double L1, double W1, double H1);…...