Tethering songsang untuk Android melalui USB: arahan, pemeriksaan, pembatalan
Tethering songsang menghantar trafik telefon melalui relai pada hos. Bina laluan dari telefon ke hos, kekalkan VPN hos dalam gelung dan sahkan setiap lompatan.
Tethering songsang memindahkan trafik telefon ke komputer dan mengeluarkannya melalui sambungan komputer itu. Kabel USB sahaja tidak melakukannya: telefon memerlukan perkhidmatan tangkapan yang mengambil alih penghalaannya, dan komputer memerlukan relai yang membawa paket itu ke hadapan. Laluan ini mempunyai empat lompatan: aplikasi, tangkapan pada telefon, relai USB dan jalan keluar hos, dan setiap satu mempunyai pemilik berbeza. Buku panduan ini membina laluan itu, meletakkan VPN hos di tempat yang betul dan memeriksa setiap lompatan sebelum anda mempercayai hasilnya.
Petakan lompatan sebelum menjalankan apa-apa
Setiap lompatan menggunakan dasarnya sendiri, sebab itu hasil yang berfungsi di satu hujung tidak berkata apa-apa tentang hujung yang lain. Aplikasi memilih destinasi dan penyelesai, perkhidmatan tangkapan menentukan trafik mana yang masuk ke relai, relai memajukan ke soket hos, dan penghalaan serta VPN hos menentukan alamat yang akhirnya dilihat destinasi.
| Hop | Owner | What it decides |
|---|---|---|
| Application request | The app | Destination, resolver, address family |
| Capture service | Phone VpnService app | Which traffic enters the relay at all |
| ADB relay | Host process | Forwarding phone flows to host sockets |
| Host egress | Host routing and VPN | Exit address and host policy |
Hanya satu klien perkhidmatan VPN boleh memegang peranan tangkapan telefon pada satu masa, jadi aplikasi VPN biasa kedua tidak bertindan di atas relai. Jika VPN milik komputer, perkhidmatan tangkapan ialah pautan akses ke arah komputer itu, bukan bukti bahawa terowong jauh sudah melindungi hasilnya.
Sediakan relai sebelum menyentuh telefon
Gnirehtet ialah contoh berdokumen bagi seni bina ini: klien perkhidmatan VPN tanpa root pada telefon serta relai yang dibawa melalui ADB pada hos, menyokong TCP dan UDP di atas IPv4. Repositorinya juga menyatakan projek ini tidak lagi diselenggara secara aktif, jadi anggap ia sebagai reka bentuk rujukan dan alat kerja untuk makmal, bukan produk bersokongan untuk diseragamkan merentas armada terurus.
adb devices
adb shell getprop ro.build.version.release
gnirehtet run
Jalankan adb devices dahulu. Telefon yang belum menerima kunci nyahpepijat hos dilaporkan sebagai tidak dibenarkan, dan relai tidak akan menyambung sehingga gesaan pada peranti diterima. gnirehtet run memasang klien, memulakan relai dan mengaktifkan tangkapan; pada versi yang memisahkan langkah, gunakan subperintah install, relay dan start yang berdokumen sebagai gantinya.
Akses ADB ialah hubungan kawalan peranti, bukan tetapan rangkaian. Benarkan hanya komputer yang anda kawal, dan rancang untuk membatalkan kebenaran itu apabila tugas selesai.
Letakkan semula VPN hos dalam laluan
Relai ialah proses hos biasa, jadi sambungan seterusnya mengikut jadual penghalaan hos. Profil terowong penuh membawanya; terowong terbahagi mungkin tidak. Jika VPN hos menggunakan kawalan setiap aplikasi, tambahkan binari relai ke set yang dibenarkan, jika tidak relai terus menggunakan antara muka fizikal sementara pelayar kelihatan dilindungi.
ip route get 1.1.1.1
curl -4 https://ifconfig.me
sudo ss -tnp | grep -i relay
Jalankan dua arahan pertama sebelum dan selepas menyambung VPN hos. Jika alamat tidak berubah, relai tidak berada pada terowong, apa pun kata tetingkap klien. Terowong persendirian sahaja juga meninggalkan destinasi awam pada jalan keluar biasa hos, yang kelihatan seperti kebocoran tetapi itulah dasar yang anda tetapkan.
DNS diselesaikan pada hos untuk trafik melalui relai, jadi penyelesai hos menentukan pelayan mana yang melihat nama itu. Tetapan DNS persendirian pada telefon tidak dibawa merentas relai, dan ujian penyelesai di sebelah telefon tidak akan menerangkan carian hos.
Sahkan setiap lompatan secara berasingan
Tiga pemeriksaan, dalam susunan ini: telefon sampai ke relai, relai sampai ke destinasi di bawah dasar hos, dan aplikasi menyelesaikan serta menggunakan destinasi itu dengan betul. Berhenti pada kegagalan pertama daripada memuat semula halaman dan meneka.
adb shell dumpsys connectivity | grep -i -A3 vpn
adb logcat -s GnirehtetRelay:V Gnirehtet:V
Entri rangkaian VPN dalam dump konektiviti menunjukkan perkhidmatan tangkapan aktif; log relai sendiri menunjukkan sama ada aliran tiba. Ketiadaan dalam salah satu daripadanya membahagikan masalah dengan bersih: tiada tangkapan bermakna sebelah telefon, tiada aliran bermakna sebelah hos.
Pelayar yang berfungsi pada hos membuktikan laluan pelayar hos, bukan laluan proses relai. Bandingkan alamat yang dilaporkan oleh setiap satu, dan uji sumber persendirian serta halaman awam, kerana terowong persendirian sahaja boleh menghalakan satu dan bukan yang lain.
Bongkar dan pilih tingkah laku kegagalan
Pembatalan ialah bahagian buku panduan. Hentikan dan buang relai, nyahpasang klien tangkapan, dan batalkan kebenaran nyahpepijat hos dari pilihan pembangun telefon apabila tugas selesai.
gnirehtet stop
gnirehtet uninstall
adb kill-server
Tentukan apa yang telefon patut lakukan apabila relai hilang. Tanpa pilihan yang jelas ia mungkin kembali ke data mudah alih dan membocorkan trafik yang anda cuba halakan, jadi tetapkan tingkah laku menyekat sambungan atau dasar VPN dengan sengaja dan uji pembongkaran sebelum bergantung padanya.
Catat hos yang dibenarkan, versi relai, dasar terowong hos dan langkah pembongkaran. Catatan itulah yang menjadikan persediaan tethering songsang seterusnya boleh diulang dan bukannya satu lagi petang menemui semula.