Charles Proxy Server - where to start?


Artem Mezdrin

Feb 11, 2020 · 4 min read

Often, when testing mobile client-server applications, there are situations when you need to check how the application behaves with different amounts of data, in what format the application sends and receives data, what parameters the request and response have, what response the server sends in case of an incorrect request, how it reacts application to an incorrect response, how it handles errors. All this can be checked relatively easily using Charles Proxy Server.

Setting up a mobile device

In order for Charles to monitor all incoming and outgoing traffic on the device, in the Wi-Fi connection settings on the device you need to specify the IP address of the host running Charles and specify port 8888 (default). In Charles itself, in the proxy settings, you need to make sure that the port is 8888 (you can change it if necessary). So, checking Charles settings:

And setting up a Wi-Fi connection on a smartphone (in this example an iPhone was used):

Open the settings, select our connection, find HTTP Proxy at the bottom, open it and in the Server field enter the IP address of the device on which Charles is running, enter port 8888 (or another if it has been changed in Charles itself) and save.

Next, on the same smartphone, open a browser (if it is an iOS device, then Safari, if Android - Chrome) go to https://charlesproxy.com/getssl and install the certificate on the device. In the case of iOS, even though the certificate is installed, iOS does not trust it, so we will have to trust it. To do this, go to the device settings (Settings) -> General (General) -> About the device (About) -> Certificate Trust Settings. Find our certificate (Charles Proxy Custom Root Certificate) and enable it. On the alert that appears, click “Continue”. This is what the result should look like:

From now on, in Charles we can see the addresses accessed by the smartphone.

Possibilities:

  • convenient SSL proxying, and in particular the ability to view SLL requests and responses in plain text;
  • Validate recorded HTML and CSS responses using W3C;
  • the ability to regulate channel capacity. Charles allows you to simulate a modem connection to test the server's performance when the connection is slow and there are delays on the client side;
  • viewing XML and JSON requests. Ajax debugging;
  • built-in support for Flash Remoting (AMF0 and AMF3);
  • automatic proxy server setup for Firefox on all platforms.

In general, I would like to note that Charles is distinguished not only by its special versatility, but also by its speed of action, well-developed debugging and many other pleasant and useful nuances. The ability to regulate connection speed is one of the most popular features of the program, since it is almost impossible to manually create conditions for a slow Internet connection on the client side.

Therefore, if you want to evaluate this program, we offer you a free version

, allowing you to appreciate all the delights of this web proxy. On our website you can do this quickly, conveniently and at no cost.

Final setup touches

Next, let's return to setting up Charles itself. Firstly, if we are interested in a specific address, and all other traffic is noise, then we need to click on the address we are interested in and select “Focus”. This will allow you to hide all unnecessary addresses in the “Other Hosts” tab (see picture below). As mentioned above, the addresses of the servers to which the smartphone sends requests are visible to us, but we cannot see the request parameters:

In order for Charles to see the request parameters, you need to enter the server address in SSL Proxy Settings. This can be done as follows:

In the Host field, enter the address of the server that interests us. If the port is not required, then leave the field blank

Now if you send a request to the appropriate server, you can see the request parameters:

Modifying requests and responses

So, requests to the desired server are now absolutely transparent for us, but Charles is interesting not only in its ability to monitor requests, but also in the ability to modify them. For example, you can change any parameter in the header or body of the request and see what the server returns to us, or, conversely, send a correct request, but modify the response to check situations when the server may return incorrect data or when you need to show only part of the data . Now we are interested in the Rewrite tool:

This tool allows us to make the changes we need to the queries. By default, there is nothing there, therefore, we need to add the first option, for example, to change the request.

You can give it any name; for myself, I designated this option as Request, so that I could store all the modifications I need for requests in it.

Next, we need to understand what exactly we want to change in a specific request. For example, you need to check how the server part of the application will behave if the client sends an incorrect request (one field will be missing or the field will have the wrong data type). Will the server tell us about the error? It is better, of course, to check the client’s reaction to an incorrect server response, because this situation is most likely. The set of actions is identical in any case. Under the Location field, you need to click Add, and then you can set the value * (in this case, rewriting will work for all requests), or specify a specific URL and a specific path.

After you have specified the address at which you want to make the change, you need to indicate what exactly needs to be changed. In our case, this is the body of the request.

After saving and clicking on the Apply button, Charles will begin to modify all requests for the specified URL+path combination in accordance with the specified rule. In this case, the request will send JSON {“field”:”value”}. In a similar way, you can change the body of the response coming from the server. You can also change URLs, headers, request parameters, and HTTP status code.

