Есть ли способ поделиться интернет-соединением моего компьютера с моим Android через USB?

16

Есть ли способ предоставить доступ к интернет-соединению моего компьютера с Android 2.2.1 с помощью телефонного кабеля для передачи данных?

Флорин
источник
Что ты имеешь в виду? Вы пытаетесь поделиться подключением с привязанного телефона Android?
Оли
Нет, я хочу поделиться интернет-соединением компьютера с моим телефоном Android. Так что наоборот, чем привязывать.
Панмари
Может быть, вы могли бы объяснить, что именно вы пытаетесь сделать. Зачем вам когда-либо хотеть использовать интернет вашего ноутбука на вашем телефоне?
user606723
2
@ user606723 Существует множество причин, по которым вы хотите сделать это - например, получить более быстрый или дешевый интернет-сервис, хотите захватить или протестировать MITM для пакетов с телефона и т. д. В справке по телефону отмечается, что в Windows это выполняется через «HTP-синхронизацию». , который вы можете скачать с HTC.com
nealmcb
2
Это называется обратным привязанием.
BigSack

Ответы:

10

Ну, это можно сделать с рутированными 2.2+ устройствами. Это не просто

Прежде чем я начну, вам, возможно, будет проще купить дешевый USB-адаптер Wi-Fi и поделиться через него подключением к телефону. Это намного более простая процедура и не требует рута на телефоне.

Но вот как это сделать через USB:

  1. Переведите телефон в режим отладки по USB (в настройках → приложения → usb). Подключите телефон.

  2. Затем вам нужно включить USB-модем на телефоне. На моем SGS2 это находится в Настройки → Беспроводная связь и сеть → Модем и точки доступа.

    На этом этапе к компьютеру будет добавлено новое сетевое устройство ( usb0).

  3. Запустите следующие команды, чтобы соединить eth0 и ваше новое USB-соединение.

    sudo apt-get install bridge-utils
    
    sudo brctl addbr br0
    
    for i in eth0 usb0; do
        sudo ifconfig $i 0.0.0.0
        sudo brctl addif br0 $i
    done
    
    sudo ifconfig br0 up
    sudo dhclient br0 # might take a few seconds
    
  4. Затем загрузите терминал на свой телефон (или используйте оболочку SDK adb) и отключите его (как root):

    netcfg usb0 dhcp
    

Чтобы изменить все это:

for i in eth0 usb0 br0; do sudo ifconfig $i down; done
sudo brctl delbr br0
sudo ifconfig eth0 up
sudo dhclient eth0

Чтобы упростить задачу, есть несколько приложений, которые выполняют функции телефона (например, ASProxy), но вам все еще нужно устройство с рутированным 2.2. Компьютерная сторона вещей может быть сценарием. Вы можете даже подключить udev, чтобы отключить эти команды, когда вы подключаете телефон (и разрушаете мост, когда вы отключаете его).

Оли
источник
Спасибо за ваш быстрый ответ =) Хотелось бы, чтобы был более простой способ :(
Панмари
См. Эту страницу для получения более подробной информации и комментариев к этому виду «обратной привязки»: blog.mycila.com/2010/06/… Я удивлен, что это так сложно, и предположим, что существует более простой метод только для Ubuntu, предположительно с участием настройка ubuntu в качестве маршрутизатора через FORWARD_IPV4 = true и т. д.
nealmcb
Я не получаю usb0интерфейс, появляющийся на моем ноутбуке (использующий 12.04), есть идеи?
Хэмиш Даунер
Это приложение для обратной привязки и их страница справки помогли мне успешно это сделать.
Анвар
2

Есть несколько старых заметок о Reverse USB Tethering с Android 2.2 с Nexus One.

Я планировал попробовать это без рута моего HTC DHD.
У него есть опция Internet Pass-through, которая прекрасно работает в Windows,
поэтому мне интересно, можно ли ее использовать в Ubuntu на тех же линиях ...
Еще не пробовал - хотелось бы узнать о любом опыте из первых рук.

Требования из этих заметок,

Android 2.2 (или более старая версия с приложением для привязки к руту)
ADB из Android SDK, или Android 2.2 с рутом и терминалом в режиме root

Nik
источник