adb互联及内网穿透

15 篇文章 0 订阅
3 篇文章 0 订阅

使用adb,可以与连在本机的手机等设备连接,给手机发送命令,这是常见的应用场景,但其实adb也能够连接与其他主机相连的设备。

adb连接的原理是adb客户端程序先连接主机的adb服务程序(adb daemon),通过主机服务程序转发请求到手机设备的adb daemon,而adb客户端的命令行参数中有一个”-H“参数,使用了该参数,adb客户端不再与本机的adb服务程序连接,而是与指定主机的adb服务程序连接。此时,adb命令也就转发给与那个主机连接的设备。

要打通连接,还有下面几个问题要解决:

1、adb版本

官方发布的adb版本并不支持该功能,可能新版本已经解决该问题。输入adb不带参数会输出帮助信息,如果没有”-H“参数说明,那该版本就不支持该功能。

你可以更新版本、或者下载其他渠道的构建版本。但是如果你有编译android源码的环境,那么自己也可以编译一个新版本。通过下面的命令编译:

$ . build/envsetup.sh
$ make adb
编译windows下运行的版本,需要安装mingw

$ sudo apt-get install mingw32
$ make USE_MINGW=y adb

2、adb对外端口

adb客户端运行的时候,如果adb daemon没有运行,会自动启动adb daemon,但是通过”-H“参数连接远程主机时,不会自动启动adb daemon,需要手动在远程主机启动。另外默认方式启动的adb daemon不会侦听对外端口,只会侦听本地回环接口。需要在启动时加上”-a“参数,才会侦听对外端口。启动命令为:
$ adb server fork-server -a

3、防火墙和内网穿越

防火墙和内网穿越与adb没有直接关系,这里要说的是主机adb daemon的侦听端口是TCP端口5037,所以要端口防火墙对应端口,才能联通。同样需要在路由器上配置应用端口的转发规则,才能连接内网主机上的adb和设备。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting Horse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值