Bagaimana cara mengatur tethering terbalik melalui USB?

125
  1. Ponsel HTC G2 saya di-root dan menjalankan Cyanogenmod 7
  2. Saya tidak punya paket data.
  3. Kadang-kadang saya ingin menghubungkan ponsel ke Internet ketika tidak ada Wi-Fi, untuk memperbarui aplikasi Market, membuat cadangan pesan SMS ke Gmail, menyinkronkan kontak baru dari Gmail, dll. Hal-hal yang tidak dapat saya lakukan dengan mode penyimpanan massal USB.
  4. Saya memiliki komputer Windows 7 Professional yang terhubung ke Internet, tetapi saya tidak diizinkan untuk mengatur jaringan Wi-Fi ad-hoc. (Jika saya melakukannya, mereka akan memperhatikan dan memburu saya.)

Apakah ada cara bagi ponsel untuk mengakses Internet melalui koneksi USB ke komputer? Jika demikian, bagaimana cara mengaturnya?

endolith
sumber
Ini terlihat seperti solusi parsial: forum.xda-developers.com/showthread.php?t=1371345
endolith

Jawaban:

46

Baru-baru ini saya menemukan SimpleRT yang bekerja sangat baik dengan Linux (dan ternyata OSX juga). Cukup aktifkan USB Debugging di perangkat Anda (tidak diperlukan root), instal APK yang ditautkan dari halaman itu di perangkat Anda dan sambungkan ke PC Anda melalui USB, lalu jalankan biner di PC Anda.

Ini akan mengatur koneksi sebagai terowongan VPN ( tun0secara default) dan perangkat Anda akan meminta Anda untuk (a) mengizinkan SimpleRT untuk membuat / mengawasi koneksi VPN serta (b) apakah akan menjalankannya ketika perangkat dikonfigurasi sebagai aksesori USB tertentu (yang dilakukan biner).

Proyek ini tidak termasuk binari pra-dibangun, jadi saya telah mengunggah yang saya buat untuk Ubuntu .


Di bawah ini adalah metode manual yang harus bekerja di Linux atau Windows: http://blog.mathieu.carbou.me/post/60454997009/reverse-usb-tethering-with-android-2-2

LANGKAH 1:

Untuk Windows: Instal driver USB dari Android SDK

Untuk Linux: Tidak ada hubungannya

LANGKAH 2:

Pada Nexus One: Sambungkan kabel USB dan aktifkan Tethering USB. Anda akan melihat antarmuka jaringan baru di linux atau windows.

LANGKAH 3:

Di Komputer Linux, siapkan jembatan:

# usb0 is the new network interface
# eth0 is the main interface connected to internet (or a gateway)

sudo ifconfig eth0 0.0.0.0  
sudo ifconfig usb0 0.0.0.0  
sudo brctl addbr br0  
sudo brctl addif br0 eth0  
sudo brctl addif br0 usb0  
sudo ifconfig br0 up  
sudo dhclient br0

Lihat https://help.ubuntu.com/community/NetworkConnectionBridge untuk mengatur jembatan

Di windows, Jembatan 2 antarmuka jaringan

LANGKAH 4:

Siapkan antarmuka USB0 telepon Anda. Anda harus memilih:

  1. Dari komputer Anda, jalankan:

    ./adb shell netcfg usb0 dhcp
  2. Atau di terminal root di ponsel Anda, ketik:

    su
    netcfg usb0 dhcp

Anda sekarang harus dapat terhubung ke Internet di ponsel Anda menggunakan koneksi internet komputer Anda.

Coba lakukan ping www.google.com untuk memastikan!

LANGKAH 5:

Untuk mematikan reverse-tethering, lepaskan dulu antarmuka di komputer Anda:

sudo ifconfig eth0 down  
sudo ifconfig usb0 ke bawah  
sudo ifconfig br0 down  
sudo brctl delbr br0  
sudo ifconfig eth0 up  
sudo dhclient eth0

Kemudian di ponsel Anda, hapus centang opsi USB Tethering!

Anda juga dapat menggunakan Windows untuk membuat jaringan WiFi (menggunakan Connectify ) dan menghubungkan perangkat Anda ke itu: http://www.nexusoneforum.net/forum/nexus-one-faq-how-tos/3133-reverse-tether-getting -internet-your-phone.html

