Skip to main content

Command Palette

Search for a command to run...

Intercepting HTTP traffic

Using HTTPToolkit

Updated
2 min read
Intercepting HTTP traffic

လွန်ခဲ့တဲ့ ၈ လလောက်က User base တတ်လာပြီး တစ်လ အတွင်း over a million HTTP requests ကျော်လာတဲ့ Mobile app တစ်ခုအတွက် Performance Analysis လုပ်ခဲ့ရာမှာ အသုံးပြုခဲ့တဲ့ Tool တစ်ခုအကြောင်း Share ပေးပါမှာ ဖြစ်ပါတယ်။

Android, iOS, Web app တွေအတွက် API တွေစရေးတဲ့အချိန်မှာ Performance ထက် Functionality ကို အဓိကဦးစားပေးပြီး ရေးလေ့ရှိပါတယ်။ Business လိုအပ်ချက်အရ မြန်မြန် Code ရေး မြန်မြန် Production တင် မြန်မြန် အလုပ်လုပ် မြန်မြန် လူသုံးများပြီး ဈေးကွက်ထဲ အမြန်ရောက်အောင်ပါ။

ဒါပေမယ့် User Base တက်လာလို့ API ကို အသုံးပြုတဲ့ နှုန်းများလာတဲ့အခါ Server အတွက် Memory, CPU, Network Bandwidth သုံးတဲ့ နှုန်းတွေ ပိုတက်လာပြီး Server ကို Vertical Scaling (Resource တွေလိုက်တိုး) ဒါမှမဟုတ် Horizontal Scaling (Server တွေအလုံးလိုက် တိုးပြီး Load Balancing လုပ်) တွေ Infra ဘက်က လိုက်လုပ်ရပါတယ်။

ပြဿနာကတော့ Infra Cost တက်လာ ပြီး လစဉ် ပိုက်ဆံပိုကုန်ကျ လာတာပါပဲ။

ဒီအချိန်မျိုးမှာ Code တွေအားလုံးကို ပြန်စစ်ကြည့်ပြီး Refactor လုပ်ဖို့ မလွယ်ပါဦး။ ဒီလိုအခြေအနေမှာ Production ရောက်နေတဲ့ Android, iOS application တွေကို Performance Analysis လုပ်ပြီး ရှိသင့်တဲ့ Latency ထက်များနေတဲ့ API Call တွေကတစ်ဆင့် ချိတ်ဆက် အလုပ်လုပ်နေတဲ့ Code တွေကို Focus ထားပြီး ပြင်တာက သင့်တော်ပါတယ်။

ဒီ Post မှာတော့ Android အတွက် Server ကိုခေါ်တဲ့ API call တွေကို ကြားဖြတ် စောင့်ကြည့် ပြီး analysis လုပ်ဖို့ HttpToolkit ကို ဘယ်လိုသုံးလို့ရလဲဆိုတာ Share သွားမှာပါ။

လက်တွေ့ စမ်းသပ်ကြည့်ခြင်း

  1. HTTPTookit Desktop App ကို install လုပ်ပါ။ https://httptoolkit.com/

  2. LDPlayer 9 Android Emulator ကို install လုပ်ပါ။ https://www.ldplayer.net/versions (အပြင် Android ဖုန်းကို Root လုပ်ပြီး သုံးလည်းရပါတယ်။ Emulator က ပို သုံးရ အဆင်ပြေတာကြောင့်ပါ)

  3. LDPlayer 9 ကို ဖွင့်ပြီး Root Permission enable လုပ်ပါ။

  4. LDPlayer ထဲက Google Play store ကိုဖွင့်ပြီး HTTPToolkit Android App ကို install လုပ်ပြီး ဖွင့်ထားပါ။ (အပြင်က apk download လုပ်ပြီး LDPlayer9 ထဲကို ဆွဲထည့်ပြီး install လုပ်လည်းရပါတယ်။)

  5. HTTPToolkit Desktop App ကိုဖွင့်ပါ။ LDPlayer 9 emulator ဖွင့်ထားတဲ့အတွက် Android Device via ADB ဆိုတဲ့ Option Enable ဖြစ်လာတာတွေ့ရပါလိမ့်မယ်။ နှိပ်ပြီး Connect လုပ်ပါ။

  6. LDPlayer9 ဘက်မှာ Connection request ပေါ်လာရင် OK နှိပ်ပါ။

  7. LDPlayer9 ထဲက HTTPToolkit android app နဲ့ Desktop App တို့ ချိတ်ဆက်မိပြီး HTTP traffic တွေကို စတင် ကြားဖြတ်စောင့်ကြည့်တဲ့ အလုပ်စလုပ်နေပါပြီ။

  8. LDPlayer9 ထဲမှာ ကြားဖြတ်စောင့်ကြည့်ချင်တဲ့ App ကိုဖွင့်လိုက်ပါ။ Desktop App ဘက်မှာ http traffic တွေပေါ်လာတာ တွေ့ရပါလိမ့်မယ်။

