��_�. MobSF Docker 雷电模拟器动态分析完整 配置指南(Windows) 适用场景:已成功部署 opensecurity/mobile-security-framework-mobsf Docker 容器, 现需配置雷电模拟器实现 APK 动态分析。 前提条件:Docker 已安装,MobSF 容器可正常启动(静态分析可用),雷电模拟器已安装。 一、配置雷电模拟器
-
开启 ADB 调试
-
启动 雷电模拟器
-
点击右上⻆ ⻮轮图标(设置)
-
进入 【其他设置】
-
勾选以下两项: ✅ ADB 调试 ○ ✅ 远程 ADB 调试(网络连接) ○
-
(可选但推荐)开启 ROOT 权限:在同一⻚面勾选 ROOT 💡 默认 ADB 端口为 5555 ,无需修改。 二、配置系统环境变量(使 命令全局可用) adb ⚠ 此步骤确保系统能识别 adb 命令,避免路径问题。
-
找到雷电 ADB 路径 ● 默认路径通常为: E:\leidian\LDPlayer9
● 确认该目录下存在 adb.exe 文件 152 -
添加到系统 PATH
-
按 Win + R ,输入 sysdm.cpl ,回⻋
-
点击 【高级】→【环境变量】
-
在 【系统变量】 区域(不是用户变量!),找到 Path ,点击 【编辑】
-
点击 【新建】,输入雷电 ADB 目录路径: 1 E:\leidian\LDPlayer9
-
点击 【确定】 保存所有窗口
-
验证 ADB 是否可用
-
关闭所有已打开的 CMD/PowerShell 窗口
-
重新打开 新的 CMD 窗口
-
执行以下命令: 1 adb version ✅ 正常输出示例: 1 Android Debug Bridge version 1.0.41 2 Version 34.0.4-10411341 3 Installed as E:\leidian\LDPlayer9\adb.exe
-
连接雷电模拟器: 1 adb connect 127.0.0.1:5555 输出应为: 1 connected to 127.0.0.1:5555
-
查看设备列表: 1 adb devices ✅ 正常输出应包含: 1 List of devices attached 2 127.0.0.1:5555 device 153
🔒 若 adb version 报错“不是内部或外部命令”: 检查是否添加到 系统变量(非用户变量) ● ● 检查 adb.exe 是否被 Windows 阻止:右键 adb.exe → 属性 → 勾选 【解除锁定】 三、获取本机真实 IP 地址 ⚠ 不能使用 127.0.0.1 !Docker 容器内 127.0.0.1 指向容器自身。
- 在 CMD 中执行: 1 ipconfig
- 找到 当前正在联网的网卡(有“默认网关”的那个): 1 以太网适配器 以太网 2: 2 连接特定的 DNS 后缀 … … . : 3 IPv4 地址 … … … … : 192.168.1.100 4 子网掩码 … … … … : 255.255.255.0 5 默认网关… … … … . : 192.168.1.100
- 记下 IPv4 地址(本例为 192.168.1.100 )
四、启动 MobSF Docker 容器(带动态分析支持)
📌 使用上一步获取的真实 IP 地址替换 <YOUR_IP>
方法一:使用 CMD(换行符 )
^
1 docker run -it —rm ^
2 -p 8000:8000 ^
3 -e MOBSF_ANALYZER_IDENTIFIER=192.168.1.100:5555 ^
4 —add-host host.docker.internal
^ 5 opensecurity/mobile-security-framework-mobsf 154
方法二:使用 PowerShell(换行符 )
1 docker run -it --rm
2 -p 8000:8000 3 -e MOBSF_ANALYZER_IDENTIFIER=192.168.1.100:5555
4 —add-host host.docker.internal
- 打开浏览器,访问:http://localhost:8000
- 登录(默认账号): ○ 用户名: mobsf ○ 密码: mobsf
- 上传一个 APK 文件(建议先用简单 App 测试)
- 点击 【Start Dynamic Analysis】
- 观察: 雷电模拟器是否自动安装并启动该 App? ○ Web 界面是否显示 “Device Connected”? ○ 点击 【Show Screen】 能否看到模拟器实时画面? ○ ✅ 成功即表示动态分析已打通! 155
六、常⻅问题排查 ADB 设备显示 解决方案 offline 你的问题很明确:ADB 已连接但设备状态为 offline ,这表示连接建立但无法通信。 🔍 问题原因 1 List of devices attached 2 127.0.0.1:5555 offline ← 雷电模拟器 3 emulator-5554 offline ← 其他模拟器残留 常⻅原因:
- 雷电模拟器 ADB 服务异常
- 多个 ADB 服务冲突
- 模拟器未完全启动
- ADB 版本不兼容 ✅ 解决方案(按顺序执行) 第一步:完全重启雷电 ADB 服务 156
1 # 1. 断开所有连接 2 adb disconnect 3 4 # 2. 停止 ADB 服务 5 adb kill-server 6 7 # 3. 等待 3 秒 8 9 # 4. 重新启动 ADB 服务 10 adb start-server 11 12 # 5. 重新连接雷电 13 adb connect 127.0.0.1:5555 14 15 # 6. 查看设备状态 16 adb devices ✅ 正常输出应为: 1 List of devices attached 2 127.0.0.1:5555 device 第二步:重启雷电模拟器 如果第一步无效,完全重启雷电:
- 关闭雷电模拟器(确保进程完全退出) 1 taskkill /F /IM LdBoxHeadless.exe 2 taskkill /F /IM LdVBoxHeadless.exe 3 taskkill /F /IM adb.exe
- 等待 10 秒
- 重新启动雷电模拟器
- 等待模拟器完全进入桌面(约 1-2 分钟)
- 再次连接 ADB 1 adb connect 127.0.0.1:5555 2 adb devices 157
第三步:检查雷电 ADB 端口设置
- 打开雷电模拟器
- 点击 设置(⻮轮图标)
- 进入 【其他设置】
- 确认: ✅ ADB 调试 = 开启 ○ ✅ 远程 ADB 调试 = 开启 ○ ○ 📌 ADB 端口 = 5555 (默认)
- 如果端口被修改,使用实际端口: 1 adb connect 127.0.0.1:<实际端口> 第四步:清理离线设备 1 # 断开所有设备 2 adb disconnect 3 4 # 只连接雷电 5 adb connect 127.0.0.1:5555 6 7 # 查看设备 8 adb devices 9 10 # 如果还有 emulator-5554,强制断开 11 adb disconnect emulator-5554 第五步:使用雷电自带 ADB(如果系统 ADB 不兼容) 158
1 # 使用雷电目录下的 adb.exe
2 E:\leidian\LDPlayer9\adb.exe kill-server
3 E:\leidian\LDPlayer9\adb.exe start-server
4 E:\leidian\LDPlayer9\adb.exe connect 127.0.0.1:5555
5 E:\leidian\LDPlayer9\adb.exe devices
第六步:检查端口占用
1 # 查看 5555 端口是否被占用
2 netstat -ano | findstr :5555
如果有多个进程占用,结束冲突进程:
1 # 替换 PID 为实际进程 ID
2 taskkill /PID
1 @echo off 2 chcp 65001 >nul 3 echo ======================================== 4 echo ADB Offline 修复工具 5 echo ======================================== 6 echo. 7 8 echo [1] 断开所有 ADB 连接… 9 adb disconnect 10 11 echo [2] 停止 ADB 服务… 12 adb kill-server 13 14 echo [3] 等待 3 秒… 15 timeout /t 3 /nobreak >nul 16 17 echo [4] 启动 ADB 服务… 18 adb start-server 19 20 echo [5] 等待 5 秒… 21 timeout /t 5 /nobreak >nul 22 23 echo [6] 连接雷电模拟器… 24 adb connect 127.0.0.1:5555 25 26 echo [7] 检查设备状态… 27 adb devices 28 29 echo. 30 echo ======================================== 31 echo 如果仍显示 offline,请重启雷电模拟器 32 echo ======================================== 33 pause ✅ 验证成功 执行以下命令测试通信: 160
1 # 测试是否能执行命令
2 adb -s 127.0.0.1:5555 shell getprop ro.build.version.release
3
4 # 测试文件传输
5 adb -s 127.0.0.1:5555 shell ls /sdcard
✅ 如果输出 Android 版本号或文件列表 → ADB 通信正常!
📌 完整修复流程
1 # 1. 关闭雷电模拟器
2 taskkill /F /IM LdBoxHeadless.exe
3
4 # 2. 清理 ADB
5 adb kill-server
6
7 # 3. 等待 10 秒
8 timeout /t 10
9
10 # 4. 重新启动雷电模拟器
11 # (手动打开)
12
13 # 5. 等待模拟器完全启动(看到桌面)
14
15 # 6. 启动 ADB 并连接
16 adb start-server
17 adb connect 127.0.0.1:5555
18 adb devices
19
20 # 7. 测试通信
21 adb shell getprop ro.build.version.release
22
23 # 8. 重启 MobSF Docker
24 docker run -it —rm -p 8000:8000 -e MOBSF_ANALYZER_IDENTIFIER=host.docker.
internal:5555 —add-host host.docker.internal
状态 含义 解决
offline 连接但无法通信 重启 ADB + 重启雷电
unauthorized 未授权调试 模拟器弹窗点”允许”
device ✅ 正常 可以直接使用
空白 未连接 adb connect 127.0.0.1:
5555
现在请执行:
1 adb kill-server
2 adb start-server
3 adb connect 127.0.0.1:5555
4 adb devices
❌ 问题1:
port is already allocated
原因:8000 端口被占用
解决:
1 # 查看占用容器
2 docker ps
3 # 停止并删除旧容器(替换 YOUR_CONTAINER_NAME)
4 docker stop YOUR_CONTAINER_NAME
5 docker rm YOUR_CONTAINER_NAME
或改用其他端口(如 8080):
1 docker run -it —rm -p 8080:8000 -e MOBSF_ANALYZER_IDENTIFIER=192.168.151.
1:5555 —add-host host.docker.internal
❌ 问题2:动态分析提示 “Device not found” 原因:Docker 无法连接雷电 ADB 解决:
- 确保使用 本机真实 IP(非 127.0.0.1 )
- 手动连接一次 ADB: 1 adb connect 192.168.1.100:5555
- 检查防火墙是否阻止 5555 端口:
1 # 临时关闭防火墙测试
2 netsh advfirewall set allprofiles state off
3 # 测试完记得开启
4 netsh advfirewall set allprofiles state on
❌ 问题3:Frida 注入失败
原因:App 反调试或未 ROOT
解决:
确保雷电已开启 ROOT 权限
●
先用无加固的简单 APK 测试(如自⼰开发的 Demo)
●
避免直接分析银行、游戏类 App(通常有强反调试)
●
七、关键参数说明
参数 作用
-e MOBSF_ANALYZER_IDENTIFIER=192.16 告诉 MobSF 雷电模拟器的地址和端口
8.151.1:5555
—add-host host.docker.internal
允许 Docker 容器通过 host.docker.inter t-gateway nal 访问宿主机(Windows 必须加) 163
💡 提示:每次重启电脑后,需重新运行雷电模拟器并执行 adb connect 127.0.0.1:5555 (或 确保“远程 ADB 调试”已开启)。 你已成功完成所有配置!现在可以进行完整的移动应用动态安全分析了。 太好了!你已经成功跑通了整个流程。下面为你提炼出 最核心、最精简的操作清单,方便你下次快速启 动。 ✅ 核心操作清单(每次重启后只需做这 3 步) 第一步:启动雷电模拟器 双击打开 雷电模拟器 ● 确保它已完全启动并进入桌面 ● 💡 雷电会自动开启 ADB 服务(因为你之前已勾选“远程 ADB 调试”) 第二步:连接 ADB(确保服务激活)
- 打开 CMD
- 执行: 1 adb connect 127.0.0.1:5555 ✅ 输出 connected to 127.0.0.1:5555 即可(即使已连接,执行一次也无妨) 第三步:启动 MobSF Docker 容器(带动态分析) 在 CMD 中执行 单行命令(替换 192.168.1.100 为你的实际 IP): 164
1 docker run -it —rm -p 8000:8000 -e MOBSF_ANALYZER_IDENTIFIER=192.168.151.
1:5555 —add-host host.docker.internal
- 浏览器访问:http://localhost:8000
- 登录: mobsf / mobsf
- 上传 APK → 点 【Start Dynamic Analysis】
- 看雷电是否自动安装 App → 成功! 📌 关键记忆点 项目 内容 雷电设置 ADB 调试 + 远程 ADB 调试 + ROOT(一次性配 置) 系统 PATH E:\leidian\LDPlayer9 (一次性配置) 本机 IP 192.168.1.100 (用 ipconfig 查,一般 不变) 核心启动命令 上面那条 docker run … 命令 💡 小技巧:保存为批处理文件(一键启动)
- 新建文本文件,命名为 start_mobsf.bat
- 内容如下(替换你的 IP): 165
1 @echo off
2 echo [*] 启动 MobSF 动态分析环境…
3 adb connect 127.0.0.1:5555 >nul
4 docker run -it —rm -p 8000:8000 -e MOBSF_ANALYZER_IDENTIFIER=192.168.151.
1:5555 —add-host host.docker.internal
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时