Matius Baca
sumber
3
Di ponsel saya, "netcfg usb0 dhcp" harus "netcfg rdnis0 dhcp"
diyism
3
Pada cyanogenmod 13 saya, netcfg tidak dapat ditemukan :(
maf-soft
1
netcfg tetap hilang dari LineageOS. Anda mungkin perlu busybox. android.stackexchange.com/questions/141900/…
Camille Goudeseune
Saat menjalankan, sudo ifconfig usb0 0.0.0.0 saya mendapatkan SIOCSIFADDR: Tidak ada perangkat seperti itu usb0: ERROR saat mendapatkan bendera antarmuka: Tidak ada perangkat seperti itu
user1917769
@ user1917769 Anda harus mencari tahu apa nama perangkat Anda antarmuka USB jika itu berbeda.
Matius Baca
19

Ada beberapa kemungkinan lagi - tetapi semuanya saya tahu membutuhkan perangkat yang telah di-rooting.

Menggunakan Aplikasi Reverse Tether

Pertama, ada Aplikasi bernama Reverse Tether yang tersedia secara gratis di Play Store (ini adalah uji coba terbatas, yang membatasi waktu Anda dapat terhubung - tetapi setidaknya Anda dapat menguji dengan cara ini apakah perangkat Anda didukung sepenuhnya; versi lengkapnya adalah sekitar USD 5). Menurut sebuah artikel di AndroidAuthority , pengaturan semudah 1-2-3: Hubungkan kabel USB, jalankan aplikasi, biarkan konfigurasi otomatis (konfigurasi manual juga tersedia) - dan begitulah. Anda juga dapat membiarkannya meminta Anda untuk terhubung ketika menemukan koneksi USB.

Metode manual menggunakan Wifi

Saya tahu, ini bukan USB - tetapi untuk kelengkapan (dan memberikan alternatif) saya pikir saya dapat menambahkan ini juga:

mengutak-atik sistem dan menambal sekitar

Beberapa metode manual juga tersedia (dan dijelaskan misalnya di XDA ) - tetapi sebagian besar rumit secara teknis, dan mengharapkan Anda untuk menambal file sistem; bukan untuk pengguna sehari-hari, tetapi untuk orang yang suka teknologi.

Terminal dan pergi

Namun, metode lain yang bagus seharusnya hanya melibatkan 3 baris di terminal, dan dijelaskan dalam posting di sini , untuk terhubung ke jaringan Wifi ad-hoc. Pada dasarnya, harus seperti ini:

su
ifconfig wlan0 up
iwconfig mode auto;
iwconfig wlan0 essid "your SSID" channel 11 mode auto
ifconfig wlan0 10.0.0.x netmask 255.255.255.0

memanipulasi beberapa file konfigurasi

Metode lain yang cukup mudah juga dijelaskan di sini , dan melibatkan pengeditan wpa_supplicant.conffile satu kali (secara manual menambahkan jaringan Wifi ad-hoc Anda).

Metode Peasy mudah

Apakah saya perlu mengatakan, sungguh? Gunakan router Wifi. Bahkan ada beberapa "router perjalanan" kecil dengan harga kurang dari USD 50. Dan kemudian hubungkan ponsel Anda seperti yang Anda gunakan untuk menghubungkannya ke jaringan Wifi lainnya ...

Izzy
sumber
7

Hei! ada aplikasi untuk itu

Android Usb Port Forwarding
http://www.codeproject.com/kb/android/usbportforwarding.aspx

Saya agak bingung bagaimana cara menggunakannya, mohon informasikan jika Anda membuatnya berfungsi dengan baik.

LifeH2O
sumber
1
Ini rupanya memerlukan proxy selain komputer itu sendiri, dan hanya mendukung penelusuran web?
endolith
1
Dikatakan menggunakan port 8080, yang tidak selalu membatasi untuk browsing web, bukan? Saya pikir Market dapat menggunakan ini, namun Market menggunakan post 5228.
Steve
3

Saya tahu ini adalah jawaban yang lebih baru, tetapi perlu disebutkan.

Tidak perlu rooting!

Tidak diperlukan pemasangan aplikasi! * Yang bahkan tidak mungkin jika Anda tidak memiliki koneksi internet lainnya.

Ada sebuah proyek bernama gnirehtet .

  1. Instal adb ke PC host (Windows / Linux / Mac)
  2. Unduh file zip gnirehtet ke host
  3. Buka zipnya
  4. Jalankan perintah

Itu dia! Untuk informasi lebih lanjut, baca file readme dari gnirehtet di situs web mereka.

* = Di belakang layar itu akan menginstal file apk ke perangkat Anda melalui koneksi USB.

ffonz
sumber
Hanya jawaban non-komersial yang berfungsi penuh lintas-platform di sini. Bahkan Google Play menghubungkan (Android 9 Pie).
cdlvcdlv
2

Saya telah menemukan alat yang bagus untuk membalikkan tethering di forum xda-developer. Ini disebut Android Reverse Tethering . Ini bekerja dengan Windows dan membutuhkan telepon yang di-rooting.
Ini berfungsi dengan baik pada HTC Desire HD saya yang menjalankan MIUI v4.

Ebrahim Byagowi
sumber
Saya menggunakan perangkat lunak ini berfungsi dengan baik pada mt galaxy s duosgts7562. Saya dapat menggunakan semua hal yang berhubungan dengan internet melalui reverse tethering.
Jasser
Untuk menggunakan youtube dan aplikasi lain yang sejenis, Anda perlu mengklik tombol install hack lalu Anda siap untuk pergi.
Jasser
2

Android membalikkan langkah penambatan:

Catatan: Hanya berfungsi di ponsel Android yang di-rooting.

  1. Hubungkan perangkat Android melalui USB.
  2. Aktifkan tethering USB. Untuk melakukannya, buka Pengaturan → Lainnya ... → Penambatan & hotspot seluler → Penambatan USB .

  3. Di mesin host, koneksi tethering usb dapat dideteksi oleh manajer jaringan.
    Namanya akan seperti "Koneksi kabel 2" (atau 3).
    Anda harus mengedit "IPV4 / Metode" untuk "Dibagikan ke komputer lain".

3.1. Tanpa manajer jaringan, Anda harus melakukannya secara manual:

    $ sudo ifconfig usb0 10.42.0.1 netmask 255.255.255.0 
    $ echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

Sekarang, seperti yang dijelaskan di sini di akhir Langkah 1 Anda harus memodifikasi iptablesdengan sudo iptables -t nat -A POSTROUTING -j MASQUERADE. Tetapi ... lebih suka mengizinkan manajer jaringan untuk melakukannya jika memungkinkan.

  1. Di perangkat Android, Anda dapat mengeluarkan perintah ini menggunakan terminal di susana, atau dari mesin host Anda dengan menggunakan ADB:

    $ adb shell su -c "netcfg rndis0 dhcp"
    

    Jika tidak mendapatkan alamat IP, atau jika Anda menggunakan beberapa aplikasi yang diinginkan alamat IP statis seperti Aplikasi "Webkey untuk Android", maka tetapkan secara manual:

    $ adb shell su -c "ifconfig rndis0 10.42.0.2 netmask 255.255.255.0"
    $ adb shell su -c "route add default gw 10.42.0.1 dev rndis0"
    

Sekarang internet akan berfungsi di ponsel Android.

Untuk memeriksa, di adb shellatau terminal android, coba perintahnya ping www.google.com.

Ini bekerja untuk saya.

DreamCoder
sumber
1
Netcfg perangkat saya tampaknya lebih terbatas dan versi manual langkah 4 gagal: no such action '10.42.0.2' usage: netcfg [<interface> {dhcp|up|down}]
Matius Baca
1
@ MatthewBaca perintahnya salah, sebenarnya ifconfig rndis0 10.42.0.2 netmask 255.255.255.0, btw untuk melihat semua antarmuka netcfgsendirian. petunjuk serupa dirinci di sini
Aquarius Power
2

Untuk perangkat yang tidak di- root

Saya tahu ini adalah jawaban yang terlambat, tetapi karena semua jawaban yang ada menyarankan bahwa penambatan terbalik USB hanya mungkin jika perangkat Anda di-rooting atau memiliki dukungan sistem untuk penambatan terbalik, saya pikir akan ada baiknya menunjukkan bahwa ada satu opsi lagi:

Saya sedang mencari solusi penambatan terbalik yang akan bekerja pada perangkat saya yang tidak dicabut dan dengan MacBook, tetapi saya tidak dapat menemukan apa pun. Akhirnya, saya mulai mengembangkan solusi saya sendiri. Hasilnya adalah aplikasi yang berfungsi pada perangkat yang menjalankan Android 4.0 atau lebih tinggi di sisi klien, dan semua OS desktop utama di sisi host.

Aplikasi ReverseTethering NoRoot

Aplikasi ini tersedia di Google Play: ReverseTethering NoRoot

FD_
sumber
1
Saya tidak bisa menghubungkan ini pada Windows atau Ubuntu, tetapi sepertinya berfungsi pada OSX.
Matius Baca
@MatthewRead Kirimi saya email dan saya akan memberikan yang terbaik untuk membantunya agar berfungsi di Windows dan Ubuntu.
FD_