搭建 Docker 云手机(例如六边云手机)的时候,有两种最常用远程访问方式:网页 Web VNC(6080 端口)和ADB 远程调试(5555 端口)。很多新手分不清两者定位,要么全部开放带来安全风险,要么选错方式,达不到操作预期。
Web VNC 是图形可视化操作,ADB 是命令行底层调试,二者底层协议、用途、端口、资源开销完全不同。本文结合六边云手机容器部署场景,讲清楚两种访问的原理、优缺点、适用场景、端口安全建议。
一、两种访问方式原理简介
网页 Web VNC 访问(六边云手机 6080 端口)
Web VNC 也就是 noVNC,容器内置 VNC 服务,将安卓画面编码后通过 Websocket 传输,浏览器直接打开页面就能看到安卓屏幕画面,鼠标、触摸操作实时传递到容器内安卓系统。 不需要本地安装客户端,电脑、手机浏览器都能访问。核心是可视化图形画面操作。
ADB 远程访问(六边云手机 5555 端口)
ADB 全称 Android Debug Bridge 安卓调试桥,属于安卓原生调试接口。通过网络 TCP 5555 端口,使用命令行和安卓系统通信。 ADB不传输画面,是指令级控制,发送点击、输入、安装应用、读取日志等命令,多用于自动化、脚本开发。
六边云手机容器部署时,可以单独开启 Web VNC,也可以同时开启 ADB;两个端口相互独立,可以按需映射,不用必须同时开放。
二、ADB 访问 VS Web VNC 网页访问对比表
表格
| 对比项 | Web VNC 网页访问(6080) | ADB 远程访问(5555) |
|---|---|---|
| 核心定位 | 可视化图形远程桌面 | 命令行调试、指令自动化 |
| 是否看画面 | ✅实时屏幕画面 | ❌默认无画面(需要额外 scrcpy 抓取画面) |
| 操作方式 | 鼠标 / 触摸点击、可视化操作 | CMD / 终端命令、自动化脚本 |
| 端口 | TCP 6080 | TCP 5555 |
| 客户端要求 | 只需要浏览器,无需额外安装工具 | 本地电脑需要安装 ADB 工具包 |
| 网络开销 | 高,持续传输视频画面流 | 低,只传输文本指令,流量极小 |
| 适用人群 | 普通使用者、挂机监控、手动操作 | 开发者、工作室自动化脚本、批量部署 |
| 延迟特点 | 画面编码带来一定延迟,受带宽影响大 | 指令延迟极低,不受画面码率影响 |
| 安全风险 | 设置 VNC 密码即可防护 | 裸端口暴露公网风险极高,无密码鉴权很容易被连接 |
三、Web VNC 网页访问详细说明(六边云手机日常挂机首选)
适合场景
- 日常手动操作云手机,打开 APP、手动点选,查看挂机实时画面
- 随时随地用手机、电脑浏览器快速查看容器状态,不需要装软件
- 多台云机巡检,快速看画面是否正常、有没有弹窗报错
优点
- 上手简单,打开浏览器输入 IP:6080 即可,零门槛
- 所见即所得,页面上看到什么就操作什么,适合排查界面弹窗、验证码
- 六边云手机原生支持 Web VNC,容器启动配置好端口映射就能直接使用
缺点
- 持续传输画面,占用带宽,外网穿透时画质越高越容易卡顿
- 浏览器兼容性有坑,部分移动端浏览器触控坐标错位、黑屏
- 长时间挂机,编码会消耗容器 CPU 资源
示例启动片段(仅开启 Web VNC)
docker run -d \ -p 6080:6080 \ --name liubian-phone \ 六边云手机镜像四、ADB 远程访问详细说明(自动化脚本、批量管理场景)
适合场景
- 自动化脚本开发:Airtest、uiautomator、Python 脚本模拟点击
- 批量部署:批量推送 APK 安装、批量导入文件、抓取系统日志 logcat
- 系统调试:修改安卓系统参数、查看进程、重启应用
优点
- 流量消耗极低,指令传输几乎不占用带宽,稳定性强
- 适合无人值守自动化任务,不需要持续渲染画面,节省服务器算力
- 原生安卓接口,兼容性强,几乎所有安卓容器都支持 ADB
缺点
- 上手门槛高,需要掌握 ADB 命令,看不懂图形画面
- 无法直观看到屏幕弹窗,遇到验证码、弹窗阻断脚本,很难发现
- 安全风险重点:ADB 默认没有访问密码,直接暴露公网极易被他人接管设备
六边云手机同时开启 Web+ADB 的容器命令示例
docker run -d \ -p 6080:6080 \ -p 5555:5555 \ --name liubian-phone \ 六边云手机镜像连接 ADB 命令:
adb connect 服务器IP:5555 adb devices五、如何选择?不同场景选型建议
- ✅个人挂机、手动操作、日常查看画面:只用 Web VNC,不开放 ADB 端口,减少安全风险。
- ✅工作室做自动化脚本、批量安装 APK:同时开放 Web VNC+ADB。Web 用来人工巡检画面,ADB 跑自动化脚本;ADB 尽量仅在内网使用,不要直接暴露公网。
- ✅纯后台无人值守脚本,不需要人工看画面:只开放 ADB,关闭 Web VNC 端口,节省服务器算力。
最佳实践:最小开放端口原则,不用的端口不要映射。很多新手直接一次性全开 6080、5555,带来不必要安全隐患。
六、常见踩坑点
坑 1:把 ADB 端口直接暴露公网
ADB 没有默认鉴权,如果公网直接开放 5555 端口,服务器很容易被扫描、恶意接入。如果外网必须使用 ADB,建议搭配内网穿透 + IP 白名单,不要直接端口映射。Web VNC 至少可以设置访问密码,相对更安全。
坑 2:自动化脚本只开 ADB,不预留 Web VNC
脚本运行时遇到弹窗、登录验证,脚本卡住,你看不到画面,排查非常困难。自动化环境建议保留 Web VNC 用于故障排查。
坑 3:混淆两个端口,端口映射配置错误
六边云手机 Web 是 6080,ADB 是 5555,修改宿主机映射端口时两个端口要同步调整,不要搞混。 例如多实例部署:实例 1:6080/5555;实例 2:6081/5556。
坑 4:容器内没有开启 ADB 服务
就算 docker 映射了 5555 端口,如果容器安卓内部没有打开 adb tcpip,依然连接失败,很多人只配置 docker 端口,忽略容器内安卓 ADB 开关。
七、安全总结(重点)
- Web VNC(6080):可视化操作,务必设置 VNC 访问密码;
- ADB(5555):命令调试接口,尽量内网使用,避免公网裸奔;
- 六边云手机多实例部署,按需映射端口,遵循最小权限原则,不用的端口不开放;
- 外网访问优先内网穿透方案,不要直接端口映射把端口暴露在公网。
结尾
简单一句话总结:要看画面、手动操作,用 Web VNC;跑自动化脚本、批量调试,用 ADB。搭建六边云手机 Docker 容器,可以根据业务需求单独开启或者组合使用两种访问方式,同时做好端口与安全防护。