Czy istnieje sposób na udostępnienie połączenia internetowego mojego komputera z Androidem przez USB?

16

Czy istnieje sposób na udostępnienie mojego połączenia internetowego na komputerze z Androidem 2.2.1 za pomocą kabla do transmisji danych telefonu?

Florin
źródło
Co masz na myśli Próbujesz udostępnić połączenie z telefonu z systemem Android na uwięzi?
Oli
Nie, chcę udostępnić połączenie internetowe komputera mojemu telefonowi z systemem Android. A więc na odwrót niż tethering.
panmari,
Może mógłbyś dokładnie wyjaśnić, co próbujesz zrobić. Dlaczego miałbyś kiedykolwiek chcieć korzystać z Internetu laptopa na swoim telefonie?
user606723,
2
@ user606723 Istnieje wiele powodów, dla których warto to zrobić - np. uzyskanie szybszej lub tańszej usługi internetowej, chęć przechwycenia lub przetestowania MITM dla pakietów z telefonu itp. Pomoc telefonu zauważa, że ​​w systemie Windows odbywa się to za pomocą „synchronizacji HTP” , którą można pobrać ze strony HTC.com
nealmcb
2
Nazywa się to Tetheringiem wstecznym.
BigSack,

Odpowiedzi:

10

Cóż, można to zrobić na zrootowanych urządzeniach 2.2+. To nie jest proste.

Zanim zacznę, może być łatwiej kupić tani klucz USB Wi-Fi i udostępnić połączenie przez telefon. Jest to znacznie prostsza procedura i nie wymaga rootowania w telefonie.

Ale oto jak to zrobić przez USB:

  1. Przełącz telefon w tryb debugowania USB (w ustawieniach → aplikacje → usb). Podłącz telefon.

  2. Następnie musisz włączyć tethering przez USB w telefonie. W moim SGS2 znajduje się w Ustawieniach → Sieć bezprzewodowa i sieć → Tethering i przenośne punkty dostępu.

    W tym momencie do komputera zostanie dodane nowe urządzenie sieciowe ( usb0).

  3. Uruchom następujące polecenia, aby połączyć interfejs eth0 i nowe połączenie 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. Następnie załaduj terminal do telefonu (lub użyj powłoki adb SDK) i uruchom (jako root):

    netcfg usb0 dhcp
    

Aby to wszystko odwrócić:

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

Aby nieco to ułatwić, istnieje kilka aplikacji, które wykonują czynności po stronie telefonu (na przykład ASProxy), ale nadal potrzebujesz zrootowanego urządzenia 2.2. Po stronie komputera można pisać skrypty. Możesz nawet podłączyć się do udev, aby wystrzelić te polecenia po podłączeniu telefonu (i zniszczyć most po odłączeniu go).

Oli
źródło
Dzięki za szybką odpowiedź =) Chciałbym, ale był łatwiejszy sposób :(
panmari
Zobacz tę stronę, aby uzyskać więcej informacji i komentarzy na temat tego rodzaju „odwrotnego tetheringu”: blog.mycila.com/2010/06/… Jestem zaskoczony, że jest tak trudny i zakładam, że istnieje prostsza metoda tylko dla ubuntu, prawdopodobnie obejmująca konfigurowanie Ubuntu jako routera przez FORWARD_IPV4 = true itd.
nealmcb
Nie mam usb0interfejsu pojawiającego się na moim laptopie (używając 12.04) jakieś pomysły?
Hamish Downer
Ta aplikacja do odwrotnego tetheringu i strona pomocy pomogły mi to zrobić.
Anwar
2

Jest kilka starych uwag na temat odwrotnego tetheringu USB w Androidzie 2.2 z Nexusem One.

Planowałem wypróbować to bez rootowania mojego HTC DHD.
Ma opcję Internet Pass-through, która działa świetnie w systemie Windows,
więc zastanawiam się, czy można tego użyć na tych samych liniach przez Ubuntu ...
Jeszcze nie wypróbowano - chciałbym wiedzieć o doświadczeniach z pierwszej ręki.

Wymagania zawarte w tych notatkach to:

Android 2.2 (lub starsza wersja z aplikacją do rootowania)
ADB z Android SDK lub zrootowany Android 2.2 z terminalem w trybie root

nik
źródło