Charles Proxy

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.

  1. Help >> SSL Proxying >> Install Charles Root certificate.
  2. Give required permissions in you system to add the certificate.

 

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

  1. It enables you to enter blocked domain names which should be blocked.
  2. When your web browser/ mobile device tries to request any page from a blacklisted domain name it is blocked. You can also enter wildcards to block subdomains.
  3. Particularly useful if you’re developing a site with banner ads and don’t want to brainwash yourself while you work.

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

Charles Proxy

By Gulshan Nadaph