Siz hotspotni yoqdingiz, VPNni uladingiz, ilovada port ochdingiz, ammo boshqa qurilma hali ham ulana olmayapti. Yetishmayotgan qism deyarli hech qachon portning o'zi emas. Savol tinglash soketi qaysi mashinaga tegishli va boshqa qurilma qaysi manzilga yetib borishi kerakligida. Men buni telefondan tashqariga qarab ko'rib chiqaman, chunki siz turgan ekran uchta kirish nuqtasidan qaysi birini haqiqatda sinayotganingizni aytadi.

Xizmat haqiqatda ishlaydigan joydan boshlang

Ulanishni qabul qilishi kerak bo'lgan ilovani oching va uning o'z holat sahifasini o'qing. Agar u tinglayotganini aytsa, u bog'langan manzilni yozib qo'ying, chunki aynan shu bitta tafsilot quyidagi holatlarning ko'pini hal qiladi. 127.0.0.1 ga bog'langan ilovaga faqat telefondan yetib borish mumkin va buni hech qanday hotspot mijozi, operator xaritasi yoki VPN chiqishi o'zgartirmaydi.

Keyin xizmatni qaysi qurilma ishga tushirishini tasdiqlang. Bu yo telefon, va u holda soket o'sha ilovaga tegishli, yoki hotspot orqasidagi noutbuk, va u holda tinglovchi va uning xavfsizlik devori noutbukka tegishli, telefon esa faqat paketlarni uzatadi. Bular turli egalarga ega turli dizaynlar va ularni aralashtirish bir joyda ochilgan portning boshqa joyda hech narsa qilmasligi sababidir.

Debag qilinadigan yig'ilmada adb shell soketlarni /proc/net/tcp orqali ro'yxatga olishi mumkin, lekin ko'pchilik uchun ilovaning o'z holati halol manbadir. Bu siz kutmagan manzilda ilova ochgan soketni sinash tuzog'idan ham saqlaydi.

Birinchi kirish nuqtasi: hotspotdagi boshqa qurilma

Bu mahalliy holat va uni to'g'ri bajarish eng oson. Boshqa qurilma o'z shlyuzi deb ko'radigan manzilda, ilova tinglayotgan portda telefonga yetib boradi va hotspotdan tashqarida hech narsa ishtirok etishi shart emas. Operator xaritasi kerak emas va hech qanday provayder funksiyasi mavjud bo'lishi shart emas, chunki trafik hech qachon mahalliy segmentdan chiqmaydi.

Ikki narsa buni buzadi. Ilova loopbackka bog'langan yoki telefondagi mijoz siyosati mahalliy ulanishga ruxsat bermaydi. Agar ilova autentifikatsiya qilsa, oddiy TCP ulanish o'rniga ilovaning o'z protokoli bilan sinang, chunki qabul qilib keyin rad etadigan tinglovchi uzoqdan yopiq portga o'xshab ko'rinadi.

Agar xizmat telefon bilan ulangan noutbukda ishlasa, telefonning hotspot manzili umuman manzil emas. Sizga hotspot interfeysidagi noutbuk manzili va noutbukdagi tinglovchi kerak, telefon esa endi uzatishdan boshqa hech narsaga ega emas.

Ikkinchi kirish nuqtasi: operator yo'li

Telefonga mobil tarmoqdan yetib borish boshqa muammo va ko'pincha IPv4 uchun u shunchaki ishlamaydi. Operatorlar apparatlarni umumiy tarjima orqasiga qo'yadi, shuning uchun RFC 6598 aynan shunday tartib uchun umumiy manzil oralig'ini ajratgan. So'ralmagan kiruvchi ulanishning kirib keladigan xaritasi yo'q va hech qanday mahalliy konfiguratsiya uni yaratmaydi, chunki tarjimon sizning qurilmangiz emas.

Root ruxsati ham buni o'zgartirmaydi. U sizga telefon stekini boshqarish imkonini beradi, operator tarjimonini emas, va aksini va'da qiladigan usullar odatda operator hech qachon bermagan ommaviy manzilni nazarda tutadi. Operator ommaviy IPv6 prefiksini taklif qiladigan joyda kiruvchi yo'l bo'lishi mumkin, ammo tinglovchi va telefonning xavfsizlik devori biror narsa javob berishidan oldin hali ham ongli ruxsatga muhtoj.

Uchinchi kirish nuqtasi: VPN chiqishi

Tunnel ishlab turganda veb-sayt xabar qiladigan manzil qoplangan chiquvchi trafik uchun chiqish manzilidir. Bu sizning nomingizdan kiruvchi ulanishlarni qabul qiladigan manzil bilan bir xil narsa emas. Uni kiruvchi uchun ishlatish provayder haqiqatan taklif qiladigan funksiyani talab qiladi, masalan uzatilgan port yoki hisobingizga bog'langan kiruvchi xarita, shuningdek chiqishdan mijozgacha ishlatiladigan yo'l.

Mahalliy ruxsat qoidasi bunday xaritani yarata olmaydi. U ilovaning javoblari qaysi yo'ldan o'tishini o'zgartirishi mumkin va bu ilova tunneldan chiqarilganda muhim: so'rov va javob turli tarmoq kontekstlarida tugashi mumkin va ulanish xavfsizlik devori muammosiga o'xshab muvaffaqiyatsiz bo'ladi.

Bitta yo'lni boshidan oxirigacha sinang, keyin egasini nomlang

Sinashdan oldin kortejni yozing: mo'ljallangan manba, manzilning yo'nalishi, transport, port va tinglash soketi egasi bo'lgan mashina. Agar biron element taxmin bo'lsa, sinov sizga foydali hech narsa aytmaydi va oxirida birinchisini tushuntirish uchun ikkinchi qatlamni o'zgartirasiz.

Keyin o'sha bitta ruxsat etilgan yo'lni ilovaning autentifikatsiyasi buzilmagan holda sinang. Noaniq ommaviy manzil tekshiruvi javob berishi uchun keng tinglovchini e'lon qilish yoki aloqasiz boshqaruvlarni o'chirishdan saqlaning, chunki ikkala o'zgarish ham sinovdan uzoq yashaydi va hech biri dizayn ishlashini isbotlamaydi.

Androidning tethering quyi tizimi pastga yo'naltirilgan trafikni o'z yo'lidan uzatadi, oddiy ilova VPN ushlashidan alohida, shuning uchun ulangan noutbukda ishlaydigan brauzer telefondagi xizmatga kiruvchi ruxsat haqida hech narsa demaydi. Buni ishlaydi deb atashdan oldin:

  • Tinglash soketi mo'ljallangan hamkor yetib boradigan manzilda, loopbackda emas.
  • Hamkor o'sha kirish nuqtasiga tegishli manzilni ishlatmoqda, holat sahifasidagi chiqish manzilini emas.
  • Operator yoki provayder tomonidagi har qanday xarita qo'llab-quvvatlanadigan funksiya, siz mahalliy qo'shgan qoida emas.
  • So'rov va javob bir xil tarmoq kontekstidan o'tadi va ilovaning autentifikatsiyasi hali ham o'tadi.

O'xshash maqolalar