Charles Web Debugging Proxy 4.5.4 (2020) {Eng}

Publication type:

macOS Software
Release took place:
11/04/2019
Supported OS:
OS X 10.7 and higher
Developer:
Karl von Randow
Official website:
www.charlesproxy.com
Interface language:
English
Treatment:
not required
System requirements:
● macOS 10.7 or higher ● Intel 64-bit CPU.

Description:

Charles Web Debugging Proxy is an increasingly popular foreign web proxy server that runs on your personal computer or laptop, which is often classified as an HTTP Monitor program. This program gained its popularity due to its high functionality, speed of operation and excellent, understandable and accessible design.

Many IT department workers use the program, because when a client interacts with a server, you cannot check through your browser what information was received and what was transmitted, and this is sometimes very necessary. This is why Charles exists, which displays all the information you need. Thanks to the capabilities of this program, you can easily and quickly track problems and errors so that you can identify and correct them in the future without much searching.

"Additional Information:"

The application has rich functionality, but its main purpose is to display data received and sent when the client interacts with the server. One of the benefits of Charles is that all data sent and all data received is recorded and displayed on your computer in a clear and organized manner. In addition, another of the main functions of Charles can be considered the ability to debug code. Moreover, this web proxy can boast of very high-quality and fast debugging, which, of course, makes it popular not only among ordinary users, but also among many experienced programmers and system administrators. Peculiarities

: convenient SSL proxying, and in particular the ability to view SLL requests and responses in plain text; Validate recorded HTML and CSS responses using W3C; the ability to regulate channel capacity. Charles allows you to simulate a modem connection to test the server's performance when the connection is slow and there are delays on the client side; viewing XML and JSON requests. Ajax debugging; built-in support for Flash Remoting (AMF0 and AMF3); automatic proxy server setup for Firefox on all platforms.

"In the new version:"

— Fixes an error on launch on macOS. Release notes

"Installation procedure:"

Mount the DMG image and drag the application icon to the Applications folder

Screenshots:

Download Charles Web Debugging Proxy 4.5.4 (2020) {Eng} via torrent

charles-web-debugging-proxy-4_5_4.torrent [16.96 Kb] (downloads: 5)

Size:
53 MB

  • 0
  • Back

19-03-2020, 10:43 356 0

Similar materials

DaisyDisk 4.9 CR2 (2020)

DaisyDisk is a utility that, in a very unusual way, will tell you which bulky files and folders are present on your Mac; to be more precise, it is a disk space visualizer that helps you quickly identify problem areas on the drive and, in two clicks, remove everything unnecessary.
02/24/2020 Read more

Debookee 7 v7.4.1 (2020) {Eng}

Debookee is a network traffic analyzer with the ability to determine which device accessed the network through your access point.
You can check traffic coming from any device: iPhone, iPad, Android, BlackBerry, PC, Mac, etc. 02/21/2020 Read more

ExpanDrive 7 v7.5.0 (2020)

Working with remote data is becoming more and more common in our lives.
Home local network, Dropbox. All these things have long become familiar to many. Software developers are happy to offer us a variety of programs that should help bring all these media and cloud services to a common form. 02/19/2020 Read more

nuTXT 3.17 (2020) {Eng}

nuTXT is a tiny but useful utility application that allows you to create a new .txt file on your desktop, a feature you're used to.
02/19/2020 Read more

VideoSolo Blu-ray Player

Lossless Blu-ray Player for Mac
02/14/2020 Read more

Sketch 62 (2020) {Eng}

Sketch from Bohemian Coding is one of the best vector editors for macOS!
01/21/2020 Read more

Proxifier for Mac 2.26 (2019)

Proxifier for Mac allows users to access any Internet application over a secure or proxyed network.
25-11-2019 Read more

My New Life / My New Life

You will take on the role of a young man in your city, where you find yourself in the hottest situations.
From casual situations to "intense" dates with sexy girls. 24-10-2018 Read more

KCNcrew Pack 12.15.17 (2017)

KCNcrew Pack is a huge collection of serials for software for MacOS X with a convenient shell for viewing and searching.
It has been around for a very long time and is updated periodically! 16-12-2017 Read more

Proxy Switcher Standard

Proxy Switcher is a program for instantly changing proxy server settings, that is, on the fly.
The program will automatically download a huge list of proxy servers, check them for functionality and anonymity. You can surf the Internet absolutely anonymously, using just one proxy server, 06/12/2017 Read more

Comments

Rating
( 1 rating, average 5 out of 5 )
Did you like the article? Share with friends:
For any suggestions regarding the site: [email protected]
Для любых предложений по сайту: [email protected]