USB аркылуу Android үчүн тескери тетеринг: буйруктар, текшерүүлөр, кайтаруу
Тескери тетеринг телефондун трафигин хосттогу реле аркылуу өткөрөт. Телефондон хостко чейинки жолду куруңуз, хосттун VPN’ин циклде кармаңыз жана ар бир секирүүнү текшериңиз.
Тескери тетеринг телефондун трафигин компьютерге жылдырып, ошол компьютердин туташуусу аркылуу сыртка чыгарат. Жалгыз USB кабели муну кылбайт: телефонго анын маршруттоосун өзүнө алган кармоо кызматы, компьютерге болсо ошол пакеттерди андан ары ташуучу реле керек. Жолдо төрт секирүү бар: колдонмо, телефондогу кармоо, USB релеси жана хосттун чыгышы, жана ар биринин ээси башка. Бул колдонмо ошол жолду курат, хосттун VPN’ин тиешелүү ордуна коёт жана натыйжага ишенбестен мурун ар бир секирүүнү текшерет.
Бир нерсе иштетмес мурун секирүүлөрдү картага түшүрүңүз
Ар бир секирүү өз саясатын колдонот, ошондуктан бир четте иштеген натыйжа экинчиси жөнүндө эч нерсе айтпайды. Колдонмо максатты жана чечүүчүнү тандайт, кармоо кызматы кайсы трафик релеге кирерин чечет, реле аны хосттун сокеттерине жөнөтөт, ал эми хосттун маршруттоосу жана VPN’и максат акыры көргөн даректи аныктайт.
| 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 |
Телефондун кармоо ролун бир убакта VPN кызматынын бир гана кардары кармай алат, ошондуктан экинчи кадимки VPN колдонмосу реленин үстүнө катмарланбайды. Эгер VPN компьютерге таандык болсо, кармоо кызматы ошол компьютерге карай кирүү звеносу, ал эми алыскы туннель натыйжаны коргоп койду деген далил эмес.
Телефонго тийбестен мурун релени даярдаңыз
Gnirehtet бул архитектуранын документтелген мисалы: телефондо root жок VPN кызматынын кардары жана хостто ADB аркылуу ташылуучу реле, IPv4 үстүндө TCP менен UDP’ни колдойт. Анын кампасы долбоорго мындан ары активдүү тейлөө жок экенин да айтат, ошондуктан аны эталондук долбоор жана лаборатория үчүн иштеген курал катары кабыл алыңыз, башкарылуучу парк боюнча стандарттай турган колдоого ээ продукт катары эмес.
adb devices
adb shell getprop ro.build.version.release
gnirehtet run
Алгач adb devices иштетиңиз. Хосттун ката жоюу ачкычын кабыл албаган телефон уруксатсыз деп билдирилет жана түзмөктөгү сурам кабыл алынмайынча реле туташпайды. gnirehtet run кардарды орнотуп, релени иштетип, кармоону активдештирет; кадамдарды бөлгөн версияда анын ордуна документтелген install, relay жана start ички буйруктарын колдонуңуз.
ADB кирүүсү — түзмөктү башкаруу мамилеси, тармактык жөндөө эмес. Тек өзүңүз көзөмөлдөгөн компьютерге уруксат бериңиз жана тапшырма бүткөндө ошол уруксатты кайтарып алууну пландаңыз.
Хосттун VPN’ин жолго кайтарыңыз
Реле — хосттун кадимки процесси, ошондуктан анын мындан аркы туташуулары хосттун маршруттук таблицасына ээрчийт. Толук туннель профили аларды ташыйт; бөлүнгөн туннель ташыбашы мүмкүн. Эгер хосттун VPN’и колдонмо боюнча башкарууну колдонсо, реленин бинарын уруксат берилген топтомго кошуңуз, болбосо браузер корголгондой көрүнгөнү менен реле физикалык интерфейсти колдонууну улантат.
ip route get 1.1.1.1
curl -4 https://ifconfig.me
sudo ss -tnp | grep -i relay
Хосттун VPN’ин туташтырганга чейин жана кийин алгачкы эки буйрукту иштетиңиз. Дарек өзгөрбөсө, реле туннелде эмес, кардар терезеси эмне десе да. Тек жеке туннель коомдук максаттарды хосттун кадимки чыгышында калтырат, бул агып кетүүгө окшош, бирок сиз орноткон саясат.
Реледен өткөн трафик үчүн DNS хостто чечилет, ошондуктан аттарды кайсы сервер көрөрүн хосттун чечүүчүсү аныктайт. Телефондогу жеке DNS жөндөөсү реледен өтпөйт, ал эми телефон тараптагы чечүүчү сынагы хосттун сурамдарын сүрөттөбөйт.
Ар бир секирүүнү өз-өзүнчө текшериңиз
Ушул тартипте үч текшерүү: телефон релеге жетет, реле хосттун саясаты боюнча максатка жетет, ал эми колдонмо максатты туура чечип колдонот. Барактарды кайра жүктөп божомолдоонун ордуна биринчи ийгиликсиздикте токтоңуз.
adb shell dumpsys connectivity | grep -i -A3 vpn
adb logcat -s GnirehtetRelay:V Gnirehtet:V
Туташуу дампындагы VPN тармагынын жазуусу кармоо кызматынын активдүү экенин көрсөтөт; реленин өз журналы агымдар келерин же келбей жатканын көрсөтөт. Алардын биринде жоктугу маселени таза бөлөт: кармоо жок болсо телефон тарабы, агымдар жок болсо хост тарабы.
Хостто иштеген браузер хосттун браузеринин жолун далилдейт, реле процессинин жолун эмес. Ар бири билдирген даректерди салыштырыңыз жана жеке ресурсту да, коомдук баракты да сынаңыз, анткени тек жеке туннель бирөөнү маршруттай алып, экинчисин албай калышы мүмкүн.
Ажыратып, бузулуу жүрүм-турумун тандаңыз
Кайтаруу колдонмонун бөлүгү. Релени токтотуп алып салыңыз, кармоо кардарын өчүрүңүз жана тапшырма бүткөндө телефондун иштеп чыгуучу параметрлеринен хосттун ката жоюу уруксатын кайтарып алыңыз.
gnirehtet stop
gnirehtet uninstall
adb kill-server
Реле жоголгондо телефон эмне кылышы керектигин чечиңиз. Ачык тандоо жок болсо ал уюлдук маалыматка кайтып, маршрутташтырганга аракет кылган трафигиңизди агызышы мүмкүн, ошондуктан туташууларды бөгөттөө жүрүм-турумун же VPN саясатын атайын орнотуп, ага таянбастан мурун ажыратууну текшериңиз.
Уруксат берилген хостту, реленин версиясын, хосттун туннель саясатын жана ажыратуу кадамдарын жазыңыз. Ошол жазуу кийинки тескери тетеринг жөндөөсүн дагы бир кайра ачуу түштөн кийинкисинде эмес, кайталануучу кылат.