Charles Proxy — bu nima, sozlash va HTTPS trafigini ushlash

Muallif: IT Sectr Nashr etilgan: 2026-05-08 O'qish vaqti: 8 daq

Charles Proxy — HTTP/HTTPS trafigini disk raskadrovka qilish uchun ko'p platformali proksi-server bo'lib, ishlab chiquvchilar tomonidan tarmoq so'rovlarini ushlash, ko'rish va o'zgartirish uchun ishlatiladi. Karl von Randow, asbob yaratuvchisi (2025) ma'lumotlariga ko'ra, Charles 2004 yildan beri dunyo bo'ylab 50 000 dan ortiq kompaniyalarda qo'llaniladi. Proksi WiFi orqali mobil qurilmalardan trafikni ushlash, ildiz sertifikatini o'rnatish bilan HTTPS-proksilash va API tahlili uchun keng vositalar to'plamini qo'llab-quvvatlaydi.

Asosiy fikrlar

  • Charles Proxy — kengaytirilgan disk raskadrovka imkoniyatlari bilan tarmoq trafigini ushlash va tahlil qilish uchun HTTP/HTTPS proksi-server
  • HTTPS-proksilash qurilmada Charles ildiz sertifikatini o'rnatish orqali amalga oshiriladi, bu shifrlangan trafikni ko'rish imkonini beradi
  • Rewrite va Breakpoints — server yoki mijoz kodini o'zgartirmasdan so'rov va javoblarni joyida o'zgartirish uchun kuchli vositalar
  • Map Local va Map Remote test qilish uchun tarmoq resurslarini mahalliy fayllar yoki muqobil serverlar bilan almashtirish imkonini beradi
  • Throttle — yomon aloqa sharoitida ilova harakatini tekshirish uchun sekin va beqaror tarmoq ulanishlarini simulyatsiya qilish

Charles Proxy nima?

Charles Proxy — mijoz va server o'rtasida vositachi sifatida ishlaydigan HTTP-proksi va HTTP-monitor. Barcha so'rov va javoblar Charles orqali o'tadi, bu ularning mazmunini ko'rish, tuzilmani tahlil qilish, ma'lumotlarni real vaqtda o'zgartirish va turli tarmoq sharoitlarini simulyatsiya qilish imkonini beradi. Windows, macOS va Linux uchun mavjud.

Tarix va pozitsiyalash

Charles Proxy 2004 yilda Karl fon Randow tomonidan yaratilgan va tarmoq trafigini disk raskadrovka qilish uchun eng mashhur vositalardan biri bo'lib qolmoqda. Bepul alternativlardan farqli o'laroq, Charles 30 kunlik sinov muddati bilan pulli litsenziyani taklif qiladi. Asbob HTTP kommunikatsiyalari ustidan to'liq nazoratga muhtoj bo'lgan mobil ilova ishlab chiquvchilari, veb-ishlab chiquvchilar va QA muhandislari uchun professional yechim sifatida joylashtirilgan.

Platforma mosligi

Charles kompyuterda tizim proksisi sifatida ishlaydi va bir xil tarmoqdagi istalgan qurilmadan trafikni ushlashi mumkin: Android, iOS, simulyatorlar, emulyatorlar, veb-brauzerlar va IoT qurilmalari. HTTPS ni ushlash uchun har bir qurilmada Charles ildiz sertifikatini o'rnatish kerak. Trafik HTTP/1.1 va HTTP/2 (qisman) qo'llab-quvvatlanadi. HTTP/3 (QUIC) ushlash darajasida qo'llab-quvvatlanmaydi.

Charles Proxy qanday ishlaydi

Charles MITM (Man-in-the-Middle) proksi printsipi asosida ishlaydi: mijoz Charles orqali so'rov yuborganda, asbob bu so'rovni ushlaydi, maqsadli serverga yo'naltiradi, javobni oladi va mijozga qaytaradi. Barcha trafik Charles orqali o'tadi, bu uni tahlil qilish va o'zgartirish imkonini beradi.

Proksi arxitekturasi

