By
Gulshan Nadaph
QA Engineer
Overview
Charles Web Debugging Proxy is a cross-platform HTTP debugging proxy server application written in Java.
Charles Proxy enables the user to view HTTP, HTTPS and enabled TCP port traffic accessed from, to, or via the local computer.
Download charles - https://www.charlesproxy.com/download/latest-release.
Setup for web applications
Setup on Mobile device
1. Connect Mobile device to same wifi as your system.
2. On mobile device browse https://www.charlesproxy.com/charles.crt to install certificate.
OR
3. On your system, save certificate from Help >> SSL Proxing >> Save Root Certificate and send it to you mobile device over mail or airdrop and then install it.
Check System IP and port number from Proxy Setting.
(default is 8888 for charles). Modify the Wifi settings on the Mobile to the IP and port obtained from the system
Breakpoints
Intercepts requests and responses and modifies them before they are sent.
Rewrite tool
1. It enables to create rules that modify requests and responses as they pass through Charles.
2. Rules such as adding or changing a header or search and replace some text in the response body.
Local/Remote Mapping
1. The Map Remote tool changes the request location, per the configured mappings
2. The Map Local tool enables you to use local files as if they were part of a remote website
Blacklist tool
Throttling
Bandwidth Throttle / Bandwidth Simulator. Charles can be used to adjust the bandwidth and latency of your Internet connection. This enables you to simulate modem conditions using your high-speed connection.
The bandwidth may be throttled to any arbitrary bytes per second.
No Caching Tool
1. It prevents caching by manipulating the HTTP headers that control the caching of responses.
2. The If-Modified-Since and If-None-Match headers are removed from requests, Pragma: no-cache and Cache-control: no-cache are added.
3. The Expires, Last-Modified and ETag headers are removed from responses and Expires: 0 and Cache-Control: no-cache are added.
Repeat Advanced Tool
1. It extends the Repeat tool with options for the number of iterations and concurrency.
2. Mostly useful for Load Testing.
Using Charles with VM (parallel)
Setting it up for Windows :
https://www.thewindowsclub.com/manage-trusted-root-certificates-windows