Charles proxy setup for Web applications

Gulshan Nadaph
3 min readMar 30, 2019

--

Charles Proxy is a Java program that sits as a middleman between your app and the Internet, listening all networking requests and responses enabling you to visualise and manipulate response/request data.

Installation - Download the latest version . Charles supports macOS, Windows, and Linux. In this post, I have focused macOS but it should be similar for Windows or Linux.

Install the application , launch Charles, and it will ask for permission to automatically configure your network settings. Just Grant Privileges and Charles it’s almost ready.

Charles can record any request that your computer makes but isn’t authorized and won’t be able to show the content of secure communications under HTTPS. Remember HTTPS encrypts and protects our sensitive data from proxy servers and other middleware. But in this case we want Charles to snoop on our messages, so we need to configure some SSL Certificates.

Launch the Charles proxy Application >> Help > Choose SSL Proxying > Install Charles Root Certificate and Enable MacOS proxy option.

Once you finish these steps, your system should trust in Charles certificate and all network traffic from your system will go through Charles Proxy.

For now, stop recording by clicking the red record/pause button.

The left pane can be toggled between Structure and Sequence views. When Structure is selected, all activity is grouped by site address. You can see the individual requests by clicking the arrow next to a site.

You notice we are still restricted, HTTPS still block us to see all the content.

Just Open Proxy > SSL Proxy Settings and add the host. As a result of doing this Charles sign’s this endpoint with it’s own certificate.

In the next post we are going to explore more about Charles capabilities like Rewrite, Breakpoints, Local/Remote mapping, Blacklist, Whitelist, Advance Repeat and Throttle settings so stay tuned and subscribe to receive a notification when the next part is available.

--

--

No responses yet