Ishga tushirilganda, Charles 8888 portida (standart) mahalliy HTTP proksi yaratadi. Operatsion tizim yoki ilova ushbu proksidan foydalanish uchun sozlanadi. Barcha HTTP so'rovlari avval Charles ga yuboriladi, keyin u maqsadli server uchun to'liq mijoz sifatida ishlaydi. HTTPS uchun Charles o'zining SSL-proksilash texnikasidan foydalanadi: har bir domen uchun Charles ildiz sertifikati bilan imzolangan sertifikatni joyida yaratadi. Agar ildiz sertifikati qurilmada ishonchli sifatida o'rnatilgan bo'lsa, Charles HTTPS trafigini shifrdan chiqarishi va ko'rishi mumkin.

Ish rejimlari

Charles ikkita rejimni qo'llab-quvvatlaydi: Proxy (klassik proksi-server) va SOCKS Proxy (UDP va TCP trafiki uchun). Veb-ishlab chiqish uchun standart HTTP-proksi ishlatiladi. Mobil qurilmalar uchun — Charles ishlayotgan kompyuterning IP manzilini ko'rsatgan holda qurilmada WiFi Proxy sozlamalari. MacOS iOS simulyatori uchun avtomatik proksi sozlamalarini qo'llab-quvvatlaydi.

xml
<!-- Android uchun Charles qo'llab-quvvatlashi bilan network_security_config.xml sozlamasi -->
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <debug-overrides>
        <trust-anchors>
            <!-- Debug qurilishida Charles sertifikatiga ishonish -->
            <certificates src="user" />
        </trust-anchors>
    </debug-overrides>
</network-security-config>

Charles Proxy ning asosiy imkoniyatlari

Charles Proxy oddiy so'rovlarni ushlashdan ancha uzoqqa ketadigan professional vositalar to'plamini taqdim etadi.

Rewrite va Breakpoints

Rewrite vositasi so'rov yoki javoblarning ma'lum qismlarini avtomatik o'zgartirish imkonini beradi: sarlavhalar, URL parametrlari, javob tanasi. Masalan, User-Agent sarlavhasini boshqa qurilmadagi qiymat bilan almashtirish yoki ma'lum cookie-fayllarni olib tashlash mumkin. Breakpoints debugger kabi ishlaydi: so'rov tanlangan bosqichda (yuborishdan oldin yoki olishdan oldin) to'xtatiladi va ishlab chiquvchi uning mazmunini qo'lda o'zgartirishi mumkin. Bu xato javoblarini yoki nostandart holatlarni qayta ishlashni sinash uchun foydali.

Map Local va Map Remote

Map Local tarmoq resursini (CSS, JS, JSON) diskdagi mahalliy fayl bilan almashtirish imkonini beradi. Bu frontend ishlab chiqishda ajralmas hisoblanadi: CSS/JS ni o'zgartirish va serverni joylashtirmasdan darhol natijani ko'rish mumkin. Map Remote so'rovlarni bir URL dan boshqasiga yo'naltiradi — masalan, sinov uchun ishlab chiqarish serveridan staging ga. Ikkala vosita wildcards qo'llab-quvvatlashi bilan URL shablonlari asosida ishlaydi.

Throttle va tarmoq sharoitlarini simulyatsiya qilish

Throttle vositasi oldindan o'rnatilgan profillar bo'yicha turli xil tarmoq ulanish turlarini simulyatsiya qilish imkonini beradi: 3G, EDGE, GPRS, DSL, WiFi. Tezlik chegarasini (yuklab olish/yuklash), kechikish, paket yo'qotish va barqarorlikni sozlash mumkin. Bu sekin yoki beqaror ulanishda ilova harakatini sinash uchun juda muhimdir — taym-autlarni to'g'ri qayta ishlash, qayta urinishlar, oflayn rejim.

ProfilYuklab olishYuklashKechikishOddiy stsenariy
3G780 kbps330 kbps200 msZaif mobil signal bilan sinash
EDGE130 kbps50 kbps400 msJuda sekin ulanish
GPRS50 kbps20 kbps500 msMumkin bo'lgan minimal ulanish
DSL2 Mbps256 kbps50 msUy simli ulanishi
WiFi10 Mbps10 Mbps10 msYaxshi WiFi ulanishi