Connection တစ်ခုချင်းစီကို ထောက်ကြည့်လိုက်တာနဲ့ ညာဘက် Panel မှာ Request/Response Header, Payload .. စသဖြင့် အသေးစိတ်တွေ့ရပါလိမ့်မယ်။

တစ်လ 4$ နဲ့ Pro Version ကို ဝယ်သုံးရင် Performance ပိုင်း အသေးစိတ် အချက်အလက်တွေ တွေ့မှာဖြစ်ပါတယ်။ နောက် HAR (HTTP Archive) format နဲ့ traffic တွေကို download လုပ်ပြီး Analysis လုပ်လို့ရပါတယ်။ (ကျနော်ကတော့ HAR ကနေ csv ပြောင်း Excel သုံးပြီး Analysis လုပ်ပါတယ်။)

တစ်ခြား Tools တွေအများကြီးရှိပေမယ့် HTTPToolkit က သုံးရ လွယ်ကူအဆင်ပြေ ပေါ့ပါး ပါတယ်။ ပိုက်ဆံနည်းနည်း သုံးပြီး အလုပ်ပိုတွင်ပါတယ်။

Aung Kyaw Minn

More from this blog

Infrastructure ကိုင်ပြီး အိပ်ရေးမပျက် ချင် လျှင် ဒါမျိုး Alarms လုပ် 🔥🔥🔥

High Level ရေးထားတာပါ ဒါပေမဲ့ လွယ်ပါတယ် ​ကိုယ့်မှာ AWS Infra တွေရှိတယ်ဆို တွေ့သမျှ metric တွေကို alarms တွေလုပ်ပြီး notification ယူမနေဘဲ တကယ် effective ဖြစ်တဲ့ metric တွေကိုမှ CloudWatch ရဲ့ alarm feature တွေနဲ့ ပေါင်းပြီး ပို့စေချင်ပါတယ်။ ​ဥပမာ prod...

Jan 17, 20263 min read159
Infrastructure ကိုင်ပြီး အိပ်ရေးမပျက် ချင် လျှင်  ဒါမျိုး Alarms လုပ် 🔥🔥🔥

How to connect On Premises Network and Cloud (AWS)? (Part-2)

ကိုယ့်ရဲ့ ‌data center (on-prem) network နဲ့ AWS ချိတ်ဆက်ဖို့ လိုလာပြီဆိုရင် ဘယ်လို ချိတ်ဆက်ကြမလဲ? အပိုင်း (၂) မှာ တော့ Direct connect အကြောင်းကို ဆွေးနွေး သွားမှာ ဖြစ်ပါတယ်။ အပိုင်း (၁) Site-to-site VPN အကြောင်းကို လေ့လာချင်ရင်တော့ အောက်ပါ link မှာ ...

Dec 20, 20253 min read224
How to connect On Premises Network and Cloud (AWS)? (Part-2)

How to connect On Premises Network and Cloud (AWS)? (Part-1)

ကိုယ့်ရဲ့ ‌data center (on-prem) network နဲ့ AWS ချိတ်ဆက်ဖို့ လိုလာပြီဆိုရင် ချိတ်ဆက်နိုင်တဲ့ နည်း (၂) နည်း ရှိပါတယ်။ 1. Site-to-Site VPN (Virtual Private Network) 2. Direct connect Site-to-Site VPN - On-prem network နဲ့ AWS resources တွေ ချိတ်ဆက်တဲ့...

Dec 12, 20252 min read262
How to connect On Premises Network and Cloud (AWS)? (Part-1)

Accessibility for Designer

လွန်ခဲ့တဲ့အပတ်က ရုံးက Designer တွေနဲ့ တော်ကီပွားရင်း Accessibility နဲ့ပတ်သတ်တာတွေ သူတို့ကို ရှင်းပြဖြစ်တယ်။ ကိုယ်တိုင်ကလည်း အရင်ကတည်းက ဒီ topic ကိုစိတ်ဝင်စားလို့ လေ့လာနေတာဆိုတော့ အခွင့်အရေးရရင် ရသလို sharing လုပ်ဖြစ်တယ်။ အဓိကက Accessibility နဲ့ပတ်သတ်...

Nov 21, 20253 min read69
Accessibility for Designer

VPC Endpoint

အားလုံးဘဲ မင်္ဂလာပါ။ ဒီနေ့ sharing လုပ်ပေးချင်တာကတော့ VPC Endpoint အကြောင်းဘဲဖြစ်ပါတယ်။ VPC Endpoint ဆိုတာ VPC နဲ့ AWS services တွေ ကို public Internet ကို အသုံးမပြုဘဲနဲ့ Privately connect လုပ်ပေးတာ ဖြစ်ပါတယ်။ Internet Gateway, NAT Gateway နဲ့ Public...

Nov 18, 20252 min read97
VPC Endpoint
M

Myanmar Technical Blog

108 posts

Cloud, Linux, DevOps, Docker, Security အစရှိတဲ့ နည်းပညာများ အကြောင်းကို မြန်မာလို ပြန်လည်မျှဝေပေးမယ့် Blog ပဲဖြစ်ပါတယ်ခဗျာ...