Android üçün USB ilə tərs tethering: əmrlər, yoxlamalar, geri qaytarma
Tərs tethering telefon trafikini host relay vasitəsilə ötürür. Telefon-host yolunu qurun, host VPN-ini dövrədə saxlayın və hər addımı yoxlayın.
Tərs tethering telefonun trafikini kompüterə köçürür və kompüterin bağlantısı ilə çıxarır. Yalnız USB kabeli bunu etmir: telefonun marşrutlaşdırmanı öz üzərinə götürən tutma xidmətinə, kompüterin isə həmin paketləri irəli aparan relay-ə ehtiyacı var. Yolda dörd addım var: tətbiq, telefon tutması, USB relay və host çıxışı, və hər birinin öz sahibi var. Bu təlimat həmin yolu qurur, host VPN-ini lazımi yerə qoyur və nəticəyə güvənməzdən əvvəl hər addımı yoxlayır.
Heç nə işə salmazdan əvvəl addımları xəritələyin
Hər addım öz siyasətini tətbiq edir, buna görə bir tərəfdə işləyən nəticə digər tərəf haqqında heç nə demir. Tətbiq təyinat və həlledici seçir, tutma xidməti relay-ə hansı trafikin girəcəyini müəyyən edir, relay host soketlərinə ötürür, host-un marşrutlaşdırması və VPN-i isə təyinatın nəhayət gördüyü ünvanı müəyyən edir.
| 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 |
Telefonun tutma rolunu eyni anda yalnız bir VPN xidməti müştərisi tuta bilər, ona görə ikinci adi VPN proqramı relay-in üstünə yığılmır. Əgər VPN kompüterə aiddirsə, tutma xidməti həmin kompüterə doğru giriş halqasıdır, uzaq tunelin nəticəni artıq qoruduğunun sübutu deyil.
Telefona toxunmazdan əvvəl relay-i hazırlayın
Gnirehtet bu arxitekturanın sənədləşdirilmiş nümunəsidir: telefonda root tələb etməyən VPN xidməti müştərisi və host-da ADB ilə daşınan relay, IPv4 üzərində TCP və UDP-ni dəstəkləyir. Anbarı həmçinin bildirir ki, layihə artıq aktiv şəkildə saxlanmır, ona görə ona istinad dizaynı və laboratoriya üçün işlək alət kimi baxın, idarə olunan park üzrə standartlaşdırılacaq dəstəklənən məhsul kimi deyil.
adb devices
adb shell getprop ro.build.version.release
gnirehtet run
Əvvəlcə adb devices işə salın. Host-un sazlama açarını qəbul etməmiş telefon icazəsiz kimi bildirilir və cihazdaki sorğu qəbul edilməyincə relay qoşulmur. gnirehtet run müştərini quraşdırır, relay-i işə salır və tutmanı aktivləşdirir; addımları ayıran versiyada əvəzinə sənədləşdirilmiş install, relay və start alt əmrlərindən istifadə edin.
ADB girişi cihaz nəzarəti münasibətidir, şəbəkə parametri deyil. Yalnız nəzarət etdiyiniz kompüterə icazə verin və tapşırıq bitdikdə həmin icazəni ləğv etməyi planlaşdırın.
Host VPN-ini yola qaytarın
Relay adi host prosesidir, ona görə onun sonrakı bağlantıları host-un marşrut cədvəlinə uyğun gedir. Tam tunel profili onları daşıyır; parçalanmış tunel isə daşıya bilməz. Əgər host VPN-i hər tətbiq üzrə nəzarətlər istifadə edirsə, relay binasını icazəli çoxluğa əlavə edin, əks halda relay fiziki interfeysi işlətməyə davam edərkən brauzer qorunmuş görünür.
ip route get 1.1.1.1
curl -4 https://ifconfig.me
sudo ss -tnp | grep -i relay
Host VPN-i qoşmadan əvvəl və sonra ilk iki əmri işə salın. Ünvan dəyişmirsə, relay tuneldə deyil, müştəri pəncərəsi nə deyirsə də. Yalnız özəl tunel həmçinin publik təyinatları adi host çıxışında qoyur; bu sızma kimi görünür, amma sizin konfiqurasiya etdiyiniz siyasətdir.
Relay-dən keçən trafik üçün DNS host-da həll olunur, ona görə adları hansı serverin görəcəyini host-un həlledicisi müəyyən edir. Telefondaki özəl DNS parametri relay boyunca keçmir və telefon tərəfindəki həlledici testi host-un axtarışlarını təsvir etməyəcək.
Hər addımı ayrıca yoxlayın
Bu ardıcıllıqla üç yoxlama: telefon relay-ə çatır, relay host siyasəti çərçivəsində təyinat yerinə çatır və tətbiq təyinatı düzgün həll edib istifadə edir. Səhifələri yenidən yükləyib təxmin etmək əvəzinə ilk uğursuzluqda dayanın.
adb shell dumpsys connectivity | grep -i -A3 vpn
adb logcat -s GnirehtetRelay:V Gnirehtet:V
Bağlantı detallarında VPN şəbəkə qeydi tutma xidmətinin aktiv olduğunu göstərir; relay-in öz jurnalı axınların gəlib-gəlmədiyini göstərir. Onlardan birinin olmaması problemi təmiz ayırır: tutma yoxdursa telefon tərəfi, axın yoxdursa host tərəfi.
Host-da işləyən brauzer host brauzerinin yolunu sübut edir, relay prosesinin yolunu deyil. Hər birinin bildirdiyi ünvanları müqayisə edin və özəl resursu da, publik səhifəni də yoxlayın, çünki yalnız özəl tunel birini marşrutlaşdıra bilər, digərini yox.
Sökün və uğursuzluq davranışını seçin
Geri qaytarma təlimatın bir hissəsidir. Relay-i dayandırıb silin, tutma müştərisini silin və tapşırıq bitdikdə telefonun tərtibatçı seçimlərindən host-un sazlama icazəsini ləğv edin.
gnirehtet stop
gnirehtet uninstall
adb kill-server
Relay yox olduqda telefonun nə etməli olduğunu qərarlaşdırın. Açıq seçim olmadan mobil məlumatlara düşə və yönləndirməyə çalışdığınız trafiki sızdıra bilər, ona görə bloklaşdırma davranışını və ya VPN siyasətini qəsdən qurun və sökülməni ona güvənməzdən əvvəl yoxlayın.
İcazə verilmiş host-u, relay versiyasını, host tunel siyasətini və sökülmə addımlarını qeyd edin. Bu qeyd növbəti tərs tethering quraşdırmasını yenidən kəşfin daha bir günortası əvəzinə təkrarlana bilən edir.