Auto Save va Recording

Charles trafik seanslarini avtomatik ravishda .chls fayllariga saqlashi mumkin, bu ularni keyinroq tahlil qilish yoki hamkasblarga yuborish imkonini beradi. Recording Control qaysi trafikni saqlash kerakligini moslashuvchan sozlash imkonini beradi: domenlar, kontent turlari, status kodlari bo'yicha. Bu API ning uzoq muddatli monitoringi uchun qulay.

Mobil qurilmalar uchun Charles Proxy sozlamalari

Mobil ilovalar trafigini disk raskadrovka qilish uchun Charles WiFi Proxy sifatida sozlanadi: kompyuter bilan bir xil tarmoqdagi barcha qurilmalar trafikni Charles orqali yo'naltirishi mumkin. HTTPS ni to'g'ri sozlash mobil qurilmada Charles sertifikatini o'rnatishni talab qiladi.

Android da sozlash

Android uchun kerak: Sozlamalar → WiFi → Kengaytirilgan → Proksi ni oching, Manual ni tanlang va 8888 port bilan kompyuterning IP manzilini kiriting. Keyin qurilmada brauzerni oching va Charles sertifikatini yuklab olish uchun http://chls.pro/ssl manziliga o'ting. Android 7+ (API 24+) da Debug qurilishida foydalanuvchi sertifikatlariga ishonish uchun network_security_config.xml talab qilinadi — aks holda ilova trafikni Charles orqali o'tkazmasligi mumkin.

iOS da sozlash

iOS uchun: Sozlamalar → WiFi → proksini sozlash IP va 8888 portiga. Keyin Safari → http://chls.pro/ssl → sertifikat profilini o'rnating. iOS 10.3+ da qo'shimcha ravishda sertifikatga ishonishni yoqish kerak: Sozlamalar → Umumiy → Haqida → Sertifikat ishonch sozlamalari → Charles Proxy ni yoqing. iOS sertifikatlar bilan bog'liq holda qattiqroq: ba'zi ilovalar hatto ishonchli sertifikat bilan ham Charles orqali trafikni bloklaydigan SSL Pinning dan foydalanishi mumkin.

SSL Pinning bilan bog'liq muammolarni hal qilish

Agar ilova SSL Pinning (server sertifikatini mahkamlash) dan foydalansa, Charles orqali standart proksilash ishlamaydi — ilova Charles sertifikatini rad etadi. Yechimlar: OkHttp yoki URLSession sozlamalari orqali Debug qurilishida SSL Pinning ni o'chirish, Runtime da pinning ni chetlab o'tish uchun Frida dan foydalanish yoki ildiz kirishi bilan Android Emulator ni qo'llash.

Charles Proxy dan foydalanishning amaliy stsenariylari

Charles Proxy aniq ishlab chiqish va test vazifalarini hal qiladi. Keling, asbob ajralmas bo'lgan eng keng tarqalgan stsenariylarni ko'rib chiqaylik.

API integratsiyasini disk raskadrovka qilish

Eng keng tarqalgan stsenariy — API so'rovlarining to'g'riligini tekshirish. Charles so'rovning aniq URL sini, sarlavhalarini, tanasini, parametrlarini ko'rsatadi. Agar server kutilmagan javob qaytarsa, darhol ko'rinadi: JSON tuzilishi, xato kodi, javob sarlavhalari. Bu har ikki tomondan loglarsiz mijoz xatosini server xatosidan ajratish imkonini beradi.

Sekin ulanish bilan sinash

Throttle profillaridan foydalanib, ilova past ulanish tezligida qanday harakat qilishini tekshirish mumkin: yuklash indikatori ko'rsatiladimi, taym-aut to'g'ri qayta ishlanadimi, ulanish uzilganda UI muzlaydimi. Keshni sinash ayniqsa muhim — agar ma'lumotlar allaqachon yuklangan bo'lsa, ilova ularni keshdan ko'rsatishi kerak, cheksiz yuklashga kirmasligi kerak.

Server javoblarini tahrirlash

