news 2026/6/22 23:57:21

Burp Suite从零到一:安装配置、核心模块与自动扫描实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Burp Suite从零到一:安装配置、核心模块与自动扫描实战指南

1. 项目概述与核心价值

如果你刚接触Web安全测试,或者想从简单的脚本小子进阶到理解工具背后的原理,那么Burp Suite绝对是你绕不开的“瑞士军刀”。它不仅仅是一个抓包工具,更是一个集成了代理、扫描器、爬虫、中继器、编码器等多种功能的集成化测试平台。很多新手卡在第一步——安装和基础配置上,网上教程要么太老,要么语焉不详,导致环境都搭不起来,更别提发挥它的威力了。这篇内容,我会从一个老测试的角度,带你从零开始,搞定Burp Suite的安装、基础代理配置,并深入讲解如何利用它的“自动扫描”功能,让你从“手动点点点”进化到“自动化发现”,真正提升测试效率。无论你是安全爱好者、渗透测试初学者,还是开发人员想自查应用漏洞,这篇手把手的指南都能让你少走弯路,快速上手。

2. Burp Suite的安装与环境准备

2.1 版本选择与下载

Burp Suite主要分为三个版本:社区版(Community)、专业版(Professional)和企业版(Enterprise)。对于绝大多数个人学习者和初级从业者,社区版是完全免费的,功能也足够强大,包含了核心的代理、中继器、编码解码器、爬虫和基础的主动/被动扫描器。专业版则需要付费授权,解锁了更高级的主动扫描引擎、任务自动化(Burp Intruder的集群攻击)等。我们这里以社区版的安装和配置为主,因为它是所有人的起点。

注意:请务必从PortSwigger官网下载Burp Suite。网络上流传的所谓“破解版”、“汉化版”捆绑了恶意软件或后门的风险极高,可能窃取你的测试数据甚至控制你的机器。安全工具本身不安全,是最大的讽刺。

下载过程很简单:访问PortSwigger官网,找到“Burp Suite Community Edition”的下载链接。它会提供一个JAR文件(如burpsuite_community_v2024.x.x.jar)和一个版本号对应的启动批处理脚本。Burp Suite是基于Java开发的,所以确保你的系统已经安装了合适版本的Java运行环境(JRE)是第一步。

2.2 Java环境配置详解

这是第一个常见的坑。很多人下载了Burp的JAR包,双击却毫无反应,或者闪退。根本原因就是Java环境没配好。

  1. 检查现有Java版本:打开命令行(Windows的CMD或PowerShell,macOS/Linux的Terminal),输入java -version。如果显示版本号(如openjdk version "17.0.10"),说明已安装。Burp Suite通常需要Java 11或更高版本。如果提示“不是内部或外部命令”,则需要安装。

  2. 安装Java:建议直接安装OpenJDK,这是开源免费的。可以去Adoptium或Oracle官网下载。对于Windows用户,下载安装程序(.msi)一路下一步即可。对于macOS用户,使用Homebrew (brew install openjdk@17) 或直接下载pkg安装包都很方便。Linux用户可以通过包管理器安装,例如Ubuntu/Debian系用sudo apt install openjdk-17-jre

  3. 关键步骤:配置环境变量(Windows用户尤其注意):

    • 安装完成后,需要将Java的bin目录路径添加到系统的PATH环境变量中。例如,你的Java安装路径是C:\Program Files\Java\jdk-17\bin
    • 右键“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”
    • 在“系统变量”部分,找到并选中Path变量,点击“编辑”。
    • 点击“新建”,将上述bin目录的完整路径粘贴进去。
    • 确定所有对话框后,重新打开一个命令行窗口,再次输入java -version验证。这一步是很多教程忽略但导致失败的关键。

2.3 启动与初始配置

环境搞定后,启动就简单了。最简单的方式是直接双击下载的JAR文件。如果不行,可以通过命令行启动:打开终端,切换到JAR文件所在目录,执行java -jar burpsuite_community_v2024.x.x.jar

首次启动,Burp会让你选择临时项目还是保存项目。对于新手,选择“Temporary project”即可,每次关闭会提示是否保存。之后会进入主界面。社区版每次启动会有一个短暂的延迟,这是正常的。

