KB-1191 How to configure Charles proxy for capturing iOS traffic

This article provides steps on how to install Charles on a Windows machine and configure Charles to capture requests/responses made by an iOS device. This is useful when troubleshooting issues with the Appian mobile application.

  1. Install Charles:
    1. From your desktop, go to http://www.charlesproxy.com/.
    2. Download the version (free trial) that matches your operating system.
    3. Install Charles.
  2. Collect the proxy information:
    1. Open Charles.
    2. On the menu bar, navigate to Proxy > Proxy Settings. Make a note of the Port value under Proxies > HTTP Proxy (default value is 8888):
    3. Open a command prompt window on your local machine (Start > cmd).
    4. Run the following command: ipconfig
    5. At the top, find the line for IPv4 Address and make note of the address to the right. Note: This is your network's IP address.
  3. Configure iOS device settings:
    1. Open Settings.
    2. Tap on Wi-Fi.
    3. Tap on your network.
    4. Scroll down to the HTTP PROXY section and change the setting to Manual.
    5. In the Server field, enter your network's IP address (the IPv4 address collected above).
    6. In the Port field, enter the port number that Charles is listening on. Note: This is configured in Charles per the above steps. The default port is 8888, however you can use any open port on your machine. If you use a port other than 8888, ensure that Charles is configured to listen on that port.
    7. Return to the main Settings page.
  4. Install the Charles Root Certificate to the iOS device:
    1. Open Safari and browse to http://www.charlesproxy.com/getssl/.
    2. Safari will prompt you to install the SSL certificate. Once you install it, you should be able to access SSL websites with Charles using SSL Proxying. Without the certificate, you will be unable to decrypt SSL traffic from the iOS device. More information on this topic can be found in Charles's SSL Certificates documentation.
  5. Enable SSL Proxying and add filters in Charles:
    1. Open Charles and go to Proxy > SSL Proxy Settings.
    2. Check the Enable SSL Proxying checkbox.
    3. In the Locations section, add a filter from the domain and port where you are capturing traffic (e.g., appian.example.com:443). For ease of use, users may consider using wildcards (*) for both domain and port. Wildcards are helpful in SAML implementations because there are multiple redirects to different domains involved.
  6. At this point, you can begin to make requests from the iOS device, and activity should be monitored in Charles:

Note: To disable capturing of traffic, open Settings in the iOS device, go to Wi-Fi > <your_network>, and change HTTP PROXY to Off.

Affected Versions

This article applies to all versions of Appian.

Last Reviewed: June 2016