Breakpoints yordamida server javobini o'zgartirish mumkin. Masalan, ma'lumotlar o'rniga bo'sh massivni qaytarish, status kodini 500 ga o'zgartirish, JSON ga yangi maydon qo'shish. Bu server kodini o'zgartirmasdan chekka holatlarni qayta ishlashni tekshirish imkonini beradi — mobil ishlab chiqishda Charles ning eng kuchli qo'llanmalaridan biri.

Ko'p beriladigan savollar

Charles Proxy bepulmi?

Charles Proxy tijoriy mahsulot bo'lib, 30 kunlik sinov muddatiga ega. Sinov muddati tugagandan so'ng, dastur har bir ishga tushirishda 30 daqiqalik tanaffus bilan ishlashda davom etadi. Litsenziya narxi bir nusxa uchun 50$. Proxyman (macOS) va mitmproxy (ko'p platformali) kabi bepul alternativlar mavjud.

iOS simulyatorining trafigini ushlash mumkinmi?

Ha, iOS simulyatori avtomatik ravishda macOS tizim proksisidan foydalanadi. Charles ni ishga tushirish va SSL-proksilashni yoqish kifoya — simulyatorning barcha trafigi ushlanadi. Simulyator uchun sertifikat sozlamalari avtomatik ravishda amalga oshiriladi, faqat macOS kalitlar to'plamida Charles sertifikatiga ishonish kerak.

Charles Proxyman dan qanday farq qiladi?

Asosiy farqlar: Charles ko'p platformali (Windows, macOS, Linux), Proxyman — faqat macOS va iOS. Charles kengroq vositalar to'plamiga ega (Rewrite, Map Local, Repeat, Auto Save), lekin pulli. Proxyman asosiy funksionallik uchun bepul, zamonaviy interfeys va iOS simulyatori bilan mahalliy integratsiyaga ega.

Charles Proxy unumdorlikka qanday ta'sir qiladi?

Charles proksi orqali trafik o'tganda kechikish qo'shadi, ayniqsa faol SSL-proksilashda (shifrdan chiqarish/shifrlash). Zamonaviy kompyuterlarda kechikish so'rov uchun 5–15 millisekundni tashkil qiladi. Unumdorlik testlari uchun Recording Control orqali statik resurslar (CSS, JS, tasvirlar) uchun SSL-proksilashni o'chirish tavsiya etiladi.

Charles dan seansni qanday eksport qilish mumkin?

Charles formatlarga eksportni qo'llab-quvvatlaydi: .chls (o'z formati, Charles da qayta ochish uchun), HAR (HTTP Archive, brauzerlar va boshqa vositalarda ochiladi), CSV (Excel yoki jadvallarda qayta ishlash uchun), Trace (curl-mos formatda aniq so'rovni eksport qilish uchun). Eksport File → Export Session menyusi orqali amalga oshiriladi.

Xulosa

  • Charles Proxy — 2004 yildan beri tarmoq trafigini ushlash, ko'rish va o'zgartirish uchun professional HTTP/HTTPS proksi-server
  • Ish printsipi — MITM-proksi: barcha so'rovlar Charles orqali o'tadi, bu ularni joyida tahlil qilish va o'zgartirish imkonini beradi
  • Kuchli vositalar: Rewrite, Breakpoints, Map Local, Map Remote, Throttle — API va foydalanuvchi tajribasini har tomonlama disk raskadrovka qilish uchun
  • HTTPS-proksilash qurilmada Charles ildiz sertifikatini o'rnatishni talab qiladi, Android 7+ uchun esa Debug qurilishida network_security_config.xml
  • Throttle profillari real sharoitlarda ilova harakatini sinash uchun 3G, EDGE, DSL va boshqa ulanish turlarini simulyatsiya qilish imkonini beradi
  • Seanslarni eksport qilish HAR, CSV va .chls formatlarida tahlil, hisobot va jamoaga yuborish uchun
  • Cheklangan byudjetli loyihalar uchun bepul alternativlarni ko'rib chiqing: Proxyman (macOS) yoki mitmproxy (ko'p platformali ochiq manba)

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing