I’ll briefly show you how you can intercept HTTP(S) traffic on your iPhone or iPad. Make sure that you are connected on the same network as your computer on your iOS device.

Get Charles

The first step is to download Charles. It’s a great HTTP debugging tool which we’ll use to intercept the HTTP(S) traffic on your iOS device.

Open Charles after install. In Charles go to Proxy > Proxy Settings. It should display the HTTP proxy port (it’s 8888 by default). We’ll need this in the next step.

Wi-Fi settings on device

On your iOS device, go to Settings > Wi-Fi. Tap on the blue arrow button (next to the network name) to enter the HTTP proxy settings for your Wi-Fi.

Wi-Fi settings on device

HTTP Proxy is disabled by default. Enable it by tapping on the manual button and enter your local IP address (as in within your network) and the HTTP proxy port (which is 8888 in this case).

You can determine your local IP address by going into System Prefences > Network > Wi-Fi > Advanced > TCP/IP (see here).

Verify that everything works by opening an app on your device that uses internet connection. You should immediately see that Charles intercepts the data (see example).

SSL

You are able to intercept HTTP traffic from your device. The next step is to also intercept HTTPS traffic. To intercept data from SSL connections you’ll need to download and install the Charles certificate on your device and computer.

Installing certificates on your computer

Download and unzip the Charles CA Certificate bundle. The bundle contains the Charles CA Certificate file.

Run the Keychain Access utility from the Applications/Utilities folder. This tool enables you to manage your certificates.

Choose the “login” keychain then go to the File menu and choose Import. Choose the .crt file you downloaded above, and ensure that the login keychain is chosen in the dropdown menu.

Complete the import and the Charles CA SSL Certificate will now be trusted for your login account.

Move the Charles Proxy SSL Proxying certificate from your login keychain to the System keychain by drag-and-drop if you want all users on the machine to trust it.

Installing certificate on your device

On your device, browse to http://charlesproxy.com/charles.crt then install the certificate.

After you have installed the certificates you must enable SSL Proxying in Charles.

  1. In Charles go to Proxy > Proxy Settings.
  2. Select the SSL.
  3. Make sure that Enable SSL Proxying is checked.
  4. Add a wildcard location (*). You should end up with something like this.
  5. Restart Charlies and have fun.
    Read more about SSL Proxying using Charles.