公网访问内网手机,利用ADB设备的神奇技巧

2025-06-19 15:49:00 4点赞 12收藏 2评论

背景

在许多场景下,从公网访问位于内网的设备颇具挑战,主要原因在于大多数用户没有独立的公网 IP 地址。

相应产品有花生壳盒子,但是这玩意限速,所以自己搭建一个比较好。比如使用FRP来搭建。

而借助 Frp 服务器进行内网穿透,不仅操作简便,而且数据传输速度快。通过内网穿透,我们可以实现诸多实用功能,如远程桌面控制、文件共享等。

内网穿透概述

内网穿透,简单来说,就是让处于内网环境的服务器或者被防火墙保护的机器,能够对外提供服务,突破网络访问的限制。

frp支持:mac、linux、win、安卓/ios

frp分为服端和客户端端:frps为服务端/frpc为客户端.

服务端配置(Frps)

1. 准备服务器

准备一台具备公网IP或者域名的云服务器,以用于搭建 Frp 服务端。
注意:需要在防火墙和云网络策略里,开通相应端口

2. 下载并部署 Frp

访问 Frp 官方发布页面 下载 Frp。下载完成后,将其上传到服务器。

公网访问内网手机,利用ADB设备的神奇技巧

压缩包里包含服务端(FRPS)和客户端(FRPC)然后进行如下操作:

# 创建并进入 frp 目录 mkdir frp && cd frp # 解压下载的文件 tar -zxvf frp_0.46.1_linux_amd64.tar.gz # 重命名文件夹 mv frp_0.46.1_linux_amd64 frp # 进入 frp 目录 cd frp # 赋予 frps 可执行权限 chmod +x frps # 查看 frps 帮助信息 ./frps --help

若执行 ./frps 时提示 -bash: ./frps: cannot execute binary file: Exec format error,则说明下载的版本与服务器架构不匹配,需要重新下载正确的版本。

注意:服务时间和手机时间一定要一致!

3. 配置服务端

修改 frps.toml (后续版本都是toml,0.51之前都是ini末尾的文件)文件的默认配置内容,将端口设置为 7000(可根据需求调整):

[common] bind_port = 7000

4. 启动与终止服务

  • 启动服务:使用以下命令在后台启动 Frp 服务,并将日志输出到 log_out.txt 文件中。

nohup ./frps > log_out.txt 2>&1 &

  • 终止服务:若需要停止服务,可先通过以下命令查找 Frp 进程的 PID,然后使用 kill 命令终止该进程。

ps -def | grep frps kill -9 [PID]

客户端配置(Frpc)

1. 开启手机调试端口

将手机通过 USB 连接到电脑,在电脑上打开终端,执行以下命令开启手机的 TCP/IP 调试端口:

公网访问内网手机,利用ADB设备的神奇技巧

adb tcpip 5555

2. 下载并配置客户端 Frp

下载适用于安卓设备的 frp_0.46.1_linux_arm64 版本。修改 frpc.ini 配置文件的内容:

[common] # Frp 服务器的公网 IP 地址 server_addr = 39.103.197.82 # Frp 服务端口 server_port = 7000 [adb] type = tcp # 本地回环地址 local_ip = 127.0.0.1 # 手机调试端口 local_port = 5555 # Frp 服务穿透的端口 remote_port = 8555

3. 上传并启动客户端

使用 adb 命令将配置好的 Frp 客户端上传到手机的 /data/local/tmp/frp 目录:

adb push frp_0.46.1_linux_arm64 /data/local/tmp/frp

上传完成后,通过 adb shell 进入手机的 shell 环境,执行以下命令启动客户端:

cd /data/local/tmp/frp chmod 755 ./frpc nohup ./frpc > log_out.txt 2>&1 &

注意事项

务必前云服务器控制台的安全组设置中,开放端口 7000 和 8555,以确保数据能够正常传输。

远程连接

在完成上述配置后,即可使用以下命令通过公网连接安卓设备:

adb connect [服务器公网 IP]:8555

若连接成功,将显示 connected to [服务器公网 IP]:8555。使用以下命令查看已连接的设备:

adb devices

输出结果应显示已连接的安卓设备信息:

公网访问内网手机,利用ADB设备的神奇技巧

List of devices attached [服务器公网 IP]:8555 device

通过以上步骤,你就可以成功地使用 ADB 连接位于公网的安卓设备,实现远程调试和控制等功能。

注意:

如果要求不高,也可以用frp for android ,具体软件配置如下图

公网访问内网手机,利用ADB设备的神奇技巧公网访问内网手机,利用ADB设备的神奇技巧

这个是安卓客户端,可以直接代替FRPC的命令版(实际上功能是一样的,但是版本较低)

展开 收起
2评论

  • 精彩
  • 最新
  • 安卓手机有些不支持好像

    校验提示文案

    提交
    内核问题,有些需要升级内核,可以用UserLAND等类似跑Linux

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
12
扫一下,分享更方便,购买更轻松