通过将 Android 手机连接到笔记本电脑来访问互联网?

通过将 Android 手机连接到笔记本电脑来访问互联网?

我的笔记本电脑已连接到有线调制解调器以上网。我想在我的 Android 手机上访问互联网。

我可以通过 USB 数据线将我的 Android 连接到笔记本电脑,然后启用网络共享吗?

编辑:

操作系统:Ubuntu 12.04

答案1

您需要进行反向绑定。据我所知,手机必须已 root 才能进行此操作。

以下是 XDA Developers 的说明 - 操作方法:Ubuntu USB 反向网络共享

答案2

这是我找到的最接近“一键式”的解决方案。

先决条件

  • 已取得 root 权限的 Android 设备

  • PC 上的 Root 访问权限

  • 亚洲开发银行安装在 PC 上(apt-get install android-tools-adb基于 Debian 的发行版)

  • 已启用 USB 调试在 Android 上

程序

  1. 通过 USB 将 Android 设备连接到 PC
  2. 在 Android 设备上启用 USB 网络共享(设置)
  3. 运行以下脚本:

    #!/bin/bash
    
    WAN="wlan1"       # interface providing internet connection on the PC
    LAN="usb0"        # usb interface on the PC
    AND="rndis0"      # usb interface on Android
    
    LAN_IP="10.0.0.1"
    AND_IP="10.0.0.10"
    NETMASK="255.255.255.0"
    
    DNS1="8.8.8.8"
    DNS2="8.8.4.4"
    
    sudo su -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
    sudo iptables -F -t nat
    sudo iptables -F FORWARD
    sudo iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE
    sudo iptables -A FORWARD -i $WAN -o $LAN -m state --state RELATED,ESTABLISHED -j ACCEPT
    sudo iptables -A FORWARD -i $LAN -o $WAN -j ACCEPT
    
    sudo ifconfig $LAN $LAN_IP netmask $NETMASK up
    
    adb shell su -c busybox ifconfig $AND $AND_IP netmask $NETMASK up
    adb shell su -c busybox route add default gw $LAN_IP
    adb shell su -c ndc resolver setifdns $AND "" $DNS1 $DNS2
    adb shell su -c ndc resolver setdefaultif $AND
    
    adb shell ping -c4 $DNS1
    adb shell ping -c4 google.com
    
  4. 完毕!

笔记

  • 您可能需要调整接口名称LANWANAND

  • 我发现有些应用程序无法识别网络连接,或者只能部分工作。我能够使用以下方法欺骗它们:虚假 Wifi 连接模块Xposed框架

相关内容