How to Capture Android App Traffic with Charles and Drony: A Step‑by‑Step Guide
This tutorial explains why combining Charles proxy with the Drony VPN app is an effective way to bypass Wi‑Fi proxy detection on Android, and provides detailed instructions for downloading, configuring, and using both tools to capture HTTP and HTTPS traffic from specific mobile applications.
Why Use Charles + Drony for Packet Capture?
When capturing traffic from Android apps, several tools are available (Fiddler, Charles, etc.). Combining Charles with a VPN app like Drony avoids Wi‑Fi proxy detection because VPN forwarding is independent of the device's proxy settings, making it a reliable choice.
Tool Download
Link: https://pan.baidu.com/s/1TYelBGxO5n0sqVidN48djg
Password: 5c5uEnvironment
pixel2 v10 (rooted)
Magisk v23.0
Charles v4.6.2
Drony v1.3.154Charles Configuration
Requirements
JDK
Enable super administrator
Disable firewall
Download
Charles download: https://www.charlesproxy.com/download/
Installation
Follow the installer prompts (Next → Next) and launch Charles after installation.
Activation
Generate a registration key at https://www.zzzmode.com/mytools/charles/ and enter it via Help → Registered.
Set Proxy
Open Proxy Settings and ensure the Windows Proxy option is unchecked (so PC traffic is not captured).
Configure the listening port as needed.
SSL Proxying
Open SSL Proxying Settings and add *.* to enable SSL interception.
After this configuration, Charles can capture HTTP traffic, but HTTPS still appears as failed (red X) until a certificate is installed.
Certificate Configuration
Save Certificate
In Charles, click Save Charles Root Cert... and choose a location.
Push to Phone
adb push C:\Users\Ti\Downloads\1.pem /sdcard/1.pemInstall on Device
Open the pushed file from storage and install the certificate (any name is fine). The certificate appears in the trusted credentials list.
Certificate Paths
System cert path: /etc/security/cacerts
User cert path: /data/misc/user/0/cacerts-addedSince Android 7+ trusts only system certificates, move the user certificate to the system location using Magisk's Move Certificates module.
Drony Configuration
Install Drony, then open Settings → Wi‑Fi → (not) Wireless Networks…
Set Hostname and Port
Enter the same hostname and port used for the Wi‑Fi proxy.
Configure Filter
Scroll to Filter and select Redirect All .
Add App Rule
Tap Rules , press the + button, add the target app, set behavior to Allow All , and save.
Repeat to add more apps as needed.
Start Drony
Return to the main screen and toggle the switch to start forwarding traffic for the selected apps.
Example Captures
Using the configured Wi‑Fi proxy, the author captured login traffic from a sample app (referred to as “某狗”). The same method worked for another app (“某物”), revealing that apps employing Wi‑Fi proxy detection fail to show data unless Drony is used.
Summary
Combining Charles with Drony provides a robust solution for capturing both HTTP and HTTPS traffic from Android applications, bypassing proxy detection mechanisms and simplifying network debugging.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Python Crawling & Data Mining
Life's short, I code in Python. This channel shares Python web crawling, data mining, analysis, processing, visualization, automated testing, DevOps, big data, AI, cloud computing, machine learning tools, resources, news, technical articles, tutorial videos and learning materials. Join us!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
