Burp Suite抓包逍遥模拟器:HTTPS解密与系统证书安装全攻略 📅 2026/6/21 1:04:06 1. 项目概述为什么要在逍遥模拟器上用Burp Suite抓包在移动应用安全测试、逆向分析或者日常开发调试中抓包是一个绕不开的核心技能。你可能遇到过这些情况想分析某个App的API接口是如何工作的想看看它和服务器之间传输了哪些数据或者想测试一下某个请求参数篡改后会不会有安全问题。这时候抓包工具就成了你的“眼睛”。市面上抓包工具很多比如Fiddler、Charles但在安全测试领域Burp Suite尤其是Professional版是当之无愧的“瑞士军刀”。它不仅能拦截、查看HTTP/HTTPS流量还集成了扫描器、爬虫、重放、编码解码等一系列强大功能是渗透测试人员的标配。然而直接在物理手机上配置Burp代理和安装证书步骤繁琐还可能受手机系统版本、厂商定制限制。这时安卓模拟器的优势就体现出来了。逍遥模拟器MEmu是一款基于Android 7.1/9.0内核的模拟器在性能、兼容性和对开发者友好度上表现不错。在模拟器里运行目标App然后在宿主机你的Windows电脑上运行Burp Suite通过代理将模拟器的网络流量导到Burp中进行分析这构成了一个非常理想的移动端抓包测试环境。这个方案的核心难点和成败关键就在于“安装Burp的CA证书到模拟器系统信任区”。只有完成了这一步Burp才能成功解密HTTPS流量否则你看到的只是一堆加密的乱码。这篇文章我就以一个老测试员的视角带你从头到尾、手把手地走通“Burp Suite抓包逍遥模拟器”的全流程。我会重点拆解那些容易踩坑的细节比如模拟器网络模式的选择、证书导出的格式、以及如何绕过Android 7.0之后对用户证书的限制把证书成功安装到系统根证书目录。无论你是安全新手想入门移动端测试还是开发人员想调试API这套方案都值得你花时间掌握。2. 环境准备与核心原理拆解在动手之前我们先花点时间把环境和原理搞清楚。磨刀不误砍柴工理解透彻了后面操作时遇到问题你才能自己排查。2.1 工具选型与版本考量首先我们得把家伙事儿备齐版本选择上有些讲究Burp Suite推荐使用Professional版。社区版Community虽然免费但缺少手动测试最常用的“Repeater”重放器和“Intruder”入侵者模块功能限制很大。专业版功能完整是进行安全测试的必备工具。你可以从官网下载试用版或者寻找合适的授权途径。逍遥模拟器建议下载官方最新版本。我写这篇文章时稳定版是基于Android 7.1内核的也有基于Android 9.0的测试版。Android 7.0API 24是一个重要的分水岭它对证书信任策略做了重大更改我们后面会详细讲。对于大多数App的兼容性测试Android 7.1内核的版本已经足够。操作系统宿主机为Windows 10/11。整个流程在Windows上最为顺畅。Burp Suite本身是Java程序在macOS和Linux上也能运行但模拟器与宿主机网络的桥接方式可能略有不同本文以Windows环境为主进行讲解。注意请务必从官方网站或可信渠道下载软件避免使用被篡改的版本以防引入安全风险或后门。2.2 网络代理与HTTPS解密的核心原理为什么抓包需要设置代理和安装证书这里用个简单的比喻HTTP通信就像寄明信片。内容请求和响应是明文写在卡片上的任何一个经手的中转站代理服务器都能看到内容。Burp作为代理截下这张明信片抄录一份让你查看然后原样寄出。HTTPS通信就像寄挂号信而且用的是只有收寄双方才有钥匙的密码箱。内容被加密了中转站拿到的只是一个锁着的箱子看不到里面。Burp想要看到HTTPS信里的内容就必须让自己成为通信双方都信任的“中间人”。这就是“中间人攻击”Man-in-the-Middle, MiTM的原理也是所有抓包工具的基础。代理转发你配置逍遥模拟器的网络将所有流量发送到宿主机上Burp监听的端口比如8080。这样模拟器里App发出的所有“信”都会先送到Burp这里。证书欺骗当App发起一个HTTPS连接比如访问https://api.example.com时Burp会立即伪造一个名为api.example.com的证书用自己的CA证书颁发机构私钥进行签名然后发给App。信任建立如果App的系统证书库信任了Burp的CA证书那么它就会认为这个伪造的证书是合法的从而建立起与Burp的HTTPS连接。之后Burp再以客户端的身份与真实的api.example.com服务器建立另一个HTTPS连接。解密与窥视至此Burp处在两段独立的、安全的HTTPS连接中间。从App到Burp的流量Burp可以用自己的私钥解密从Burp到真实服务器的流量Burp也能正常解密。这样Burp就看到了所有明文的请求和响应并可以展示给你看。所以整个流程的成败关键就在于“让逍遥模拟器里的Android系统信任Burp的CA证书”。在Android 7.0之前用户手动安装的证书放在用户证书存储区会被所有App信任。但从Android 7.0开始谷歌引入了“网络安全配置”和更严格的证书信任策略默认情况下App可以只信任系统预装的证书系统证书而不信任用户安装的证书。这就是为什么很多教程里你需要把证书“挪”到系统证书目录下的原因。3. 详细配置与实操步骤理论讲完我们进入实战环节。请一步一步跟着操作我会把每个步骤的意图和可能遇到的坑都解释清楚。3.1 第一步配置Burp Suite代理监听首先我们要让Burp在电脑上“开门营业”准备好接收模拟器发来的网络流量。启动Burp Suite Professional。首次运行会让你创建临时项目或加载已有项目选择“Temporary project”临时项目和“Use Burp defaults”使用默认设置即可。进入主界面后切换到“Proxy”标签页然后进入“Options”子标签。在“Proxy Listeners”区域你会看到一个默认的监听器地址是127.0.0.1:8080。这个监听器只接收本机localhost的流量模拟器是访问不到的。我们需要编辑它。选中127.0.0.1:8080这一行点击“Edit”按钮。在弹出的编辑对话框中将“Bind to address”从Loopback only改为All interfaces或者直接选择你电脑在局域网中的IP地址例如192.168.1.100。这一步至关重要它允许来自同一局域网内其他设备包括逍遥模拟器这个“虚拟设备”的连接。“Bind to port”保持8080不变你也可以换成其他未被占用的端口。确保“Running”复选框是勾选状态。点击“OK”保存。现在Burp的代理服务就已经在你的电脑IP:8080上运行了。你可以在浏览器中访问http://burp来打开Burp的证书下载页面这是一个内置的便捷功能。3.2 第二步配置逍遥模拟器网络代理接下来我们要告诉逍遥模拟器“你上网的时候别直接走先到192.168.1.100:8080这个地址报个到。”启动逍遥模拟器。等待系统完全启动。进入模拟器的“设置” - “WLAN”无线网络。长按当前已连接的Wi-Fi网络通常叫“WiredSSID”或“MEmu”在弹出的菜单中选择“修改网络”。在高级选项中找到“代理”设置将其从“无”改为“手动”。填写代理信息代理服务器主机名填写你电脑的局域网IP地址就是上一步Burp监听的那个IP例如192.168.1.100。这里绝对不能填127.0.0.1或localhost因为对模拟器来说那是它自己的环回地址不是宿主机的地址。代理服务器端口填写Burp的监听端口例如8080。保存设置。配置完成后模拟器所有的HTTP流量都会经过Burp。你可以立即在模拟器里打开浏览器访问一个HTTP网站比如http://neverssl.com然后在Burp的“Proxy” - “HTTP history”标签页里应该能看到拦截到的请求记录。这说明HTTP代理配置成功了。3.3 第三步获取并准备Burp的CA证书HTTPS抓包需要证书。我们需要把Burp的“公章”CA证书安装到模拟器里。在模拟器的浏览器中访问http://burp。这个地址会指向你宿主机上Burp的证书下载页面。页面打开后点击“CA Certificate”按钮下载证书文件。默认下载的文件名是cacert.der这是一个DER格式的证书文件。关键步骤证书格式转换。Android系统更倾向于识别PEM格式的证书并且对证书文件名有特定要求。我们需要在电脑上对这个证书文件进行重命名和格式转换可选但推荐。将下载的cacert.der文件从模拟器共享文件夹拖到电脑桌面。打开电脑的命令行CMD或PowerShell使用OpenSSL工具进行转换如果你没有安装OpenSSL可以直接进行重命名但转换后兼容性更好openssl x509 -inform DER -in cacert.der -out cacert.pem将生成的cacert.pem文件重命名为9a5ba575.0。这个奇怪的命名是有规则的它是Burp默认CA证书的主题哈希值subject hash加上.0后缀。使用这个标准命名可以确保证书被系统正确识别。你也可以通过命令获取这个哈希值openssl x509 -inform PEM -subject_hash_old -in cacert.pem输出的第一行就是哈希值通常是9a5ba575。将重命名好的9a5ba575.0文件再通过共享文件夹放回模拟器的下载目录比如/sdcard/Download/。3.4 第四步将证书安装到系统信任区关键难点这是整个流程中最核心、最容易出错的一步。我们的目标是把证书文件放到/system/etc/security/cacerts/目录下并设置正确的权限。这个目录需要root权限才能写入。方案A使用已Root的模拟器推荐逍遥模拟器官方提供了Root开关这是最方便的方法。在模拟器侧边工具栏点击“设置”图标齿轮在“高级设置”中开启“Root权限”。重启模拟器。在模拟器内安装一个强大的文件管理器例如MT管理器或Root Explorer。使用文件管理器进入/sdcard/Download/目录找到9a5ba575.0文件。将文件复制或移动到/system/etc/security/cacerts/目录。注意/system分区默认是只读的。你需要点击文件管理器上的“挂载为可读写”Mount R/W按钮将/system分区挂载为可写状态才能进行粘贴操作。粘贴完成后长按9a5ba575.0文件选择“权限”Properties。将其权限修改为644即用户-读写用户组-读其他-读。用数字表示就是rw-r--r--。这个权限与系统目录下其他证书文件保持一致非常重要。重启逍遥模拟器。重启是为了让系统重新加载证书库。方案B通过ADB命令推送备用方案如果模拟器内的文件管理器操作不顺可以使用Android调试桥ADB。确保逍遥模拟器的ADB调试已开启通常默认开启。在电脑上打开命令行导航到存放9a5ba575.0证书文件的目录。执行以下命令adb root # 获取root权限 adb remount # 重新挂载/system分区为可写部分模拟器可能需要 adb push 9a5ba575.0 /system/etc/security/cacerts/ adb shell chmod 644 /system/etc/security/cacerts/9a5ba575.0重启模拟器adb reboot。验证证书是否安装成功重启后进入模拟器的“设置” - “安全” - “加密与凭据” - “信任的凭据” - “系统”。在长长的列表里你应该能找到名为“PortSwigger CA”或“PortSwigger Ltd”的证书。看到它就说明大功告成了4. 实战抓包与问题深度排查环境配好了我们来实际抓个包试试并聊聊那些“磨人”的常见问题。4.1 抓取HTTPS流量实战确保Burp的代理监听是开启的模拟器的代理设置正确。在Burp中确保“Proxy” - “Intercept”是“Intercept is off”状态我们一般先不拦截只查看历史记录。在逍遥模拟器中打开一个使用HTTPS的App或者用浏览器访问https://www.baidu.com。切换到Burp的“Proxy” - “HTTP history”标签页。你应该能看到大量的HTTP和HTTPS请求。找到一条HTTPS请求URL以https://开头。如果证书安装成功你点击这条请求在右侧的“Request”和“Response”面板中可以看到完整的、已解密的明文数据包括Headers、Cookies、表单参数、JSON响应体等。你可以右键点击任何请求发送到“Repeater”模块进行手动修改和重放测试或者发送到“Intruder”进行模糊测试和爆破。这才是Burp强大功能的开始。4.2 高频问题与解决方案实录即使步骤再详细实际操作中还是会遇到各种“妖魔鬼怪”。下面是我总结的常见问题清单和解决思路问题现象可能原因排查与解决方案模拟器无法上网/所有App网络错误1. Burp代理监听地址错误。2. 电脑防火墙阻止了8080端口。3. 代理设置后未保存或生效。1.检查Burp监听确认绑定地址是All interfaces或具体IP不是127.0.0.1。2.检查防火墙在Windows防火墙中为Java(TM) Platform SE binary或BurpSuite.exe添加入站规则允许8080端口的TCP连接。3.测试代理在模拟器浏览器访问http://burp看是否能打开Burp证书页面。打不开说明网络不通。HTTPS请求在Burp中显示为TLS握手失败或乱码1. 证书未正确安装到系统信任区。2. 证书文件权限不正确。3. 目标App使用了证书绑定SSL Pinning。1.验证证书按上文方法检查“系统”证书列表中是否有PortSwigger CA。2.检查权限使用ADB Shell或Root文件管理器确认/system/etc/security/cacerts/9a5ba575.0文件权限为644。3.对抗证书绑定这是另一个技术点。需要借助Xposed框架、Frida等动态注入工具在运行时绕过App的证书检查。对于逍遥模拟器可以尝试安装LSPosed等模块配合JustTrustMe或TrustMeAlready模块来禁用证书绑定。只能抓到部分App的包个别App抓不到1. 该App使用了纯TCP/UDP协议或自定义加密不走HTTP/HTTPS代理。2. App在代码中配置了忽略用户代理直接使用系统网络。3. Android 9.0 对非系统CA证书限制更严。1.换工具对于非HTTP流量考虑使用Wireshark在更底层抓取网络包。2.检查代理配置确认模拟器Wi-Fi设置中的代理是“手动”且已保存。有些App会检测并绕过代理可以尝试使用透明代理或VPN模式抓包工具如r0capture。3.尝试Android 7.1内核如果使用Android 9.0模拟器遇到问题可换回Android 7.1内核版本其对用户证书的限制更少。Burp证书安装后系统证书列表里找不到1. 证书文件名不正确。2. 证书未放入正确的系统目录。3. 系统未重启证书库未刷新。1.确认文件名必须是subject_hash.0格式。用openssl x509 -inform PEM -subject_hash_old -in cacert.pem命令确认哈希值。2.确认目录必须是/system/etc/security/cacerts/不是/data/misc/user/0/cacerts-added/等用户目录。3.强制刷新重启模拟器是最彻底的方法。也可以尝试在ADB Shell中执行killall system_server命令有风险可能导致系统UI重启。逍遥模拟器无法开启Root权限模拟器版本或设置问题。1. 检查模拟器侧边栏设置中的“Root开关”是否已打开并重启。2. 尝试使用官方提供的“多开管理器”新建一个实例在新实例中开启Root。3. 如果仍不行考虑使用ADB命令在启动时获取rootadb root。4.3 进阶技巧应对证书绑定SSL Pinning越来越多的App特别是金融、社交类应用会使用证书绑定技术。这意味着App在代码里“写死”了只信任自己指定的证书或公钥即使你安装了Burp的系统CA证书它也会拒绝连接因为Burp的证书不在它的信任白名单里。应对策略使用反证书绑定模块在已Root的逍遥模拟器中安装Xposed框架或它的现代替代品LSPosed然后安装JustTrustMe或TrustMeAlready模块。这些模块会Hook系统的证书验证API绕过绑定检查。这是目前最主流和有效的方法。使用Frida脚本Frida是一个动态插桩工具可以注入脚本来修改App的运行时代码。网上有大量针对不同App的Frida脚本可以patch掉证书绑定的逻辑。这需要一定的逆向分析能力。修改App安装包重打包通过反编译Apk找到并修改网络安全配置文件network_security_config.xml或相关的证书检查代码然后重新打包签名安装。这种方法步骤繁琐且可能触发App的签名校验。对于新手我建议先从方案1入手。在逍遥模拟器应用中心搜索“LSPosed”安装器按照指引安装框架和模块大部分常见的证书绑定都能被绕过。5. 抓包后的数据分析与利用成功抓到包只是第一步如何从海量的数据中提取有价值的信息才是体现你能力的地方。5.1 初阶查看与修改请求历史记录HTTP History这是你的数据海洋。善用过滤器Filter可以快速定位目标。比如你可以过滤出某个特定域名的请求或者只显示包含特定关键词的请求/响应。重放器Repeater这是你测试单个请求的“手术台”。将一个请求发送到Repeater你可以随意修改任何部分——URL、参数、Header、Body然后点击“Send”观察服务器的响应变化。这是测试接口逻辑漏洞如越权、状态码绕过、参数污染等的利器。对比功能在Repeater或历史记录中你可以将两个请求/响应并排对比Send to ComparerBurp会高亮显示差异对于分析会话变化、参数差异非常有用。5.2 中阶主动扫描与漏洞发现主动扫描器ScannerBurp Professional的扫描器非常强大。你可以将一个站点地图Site map或一个请求发送给扫描器它会自动爬取链接并对发现的参数进行常见漏洞如SQL注入、XSS、命令注入的探测。注意切勿对未授权的生产环境进行主动扫描这是违法行为。仅在授权测试或自己的测试环境中使用。爬虫Spider自动遍历Web应用或API接口帮你快速构建完整的站点地图发现隐藏的目录和功能点。5.3 高阶自动化测试与扩展入侵者Intruder这是Burp的“爆破器”。你可以定义请求中的变量如用户名、密码、ID号然后载入字典进行自动化批量请求。常用于暴力破解、撞库、参数模糊测试Fuzzing。配置Payload位置和攻击类型Sniper, Battering ram等是关键。扩展ExtenderBurp支持Python和Java编写的扩展这极大地扩展了其能力。你可以从BApp Store安装现成的扩展比如AuthMatrix用于测试权限控制。Turbo Intruder高性能的模糊测试工具。Logger增强的日志记录和搜索功能。CSRF PoC Generator快速生成CSRF攻击证明代码。5.4 数据提取与报告编写搜索功能Search在整个项目数据中全局搜索敏感信息如“password”、“token”、“email”、“身份证号”等快速发现潜在的信息泄露。报告生成测试完成后可以利用Burp生成一份格式良好的HTML或XML报告清晰罗列发现的问题、风险等级、请求响应详情和修复建议用于提交给开发团队或存档。6. 环境维护与优化建议一套好用的测试环境需要精心维护。这里分享几个让流程更顺畅的心得备份系统证书成功将Burp证书安装到系统区后建议对模拟器的这个“干净”状态创建一个快照Snapshot或克隆Clone。这样以后如果环境被搞乱了或者测试不同的App需要纯净环境时可以快速恢复到这个“已配置好抓包基础”的状态无需重复配置证书。管理多个代理配置你可能会在不同项目间切换有的需要Burp有的需要Charles或Fiddler。可以在模拟器的Wi-Fi设置中保存多个不同的代理配置通过“保存网络”功能或者更简单地使用一款叫ProxyDroid的App需要Root它可以在全局或针对特定App动态设置代理非常方便。Burp项目文件管理Burp的临时项目关闭后数据就没了。对于重要的测试记得定期通过“Project” - “Save project as”保存项目文件.burp格式。这不仅备份了所有请求记录、站点地图还保存了你的插件、配置和会话状态。性能考量开启Burp拦截Intercept on会阻塞所有请求影响测试速度。非必要时请关闭拦截。同时Burp会占用大量内存尤其是历史记录多了以后。定期清理历史记录右键 - Delete或调整历史记录的最大大小Proxy Options - History可以保持软件流畅。模拟器选择逍遥模拟器是一个不错的选择但并非唯一。雷电模拟器、夜神模拟器在抓包配置上大同小异。你可以根据自己的电脑性能和与目标App的兼容性来选择。有时某个App在A模拟器上闪退在B模拟器上却能正常运行。最后再强调一次法律与道德底线抓包技术是一把双刃剑。所有技术操作都应在你自己拥有完全控制权的设备、或已获得明确书面授权的测试目标上进行。未经授权对他人的系统、应用进行抓包、测试、攻击是违法行为。请务必用于合法合规的学习、研究、安全测试和开发调试工作。技术让我们有能力洞察数据流动而如何运用这种能力则取决于我们自身的操守。