手机数据受限?看这绕过方法!

5次阅读
没有评论

解决方案:如何绕过手机数据限制,创建本地动态应用级端口转发

问题背景

您正在使用移动设备与个人电脑建立SSH连接,以实现局域网或广域网中设备之间的代理服务。您的问题是由于某些原因无法直接在手机上操作SSHD服务。

相关技术及工具

  • Termux:一个终端模拟器和Linux环境,在Android应用商店即可获取。
  • SimpleSSHD:一个开源的SSH服务器,可在F-Droid等应用市场中下载安装。https://f-droid.org/en/packages/org.galexander.sshd/
  • adb(Android调试桥):通过USB线连接设备及操作命令行指令。

方案步骤

方法一:使用Termux直接启SSH服务

  1. 在您的手机上安装Termux应用。
  2. 打开Termux,使用pkg update && pkg upgrade更新软件包列表和系统库,并在必要时进行升级。运行pkg install openssh来确保您拥有最新的openssh服务。
  3. 使用命令 ssh -D [本地监听端口] [服务器IP地址]:[SSH端口号] 来创建一个动态应用级代理,例如:ssh -D 8090 127.0.0.1:22。这个例子中的8090是从电脑接入手机的本地监听端口。
  4. 在您的个人计算机上设置Socks5代理为127.0.0.1:8090连接到手机。

方法二:使用SimpleSSHD创建动态应用级端口转发

  1. 安装Termux并打开它。运行 pkg install openssh 来安装OpenSSH服务。
  2. 使用命令 apt-get install simple-sshd 下载和安装SimpleSSHD服务,这可能需要一些时间。
  3. 运行 simple-sshd -D 8090 [服务器IP地址]:[端口号] 创建动态Socks5端口转发。如果您的SSH端口是22,请仅使用简单的 IP 地址和端口号,例如:simple-sshd -D 8090 127.0.0.1:22
  4. 在电脑上设置代理设置为 SOCKS5://127.0.0.1:8090 并尝试使用 curl 或其他工具进行测试。

方法三:使用adb命令并配合SimpleSSHD

  1. 确保您已经通过USB线将设备与电脑连接,并打开了开发者选项中的“USB调试”。
  2. 在您的电脑上安装ADB,运行sudo apt install adb。确保ADB已正确设置为可以从命令行访问。
  3. 使用 adb forward tcp:2222 tcp:2222 将计算机的端口2222指向设备上的相同端口,以支持SSH服务。
  4. 打开Termux, 启动SimpleSSHD 服务,并按照以上步骤三的方法配置SSH连接。

结果验证

完成上述任一方法后,在您的电脑上使用 curl --socks5 127.0.0.1:8090 https://myip.is 命令进行测试,以确保成功的代理转发已建立。这将是您绕过手机数据限制的基本成功标志。

小贴士

  • 注意某些情况下您的SIM卡供应商可能不支持使用广域网IP直接连接SSHD。
  • 使用一个可靠的VPN来解决此问题。确保设备上的应用没有因其他设置(如防火墙)导致的冲突。
  • 若是在使用过程中遇到TCP并行和UDP支持相关的问题,请考虑使用更专业或自定义的服务方案。

案例场景适用范围

该解决方案适用于需要建立动态Socks5代理服务并通过手机网络访问受限资源的情况,尤其针对低带宽需求的应用。例如:网页浏览、简单在线文件传输等任务。

正文完