接下来是必须做的代理配置,否则Burp无法拦截流量。

  1. 配置浏览器代理:Burp默认监听本地的8080端口。你需要让浏览器流量经过它。以Chrome为例(Firefox配置类似):

    • 安装浏览器插件如SwitchyOmegaFoxyProxy。这里以SwitchyOmega为例,因为它规则管理更灵活。
    • 新建一个情景模式,比如命名为“Burp”。
    • 代理协议选择HTTP,代理服务器填127.0.0.1,端口填8080
    • 保存后,在插件图标处切换到“Burp”模式。
  2. 安装Burp的CA证书:这是实现HTTPS抓包(解密)的关键。不安装证书,你只能看到一堆加密的乱码。

    • 确保浏览器代理已指向Burp(127.0.0.1:8080)。
    • 在浏览器中访问http://burpsuitehttp://127.0.0.1:8080
    • 点击页面上的“CA Certificate”按钮,下载证书文件(cacert.der)。
    • 证书安装(以Chrome为例):
      • 打开Chrome设置 -> 隐私和安全 -> 安全 -> 管理设备证书。
      • 在“受信任的根证书颁发机构”选项卡中,点击“导入”,选择刚才下载的.der文件。
      • 在导入过程中,选择“将所有的证书都放入下列存储”,并确保证书存储是“受信任的根证书颁发机构”。
    • 重要提示:不同操作系统和浏览器的证书安装方式略有差异。macOS需要在“钥匙串访问”中导入并设置为“始终信任”。Firefox有自己独立的证书存储,需要在它的设置中导入。

