adb connect的远程连接(端口映射&端口转发)

这段时间在闲鱼上接制作appium+Android自动化脚本,来了一个大哥,我来概括一下他的需求,他希望能在云服务器上运行appium然后远程操纵手机实行控制,现在的情况是已经写好自动化脚本,也能跑在云上,并且已经采用内网穿透的方式,这时候找到我希望能采用无线的方式来连接手机。我突然想起来,adb确实有两种方式来连接手机,一种是有线连接,另外一种无线连接,adb pair+adb connect。当时在公司的wifi下面是属于同一局域网,这种方式确实要干净一些,起码桌面上可以少一条usb线,现在这个难点就在于怎么让他的云服务器和他的手机处于同一局域网中呢,端口转发确实是一个不错的方法。那我该如何去做呢?

何为端口映射?何为端口转发?

  1. 端口映射(Port Mapping):
    端口映射是一种将外部网络流量导向到内部网络设备或服务的过程。在端口映射中,路由器将外部IP地址和端口与内部网络中的设备或服务的IP地址和端口之间建立映射关系。这样,当外部网络请求到达路由器时,路由器会将其转发到正确的内部设备或服务。

    例如,如果您在家庭网络中运行一个Web服务器,并且您的路由器支持端口映射,您可以将路由器的公共IP地址的特定端口映射到Web服务器的私有IP地址和端口上。这样,当外部用户访问路由器的公共IP地址和特定端口时,请求会自动转发到Web服务器上。

  2. 端口转发(Port Forwarding):
    端口转发是一种特定类型的端口映射,它将外部网络请求转发到内部网络中的特定设备或服务。在端口转发中,路由器将外部网络请求的特定端口映射到内部网络中的设备或服务的特定端口上。

------------------------

首先,在我们互联网中,两个不在同一物理空间的设备进行通信,他们最基本都要有自己的位置,也就是公网IP,先通过在浏览器输入what is my ip找到大哥目前的公网IP

然后,我们判断大哥的手机位于这个公网IP下的哪个路由器上,这时候我们在大哥的cmd窗口输入tracert命令来看看

发现要连接大哥的手机要先经公网IP,然后经过192.168.2.1网关,再经过192.168.0.1,此时大哥的电脑和手机是连同一wifi的,所以可以采取这个方式。

其次,我们打开手机的无线调试,再给这两级路由器配置好虚拟服务器,也就是端口转发

如果这里没有看懂,我再详细地解释一下,原理就是无线调试时,它会暴露手机的一个端口给局域网,然后局域网主机中的可以通过adb pair+connect命令去配对连接这个手机,然后我们通过配置手机连接上的路由器来把这个端口逐级地暴露,直到把公网IP上也能暴露出一个端口来

好了,我们来尝试一下

嘿,不成功,那试一试从一个局域网控制另一个局域网呢

这里成功了,那说明这个端口转发还是很成功的

这个时候,我打开192.168.2.1的路由界面

我发现我以为这个路由器就有公网IP,实际上这还连接着一个路由器呢,我再回头使用tarcert命令,还是只经过192.168.0.1和192.168.2.1呢,这个192.168.1.1是什么呢,我带着疑惑输入这个到url框,一看

好家伙,中国电信智能网关,进去一看,原来公网IP是它的

我又对它设置了端口映射

这下总行了

完结撒花

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: "adb connect" 连接不上可能有以下几种情况: 1. 设备和计算机不在同一个网络内:确保设备和计算机连接到同一个网络,并在同一个局域网中。 2. 设备未启用 USB 调试模式:在设备的开发者选项中,启用 USB 调试模式。 3. 设备连接到计算机时未授权:当您第一次将设备连接到计算机时,您需要在设备上授权计算机的调试权限。 4. 设备驱动程序未正确安装:如果您在 Windows 操作系统上运行 adb,您需要安装设备驱动程序,以便计算机可以与设备进行通信。 5. adb 版本不兼容:如果您使用的是较旧版本的 adb,则可能无法连接到新的 Android 设备。请确保您使用的 adb 版本与设备兼容。 ### 回答2: adb connect 命令用于将计算机连接到 Android 设备上的 adb 服务器。当 adb connect 命令无法连接成功时,可能有以下几个原因: 1. 设备未启用开发者选项:在 Android 设备中,需要先启用开发者选项才能进行调试连接。在设置菜单中找到“关于手机”选项,连续点击“版本号”多次以启用开发者选项,然后返回设置菜单即可看到开发者选项。 2. USB 调试未开启:即使启用了开发者选项,但如果未开启 USB 调试选项,adb 仍然无法连接。在开发者选项中找到“USB 调试”选项并确保其已启用。 3. USB 连接模式设置错误:在 Android 设备连接到计算机后,需要将连接模式设置为 MTP(传输文件)或 PTP(图片传输)。如果选择了其他模式,adb 连接可能会失败。在设备连接到计算机后,下拉通知栏,并点击 USB 连接选项,然后选择合适的连接模式。 4. 驱动程序问题:在某些情况下,ADB 连接失败是由于计算机缺少正确的驱动程序。请检查设备制造商的官方网站,下载并安装最新的 USB 驱动程序。 5. 防火墙或安全软件阻止连接:有时,防火墙或安全软件可能会阻止计算机与 Android 设备之间的连接。暂时关闭防火墙或安全软件,然后尝试重新连接,并确保将 adb 服务器添加到防火墙的白名单中。 以上是一些常见的导致 adb connect 连接不上的原因,可以根据具体情况逐一排查,找到并解决问题。 ### 回答3: adb connect是Android Debug Bridge(ADB)工具中的一个命令,用于通过网络连接到远程设备进行调试和管理。 当使用adb connect连接不上时,可能会有以下几个原因和解决方法: 1. 设备未启用调试模式:连接设备之前,需要确保设备已启用调试模式。打开设备的开发者选项,然后启用USB调试或网络调试选项。 2. 设备和计算机不在同一网络:通过adb connect连接设备时,设备和计算机需要连接在同一网络中。确保设备和计算机连接在同一个Wi-Fi网络或使用同一个有线网络。 3. 设备和计算机之间的防火墙问题:某些防火墙设置可能会阻止adb连接。尝试暂时禁用防火墙或配置防火墙规则,以允许adb连接。 4. adb版本不兼容:确保ADB工具的版本与设备的版本兼容。如果设备运行的是较旧的Android版本,可能需要使用相应的ADB版本。 5. 设备IP地址更改:如果设备的IP地址发生了变化,连接时可能会出现问题。尝试重新获取设备IP地址,并使用新的IP地址进行连接。 6. 计算机端未安装ADB驱动程序:连接设备到计算机之前,需要确保计算机已安装正确的ADB驱动程序。下载并安装ADB驱动程序后,重新尝试连接设备。 以上是一些常见的解决方法,可以根据具体情况进行尝试。如果问题仍然存在,可能需要进一步调查设备和计算机的配置,或者参考ADB的官方文档和相关论坛寻求帮助。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值