This setup guide will help you configure Charles and your device so you can view your app’s network traffic in plain text.
NOTE: You can’t view/intercept the traffic of apps with a pinned certificate. Most apps with sensitive data, e.g. banking apps, will block you from viewing/intercepting their traffic. If you just want to play around with Charles, I suggest using the Weather app as it’s certificate hasn’t been pinned
Still having issues? See common iOS problems
Check Wi-Fi networks
Make sure your Mac and iOS device are on the same Wi-Fi network
Find your Mac’s local IP address
Open Charles -> Help -> Local IP address.
Make note of the IP address as you will need to enter it into your device later
Navigate to device’s Wi-Fi proxy screen
On iOS device, tap Settings -> Wi-Fi -> tap the correct Wi-Fi network -> Configure Proxy -> select “Manual”
Configure proxy settings
This step will proxy all of your device’s internet traffic through your Mac
- Server: this is your Mac’s local IP address
- Port: 8888
Accept incoming network traffic from your device
On your device, open Safari and go to www.google.com
Return to your Mac. You should now see a prompt from Charles. Click “Allow”
Encrypted traffic from your device should now appear in Charles
Download Root certificate for iOS device
Return to the device, open Safari and go to chls.pro/ssl.
Tap “Allow” to download the root certificate
Install Root certificate
On the device, tap Settings -> General -> Profile -> Tap the Charles Proxy certificate -> Install
If you want to learn more about Root certificates, this is a good article
Trust Root certificate
On the device, tap Settings -> General -> Certificate Trust Settings -> Enable the toggle/switch for the Charles Proxy certificate
Turn on SSL proxying to view traffic in plain text
Return to your Mac, right click the network request you are interested in and click the “Enable SSL Proxying” option
I am using the iOS “Weather” app in this example
Kill and re-open the app
Kill and re-launch the Weather app. You should now see the network traffic in plain text!
See article about common iOS problems