完成以上步骤后,打开Burp的“Proxy” -> “Intercept”标签,确保“Intercept is on”按钮是按下状态。然后在浏览器中访问一个HTTP网站(如http://testphp.vulnweb.com),你应该能在Burp的拦截界面看到请求了。恭喜,你的Burp Suite基础工作环境已经搭建成功。

3. 核心模块解析与手动测试基础

在深入自动扫描前,必须理解Burp的几个核心手动测试模块。自动扫描不是银弹,它建立在你对HTTP协议和常见漏洞有基本理解的基础上。

3.1 Proxy(代理)—— 流量枢纽

Proxy是Burp的心脏。所有经过代理的流量都在这里被拦截、查看和修改。

  • Intercept(拦截):最常用的功能。可以暂停HTTP/S请求和响应,让你在数据发往服务器或返回浏览器前任意修改。比如修改Cookie、参数、请求方法等。这是手动测试漏洞(如越权、SQL注入、XSS)的核心操作区。
  • HTTP history(历史记录):记录所有经过代理的请求和响应。即使没有开启拦截,这里也有完整的日志。你可以在这里右键发送请求到其他模块(如Repeater, Scanner, Intruder)。
  • WebSockets history:记录WebSocket通信,用于测试实时应用。
  • Options(选项):这里配置监听地址、端口、SSL证书处理、请求/响应修改规则等。一个实用的技巧是在“Match and Replace”里添加规则,自动修改请求头(如User-Agent)或隐藏敏感信息。

3.2 Repeater(中继器)—— 精准打击

Repeater允许你手动重新发送单个HTTP请求,并可以随意修改它,观察服务器的响应变化。这是测试漏洞是否存在的“实验室”。

  • 使用场景:当你从Proxy history或Target scope中发现一个可疑请求(例如一个包含id参数的GET请求),右键“Send to Repeater”。
  • 操作流程:在Repeater标签页,你可以修改任何部分(URL、参数、头部、Body),然后点击“Send”。右侧会显示服务器的响应。通过反复修改和发送,你可以验证是否存在SQL注入(通过添加'sleep()命令)、XSS(插入<script>alert(1)</script>)、逻辑漏洞(修改用户ID)等。
  • 心得:结合“Comparer”工具(在右键菜单里)可以高亮显示两次响应之间的差异,这对于盲注或者细微的逻辑判断非常有用。

3.3 Intruder(入侵者)—— 自动化爆破

Intruder用于自动化地对一个请求进行大量、并行的定制化修改和重放。常用于暴力破解、模糊测试、参数枚举。

  • 攻击类型:主要有四种。Sniper(狙击手):对一组位置依次使用一个载荷列表;Battering ram(攻城锤):对所有位置同时使用相同的载荷;Pitchfork(草叉):对多组位置使用多个载荷列表,并行遍历;Cluster bomb(集束炸弹):对多组位置使用多个载荷列表,进行笛卡尔积式的全面攻击。
  • 配置步骤
    1. 从历史记录中发送目标请求到Intruder。
    2. 在“Positions”标签,清除默认的标记,然后手动选择你想攻击的位置(如密码参数的值),点击“Add §”。
    3. 切换到“Payloads”标签,选择载荷类型(如简单列表、数字、用户名生成器等),并设置或加载你的载荷集合(比如一个常用的弱口令字典)。
    4. 在“Options”标签可以设置线程数、请求间隔(避免触发WAF)、结果匹配规则(如通过响应长度或关键词识别成功请求)。
    5. 点击右上角“Start attack”开始攻击。
  • 注意事项:使用Intruder进行暴力破解必须获得授权!未经授权的攻击是违法的。在测试自己应用时,也要注意不要对生产环境造成压力。

3.4 Target(目标)—— 站点地图与范围控制

Target模块定义了你测试的边界,非常重要。

  • Site map(站点地图):随着你浏览,Burp会自动将发现的主机、URL、目录、文件、参数等构建成一个树形站点地图。这里是你整个测试目标的全局视图。
  • Scope(范围):你需要在这里定义“目标范围”。只有范围内的流量才会被Burp深度处理(如记录到历史、被动扫描)。你可以通过“Add from site map”快速添加,或者手动输入URL通配符(如*\.target\.com)。设置好Scope能有效过滤无关流量,让工具更聚焦,提升效率。

理解并熟练运用以上手动测试模块,是有效使用自动扫描的前提。自动扫描器本质上是在模拟一个经验丰富的测试人员,按照预设的规则和模式,调用类似Repeater和Intruder的功能进行测试。如果你自己都不知道怎么手动验证一个SQL注入,那么当扫描器报出一个“可能的SQL注入”时,你也会无从判断其真伪。

4. 自动扫描功能深度解析与实战

Burp Suite的自动扫描分为“被动扫描”和“主动扫描”。社区版和专业版在扫描能力上有显著差异,了解这些差异能帮你设定合理的期望。

4.1 被动扫描 vs. 主动扫描

  • 被动扫描(Passive Scan)

    • 原理:分析所有经过Proxy的请求和响应,但不主动发送任何新的请求。它检查的是已经存在的流量内容。
    • 检测内容:主要发现信息泄露(如注释中的敏感信息、错误的HTTP头)、客户端漏洞(如不安全的Cookie属性、CORS配置错误、脆弱的JS库)、一些明显的反射型XSS迹象等。
    • 特点:安全、无干扰、默认开启。它不会对目标应用产生额外负载,也不会触发业务逻辑。
    • 社区版支持完全支持。被动扫描是社区版扫描能力的主要组成部分。
  • 主动扫描(Active Scan)

    • 原理:主动向目标应用发送大量精心构造的、可能触发漏洞的测试载荷(Payload)。它会尝试SQL注入、命令注入、文件包含、SSRF、盲注XSS等需要服务器交互才能确认的漏洞。
    • 检测内容:覆盖OWASP Top 10中的大部分服务端漏洞,如注入类、文件上传、不安全反序列化、服务器端请求伪造等。
    • 特点:强大但具有侵入性。会产生大量测试流量,可能对服务器造成压力,甚至可能破坏数据(例如测试SQL注入时执行了DROP TABLE语句)。必须在授权和测试环境进行!
    • 社区版限制:Burp Suite社区版的主动扫描功能是受限的。它的扫描速度较慢,且扫描引擎不是最新的。专业版则拥有更快、更智能的“Crawler”和“Scanner”引擎。

4.2 配置与启动自动扫描

即使使用社区版,合理配置也能让扫描发挥最大效用。

  1. 定义扫描范围(Target Scope):这是最关键的一步。在“Target” -> “Scope”中,精确添加你要测试的域名和URL路径。例如:https://testapp.internal:8080/*。避免将互联网上无关的站点纳入范围,否则扫描会又慢又乱。

  2. 配置扫描选项(Scan Options)

    • 在“Dashboard”或“Scanner”标签页,可以配置扫描任务。
    • Crawl(爬取):设置爬虫的深度、广度,是否处理robots.txt,是否登录等。对于需要认证的应用,你需要先手动登录,然后Burp会使用你的会话Cookie进行爬取。
    • Audit(审计/主动扫描):这里可以精细控制要检测的漏洞类型、插入点的位置(URL参数、Body、Cookie、Headers等)、扫描优化(如避免重复测试)以及资源限制(最大请求数、时间)。
    • Application Login(应用登录):如果应用有登录流程,可以在这里配置一个宏(Macro)来自动化处理登录,让爬虫和扫描器能访问认证后的区域。
  3. 启动扫描

    • 从站点地图启动:在“Target” -> “Site map”中,右键选中你的目标主机或分支,选择“Actively scan this branch”。这是最常用的方式。
    • 从Dashboard启动:在Dashboard点击“New scan”,输入目标URL,选择扫描类型(仅爬取、仅主动扫描、两者都做)。
    • 从Proxy历史记录启动:右键某个请求,选择“Do an active scan”。

4.3 扫描结果分析与漏洞验证

扫描开始后,你可以在“Dashboard”或“Scanner” -> “Scan queue”查看进度。扫描完成后,所有发现的问题会汇总在“Dashboard”的“Issue activity”面板,或者“Target” -> “Site map”中对应URL的“Issues”标签下。

Burp会对每个发现的漏洞给出严重等级(High, Medium, Low, Informational)、置信度(Certain, Firm, Tentative)和详细的请求/响应信息。

这里是最体现测试人员功力的地方:扫描报告不是最终结论,而是线索。

  1. 审阅与筛选:不要盲目相信扫描器的评级。一个“High”级别的漏洞可能是误报,一个“Informational”的提示也可能背后隐藏着严重问题。你需要逐一审阅。
  2. 手动验证
    • 查看请求与响应:点击任意一个漏洞,Burp会展示触发该漏洞的原始请求和服务器响应。仔细阅读响应内容,看是否真的包含了漏洞存在的证据(如数据库错误信息、执行的命令回显等)。
    • 发送到Repeater:将漏洞对应的请求直接发送到Repeater。在Repeater中,你可以微调Payload,重新发送,观察响应变化,确认漏洞是否稳定复现。
    • 理解漏洞原理:结合漏洞描述,思考其背后的原理。例如,一个SQL注入报告,看看Payload是什么,响应里是否有SQL语法错误。一个XSS报告,看看Payload是否被原样反射到了HTML中。
  3. 排除误报:对于确认为误报的条目,可以右键选择“False positive”或“Delete”,并添加注释说明原因,保持报告整洁。
  4. 生成报告:Burp支持生成格式良好的HTML或XML报告。在“Dashboard”的“Issue activity”面板,选择“Report issues”,可以按严重性筛选,然后生成报告供存档或提交。

实操心得:自动扫描的最佳实践是“人机结合”。先用爬虫和被动扫描快速收集目标信息并发现低悬果实。然后针对关键功能点(登录、支付、用户资料修改)和参数(ID、搜索框),结合手动测试(Repeater, Intruder)进行深度验证。最后,再针对整个站点或关键模块运行主动扫描,作为补充和查漏。永远记住,工具是辅助,人的思维和逻辑分析才是核心。

5. 高级技巧与性能优化

当你熟悉了基础操作后,下面这些技巧能极大提升你的测试效率和深度。

5.1 利用扩展(BApps)增强能力

Burp拥有一个强大的扩展商店(BApp Store),社区开发了许多免费插件。

  • Autorize:自动化测试越权访问漏洞的神器。配置一个高权限用户(如Admin)的会话,插件会用低权限用户的身份去重放所有请求,自动检测是否存在水平或垂直越权。
  • Turbo Intruder:由PortSwigger官方开发,用于发起高速、复杂的攻击。当需要发送海量Payload(如撞库、模糊测试API端点)而Intruder速度不够时,它是绝佳选择。
  • Logger++:增强的日志记录器,可以记录所有请求/响应的细节,并提供强大的搜索和过滤功能,便于事后分析。
  • Software Vulnerability Scanner:补充Burp自身的扫描规则,检测特定框架或组件的已知漏洞。 安装BApps非常简单,在“Extender” -> “BApp Store”中,找到需要的插件点击“Install”即可。

5.2 项目配置与协作

对于大型或长期项目,良好的配置管理很重要。

  • 项目文件:使用“Project file”而非临时项目。它可以保存你的所有设置、站点地图、扫描结果、注释。使用“Save”和“Save as”功能。
  • 配置库(Configuration Library):你可以将一套成熟的设置(如Scope、扫描选项、Session处理规则、Match/Replace规则)导出为JSON文件。在新项目开始时直接导入,能保证测试标准的一致性。
  • Collaborator(协作器):这是专业版功能,用于检测盲注、SSRF、XXE等“带外”漏洞。它提供一个临时的、Burp控制的域名或DNS服务器。当你插入一个类似burpcollaborator.net的Payload后,如果目标服务器向外发起请求(如DNS解析、HTTP请求)到这个地址,Burp就能收到通知,从而证实漏洞存在。社区版用户可以使用interact.shdnslog.cn等公开服务作为替代。

5.3 性能调优与避免封禁

主动扫描和Intruder攻击会产生大量请求,容易触发目标的WAF(Web应用防火墙)或速率限制,导致IP被封。

  • 设置请求间隔(Throttle):在Intruder的“Options”标签或Scanner的“Audit”选项里,可以设置每个请求之间的延迟(如100-500毫秒),模拟真人操作速度。
  • 使用随机化(Randomize):在Intruder的“Payloads” -> “Payload Processing”中,可以添加规则来随机化Payload的格式(如大小写转换、添加随机注释),绕过简单的模式匹配。
  • 控制并发线程:降低扫描或攻击的线程数(如从10降到3)。
  • 利用Session Handling(会话处理):对于需要复杂会话状态的应用,配置Session Handling Rules,让Burp能自动处理登录令牌刷新、CSRF令牌同步等问题,保证扫描的连续性。

6. 常见问题排查与避坑指南

在实际操作中,你肯定会遇到各种问题。这里汇总了一些典型场景和解决方案。

问题现象可能原因排查与解决步骤
无法启动Burp,双击JAR无反应或闪退1. Java环境未安装或版本过低。
2. 环境变量PATH未正确配置。
3. 系统存在多个Java版本冲突。
1. 命令行执行java -version确认版本(需>=11)。
2. 检查PATH变量是否包含Java的bin目录。
3. 使用绝对路径启动:"C:\path\to\your\java.exe" -jar burpsuite.jar
浏览器代理已设置,但Burp抓不到包1. Burp代理未运行或端口被占用。
2. 浏览器插件规则配置错误。
3. 系统或杀软有全局代理/防火墙拦截。
1. 检查Burp “Proxy” -> “Options”中“Proxy Listeners”是否启用(127.0.0.1:8080)。
2. 访问http://burpsuite,看是否能打开CA证书下载页。
3. 暂时关闭系统代理和杀毒软件防火墙测试。
HTTPS网站显示“连接不安全”或抓包内容为乱码1. Burp的CA证书未安装或未受信任。
2. 某些应用(如手机APP、小程序)使用了证书绑定(SSL Pinning)。
1.重新安装CA证书,并确保证书存储位置正确(系统根证书/浏览器证书库)。
2. 对于证书绑定,需要反编译APP并修改代码,或使用Frida等动态插桩工具,这属于高级移动安全测试范畴。
主动扫描速度极慢或很快停止1. 社区版主动扫描本身有限速。
2. 目标服务器响应慢或超时。
3. 扫描范围(Scope)过大。
4. 资源限制设置过低。
1. 社区版慢是正常的,考虑升级或分模块扫描。
2. 在Scanner的“Options”中增加“Timeout”和“Retry on failure”次数。
3. 精确设定Scope,只扫描核心功能路径。
4. 调整“Resource Pool”设置,增加线程和请求数(专业版功能)。
扫描器报告大量“误报”1. 扫描器规则过于敏感。
2. 应用有自定义的WAF或输入过滤,返回了误导性的错误页面。
1. 在“Scanner” -> “Issue Definitions”中查看规则详情,理解触发条件。
2.手动验证每一个中高危漏洞,这是必须的步骤。对于确认的误报,标记为“False positive”。
3. 在扫描配置中,可以禁用某些已知会产生大量误报的检查项。
Intruder攻击无结果或全部失败1. 攻击载荷(Payload)格式错误。
2. 服务器有频率限制或验证码。
3. 会话失效(如登录态过期)。
4. 请求位置(Position)标记错误。
1. 先在Repeater中手动测试一个Payload,确保请求本身有效。
2. 增加请求间隔,或使用代理池(高级技巧)。
3. 配置Session Handling Rules保持会话。
4. 检查Intruder的“Positions”标签,确保§符号正确地包裹住了要替换的部分。
站点地图(Site map)内容不全1. 爬虫未触发到深层链接(如需要点击的JS动态加载)。
2. 需要登录才能访问的区域未配置认证。
1. 开启“Proxy” -> “Options”中的“Store only requests made using proxy”可能漏掉一些被动发现的资源,可以关闭试试。
2.手动浏览:最有效的方法。用配置了Burp代理的浏览器,像正常用户一样把整个应用点一遍,所有流量都会自动收录到站点地图。
3. 配置“Application Login”宏,让爬虫能进入认证后区域。

最后,我想强调一个贯穿始终的原则:工具是死的,人是活的。Burp Suite功能再强大,也只是一个放大器,它放大的是使用者的知识和思维。不要满足于运行一遍扫描器就出报告。花时间去理解HTTP协议,去读懂请求和响应,去思考应用背后的业务逻辑。当你看到一个参数,能本能地想到它可能存在的几种漏洞类型和测试方法时,你才真正开始入门Web安全测试。从安装配置到手动测试,再到利用自动扫描查漏补缺,这是一个循序渐进的过程。保持好奇心,多动手实践,在授权的环境中大胆测试,你的技能树会随着每一个解决的问题而不断生长。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 23:56:16

性能测试入门:从核心概念到实践流程的完整指南

1. 从“看热闹”到“入门”&#xff1a;性能测试到底在测什么&#xff1f;每次看到“性能测试”这四个字&#xff0c;很多刚入行的朋友第一反应可能是&#xff1a;不就是让系统多跑点用户&#xff0c;看看会不会崩吗&#xff1f;这话对&#xff0c;但也不全对。我干了这么多年&…

作者头像 李华
网站建设 2026/6/22 23:44:41

粒子生命模拟:用简单规则创造复杂世界的奇妙之旅

粒子生命模拟&#xff1a;用简单规则创造复杂世界的奇妙之旅 【免费下载链接】particle-life A simple program to simulate artificial life using attraction/reuplsion forces between many particles 项目地址: https://gitcode.com/gh_mirrors/pa/particle-life 你…

作者头像 李华
网站建设 2026/6/22 23:40:12

3分钟部署FindSomething:重新定义网页信息安全的终极方案

3分钟部署FindSomething&#xff1a;重新定义网页信息安全的终极方案 【免费下载链接】FindSomething 基于chrome、firefox插件的被动式信息泄漏检测工具 项目地址: https://gitcode.com/gh_mirrors/fi/FindSomething 在数字时代&#xff0c;每个网页浏览都可能成为信息…

作者头像 李华
网站建设 2026/6/22 23:34:18

2026缙云木门定制,口碑厂家怎么选?

一、领域挑战分析缙云木门定制行业&#xff0c;近年来伴随家居消费升级&#xff0c;正面临多重技术落地难题。首先是环保合规与材料选型问题。根据《GB/T 39600—2021》标准&#xff0c;ENF级甲醛释放量为≤0.025mg/m&#xff0c;而很多中小厂商的板材供应链难以稳定达到这一指…

作者头像 李华
网站建设 2026/6/22 23:24:00

Go 微服务拆分:当“拆“成为本能,如何避免分布式单体陷阱

Go 微服务拆分&#xff1a;当"拆"成为本能&#xff0c;如何避免分布式单体陷阱一、分布式单体——微服务拆分后的"伪独立"困局 微服务架构的初衷是独立部署、独立扩展、独立演进。然而在实际项目中&#xff0c;拆分后的服务往往呈现出一种尴尬的状态&#…

作者头像 李华