无法通过ADB将MobSF容器连接至AWS上的Genymotion VM问题排查
问题诊断与修复方案
一、先解决/system分区只读问题(MobSF动态分析必备条件)
MobSF动态分析需要往/system分区注入监控工具,必须让分区可读写:
- 进入Genymotion VM的ADB shell,执行挂载命令:
adb remount
- 如果上述命令失败,先关闭系统验证再重启:
adb shell su -c "disable-verity" adb reboot # 重启完成后再次执行 adb remount
- 若还是无法挂载,更换Genymotion镜像:选择带Google Play的可定制镜像,或官方提供的Root权限版本,部分默认镜像的/system分区被锁定,无法修改。
二、修复ADB连接稳定性问题(日志显示连接终止)
虽然手动ADB能连通,但MobSF运行时出现连接失败,排查以下点:
- 延长ADB超时时间:进入MobSF容器,执行:
adb connect -t 30000 13.212.24.231:5555
增加超时阈值,避免MobSF调用时因超时断开连接。
2. 确保ADB监听所有网卡:在Genymotion VM的ADB shell执行:
setprop service.adb.tcp.port 5555 stop adbd start adbd
强制ADB绑定到0.0.0.0,而非仅本地回环地址。
3. 调整Docker网络模式:改用host模式启动MobSF,跳过端口转发的网络损耗:
docker run --name mobsf -it --rm --network host \ -e MOBSF_ANALYZER_IDENTIFIER="13.212.24.231:5555" \ opensecurity/mobile-security-framework-mobsf:latest
启动后直接访问localhost:8000即可使用MobSF。
三、修正MobSF配置的关键错误
你启动MobSF时设置的环境变量MOBSF_ANALYZER_IDENTIFIER是13.212.119.90:5555,但日志里MobSF尝试连接的是13.212.24.231:5555,IP地址不匹配!这是导致连接失败的直接原因,修改启动命令为:
docker run --name mobsf -it --rm -p 8000:8000 -p 1338:1338 \ -e MOBSF_ANALYZER_IDENTIFIER="13.212.24.231:5555" \ opensecurity/mobile-security-framework-mobsf:latest
四、AWS环境额外检查
- 出站规则:确保MobSF所在EC2实例(或Docker宿主机)的安全组出站规则允许访问5555端口,避免AWS拦截出站请求。
- 网络可达性:确认Genymotion VM的弹性IP绑定正确,或MobSF所在机器能通过VPC内网访问Genymotion的私有IP(如果用内网部署)。
内容的提问来源于stack exchange,提问作者sqr
相关产品推荐
相关产品推荐

