Basic guide

Setup Charles on macbook

Step 3: Install Charles app for your macbook
Step 4: Install Charles root certificate
Charles > Help > SSL Proxying > Install Charles Root Certificate
Note: remember to change settings to always trust for this Certificate in Keychain Access
(Search : Charles in your keychain access)

Step 5: Setting SSL Proxy setting
Charles > Proxy > SSL Proxy Setting :
Enable SSL Proxying
Location : add *.*
add * , port 443 ( or * )

Step 6: Enable capture SSL
Click on the request, choose SSL Proxying : Enable

Step 7: Restart charles

Setup your iphone

Step 1: Setup wifi connection to connect via proxy server run on your macbook
Go to Settings > Wifi > Click info button for your wifi > Configure Proxy > Manual
Server => fill your laptop ‘s ip address, eg: 192.168.1.7
Port: 8888 (charles proxy default port)
Authentication: off

Step 2: Setup Proxy Certificate
Visit
https://chls.pro/ssl
Download certificate

Go to Settings > Profile and certificate
Install Charles Proxy Certificate

Step 3: Trust Certificate
Go to Settings > General > About > Certificate Trust Settings
Enable Charles Proxy Certificate

Setup your android device

Use the following steps to configure your Android device to use Charles proxy:

Go to Settings > Wifi.
Press and hold down the power key on the Wifi Network device you are currently connected to.
When the modal displays, select Modify Network.
Select Show Advanced Options to display proxying options.
Under Proxy, select Manual.
In the Proxy Host Name box, enter the IPV4 Address you previously saved from your development machine.
In the Proxy Port field, enter 8888, as when configuring Charles.
undefined
Click Save to save the settings and exit.
Open a browser on your device to test.
Charles displays a dialog prompting you to allow or deny SSL proxying.
Click Allow.
If you are not prompted to allow SSL proxying, restart Charles and try again.
Go to http://charlesproxy.com/getssl from your device and download the Charles SSL certificate.
On newer versions of Android, you may get an error on downloading, such as “download unsuccessful”.
If this happens, use the following instructions:
Go to Help > SSL Proxying > Save Charles Root Certificate.
undefined
Change the file type from the default .pem to .cer and save in a location that you will remember for later.
Transfer the .cer file to your device using an SD Card, USB Cable, or remote transfer such as Google Drive.
Open the file from a file manager such as the Android File Manager, or a third party file manager such as File Commander.
You will be prompted to save the certificate.
Continue with the remaining steps.
Name the certificate and okay it as a trusted certificate.
Ensure that you disable or remove it when complete.
Once the certificate is installed, you are prompted to set up a PIN.
When prompted, add the new PIN.
Additional Configuration Steps for Android N and Above

As of Android N, additional steps area required to to add configuration to your application so that it trusts the SSL certificates generated by Charles SSL proxying. This means that you can only use SSL proxying with applications that you control.

In order to configure your app to trust Charles, you must first add a Network Security Configuration File to your app. This file can override the system default, enabling your app to trust user-installed CA certificates, such as the Charles Root Certificate.

Handle error unknow on capturing request

https://stackoverflow.com/questions/33322334/charles-proxy-response-unreadable

Can no longer browse without Charles running

It is likely that your browser’s proxy settings have been changed to use Charles and then, for some reason, not changed back.

First try starting and quiting Charles normally to see if that corrects the problem. Because if Charles is stopped abnormally (such as a crash) it doesn’t have an opportunity to reset your proxy settings. It should notice that when it is restarted.

If that doesn’t work you’ll need to fix your proxy settings manually. How you do this depends on what application is misconfigured:

Windows / Internet Explorer
First quit Charles. Then go to the Internet Options in your Control Panel. Go to the Connections tab. Click on the LAN Settings. You’ll see a Proxy panel. Uncheck the Use a Proxy checkbox. Click OK until you’ve closed the Internet Options.

Mac OS X
Go to your System Preferences. Open the Network preferences. Choose the appropriate Network Port (you may need to reconfigure more than one if you have more than one) and click Configure. Go to the Proxies tab. Look in the list of proxy servers, you will see that Web Proxy and Secure Web Proxy are active. Uncheck those or reconfigure them as required for your network. Click Apply Now and then close the Network preferences.

Firefox
First quit Charles. Then go to the Firefox Preferences window, General tab, click Connection Settings. Then choose “Direct Connection to the Internet” or enter whatever proxy settings are required for your network. Click OK and then close the Preferences window.

Use ProxyMan

https://proxyman.io/

More document

https://www.charlesproxy.com/documentation/faqs/using-charles-from-an-iphone/

https://community.tealiumiq.com/t5/Tealium-for-Android/Setting-up-Charles-to-Proxy-your-Android-Device/ta-p/5121

About the Author

Trần Huy

View all author's posts

Bài viết khác

Kanban

1. Kanban là gì? Kanban là một phương pháp quản lý công việc trực quan, giúp bạn theo dõi tiến độ từng nhiệm vụ. Kanban bắt nguồn từ Nhật Bản, ban đầu được Toyota dùng để quản lý dây chuyền sản xuất, nhưng ngày nay được áp dụng rộng rãi trong các lĩnh vực như […]

Scum

1. Scrum là gì? Scrum là một khung làm việc (framework) giúp các nhóm làm việc cùng nhau để phát triển sản phẩm một cách linh hoạt và hiệu quả. Nó thuộc phương pháp Agile – đề cao sự thích nghi, cộng tác và cải tiến liên tục trong quá trình làm việc. 2. Các […]

So sánh Realm, Hive, Sqflite, và Drift

So sánh Tiêu chí Realm Hive Sqflite Drift Mức độ phổ biến Tăng nhanh (Meta hỗ trợ) Rất phổ biến Rất phổ biến Trung bình (cộng đồng ổn định) Dễ sử dụng, dễ tích hợp Trung bình (cần setup Realm SDK) ★ Rất dễ (NoSQL, không cần SQL) Trung bình (phải viết SQL tay) Trung […]

Testing

I. Testing là gì? Testing (kiểm thử phần mềm) là quá trình đánh giá một hệ thống phần mềm để xác định xem sản phẩm có đáp ứng các yêu cầu được đặt ra hay không, và nhằm phát hiện lỗi nếu có. Testing là một phần quan trọng trong vòng đời phát triển phần […]

Application security

Ứng dụng bảo mật là gì? Application Security (Bảo mật ứng dụng) là quá trình bảo vệ ứng dụng khỏi các lỗ hổng và tấn công từ các mối đe dọa bên ngoài. Quá trình này bao gồm các biện pháp bảo vệ trong suốt vòng đời phát triển phần mềm (SDLC): từ thiết kế, […]

MVC/MVP

1. Giới thiệu chung Trong phát triển phần mềm, việc tổ chức mã theo mô hình kiến trúc rõ ràng là rất quan trọng để dễ dàng bảo trì, mở rộng và kiểm thử. Hai mô hình phổ biến trong phát triển ứng dụng là: MVC (Model – View – Controller) MVP (Model – View […]