我有一个关于 adb 转发器的问题
我的情况:
- 资源:我编写代码的 1 台 Windows PC,1 个通过 USB 连接到 Windows PC 的 Android 设备(Android 2.2),1 个在 Windows PC 上的虚拟机(VMWare)内运行的 Linux 服务器
- 任务:android设备必须通过TCP(端口65001)连接虚拟机
- 限制:我不允许为此使用 wlan(因为一些我无法影响的问题)。我无法进行 USB(反向)网络共享,因为我的设备在 android 菜单中没有 USB 网络共享选项(由制造商禁用)。
我可以通过 telnet 端口连接到虚拟机 ( telnet 192.168.1.2 65001
) 并获取我的数据。所以本地和虚拟机之间没有网络问题。本地 IP 地址为 192.168.1.1。
现在我需要一个从传入端口 65000 到虚拟机上的侦听端口(65001)的桥接。我使用以下命令adb forward tcp:65000 tcp:65000
通过 USB 连接从我的 android 设备到我的 localhost(反之亦然)。据我所知,您不能使用 adb 转发到远程机器。
现在的问题是我无法从 127.0.0.1:65000 桥接到任何其他端口以获得完整的通信路径。如果我尝试在 127.0.0.1:6500 上创建侦听连接,则会收到错误消息,表明端口已绑定(因为adb forward tcp:65000 tcp:65000
)。如果转发阻止此端口上的所有其他连接,我如何从 android 设备获取传入数据?
我尝试通过 putty (localhost:65000 (win) -> server:65001) 进行隧道传输,并且我编写了一个小程序,在 127.0.0.1:65000 上创建一个侦听服务器(套接字)并将信息发送到 192.168。 1.2:65001 通过 192.168.1.1:65001。
有人知道如何解决我的情况吗?如果是这样,请解释。也许这也有助于其他人处理 adb 转发功能。
提示:端口和地址只是示例。唯一固定的端口号是虚拟机上的监听端口