注意:如果mac上的apple id 登录时提示:连接apple id服务器时出错,那么请退出抓包工具=====================
首先下载Charles V4.0
然后就是免费注册(如果免费注册过程中,即charles.jar进行包内覆盖时,出现了程序损坏,说要扔进垃圾箱时,先按住ctrl,再打开程序即可)
免费注册后,效果如下:
打开抓包时,发现许多网站打不开,说是https连接提示证书不信任,关掉Charles又可以正常访问
这时候,就需要打开应用,找到Help菜单,如图所示
根据官网的提示安装即可安装证书:
https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
https://www.charlesproxy.com/documentation/proxying/ssl-proxying/
具体步骤摘抄如下:
SSL Certificates
Charles generates its own certificates for sites, which it signs using a Charles Root Certificate, which is uniquely generated for your installation of Charles (as of v3.10). You will see a warning in your browser, or other application, when it receives that certificate because the Charles Root Certificate is not in your list of trusted root certificates. See SSL Proxying.
You can choose to permanently trust each site's certificate as you encounter it, in which case you do not need to trust the Charles Root Certificate. If you would like to automatically trust every certificate issued by Charles, continue with these instructions.
The following instructions are for different browsers and applications to help you trust your Charles Root Certificate so you no longer see certificate warnings.
Note that the Charles Root Certificate approach changed with version 3.10 of Charles, so if you have already followed this procedure for an older version of Charles you will need to do it again.
Mozilla Firefox
First ensure that Firefox is connected to Charles. You should see browsing from Firefox being recorded in Charles.
Visit https://chls.pro/ssl in Firefox. You will be presented with a certificate import dialog. Tick the option "Trust this CA to identify websites" and complete the import.
macOS
In Charles go to the Help menu and choose "SSL Proxying > Install Charles Root Certificate". Keychain Access will open. Find the "Charles Proxy..." entry, and double-click to get info on it. Expand the "Trust" section, and beside "When using this certificate" change it from "Use System Defaults" to "Always Trust". Then close the certificate info window, and you will be prompted for your Administrator password to update the system trust settings.
You may need to quit and reopen Safari to see the change.
iOS devices 真机设备请注意:
第1步,使用代理 第2步手机下载证书:https://chls.pro/ssl,第3步:千万记得要打开开关:通用->关于->证书信任设置(最底部)->Charles Proxy CA(打开开关)
Set your iOS device to use Charles as its HTTP proxy in the Settings app > Wifi settings.
Open Safari and browse to https://chls.pro/ssl. Safari will prompt you to install the SSL certificate.
If you are on iOS 10.3 or later, open the Settings.app and navigate to General > About > Certificate Trust Settings, and find the Charles Proxy certificate, and switch it on to enable full trust for it (More information about this change in iOS 10).
Now you should be able to access SSL websites with Charles using SSL Proxying.
Charles supports App Transport Security (ATS) as of the 3.11.4 release.
iOS Simulators
Quit your iOS Simulator. Launch Charles and go to the Help menu. Choose the "SSL Proxying > Install Charles Root Certificate in iOS Simulators" item. This will install your Charles Root Certificate into all of your iOS Simulators. Now when you start the iOS Simulator, you should be able to access SSL websites with Charles using SSL Proxying.
Google Chrome
On macOS, please follow the instructions for macOS above. These instructions only apply on Windows.
In Charles go to the Help menu and choose "SSL Proxying > Save Charles Root Certificate". Save the root certificate as a Binary Certificate (.cer) to your desktop, or somewhere where you can easily access it in the next step.
In Chrome, open the Settings. At the bottom of the settings page, click "Advanced" to open the advanced section, then click the "Manage certificates…" button.
Go to the "Trusted Root Certification Authorities" tab and click "Import…".
Find the certificate file you saved from Charles in the previous step, then click Next and Finish, leaving the default options, until you complete the import. Chrome will now always trust certificates signed by Charles.
After importing you can delete the certificate file that you saved.
Python
Python's requests module will fail with an error when you try to use it with SSL Proxying in Charles:
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate
verify failed (_ssl.c:590)
You can configure requests to trust your Charles Root Certificate. First save your certificate as a .pem file using the Help > SSL Proxying > Save Charles Root Certificate menu. Then configure your Session as follows:
from requests import Session
session = Session()
session.verify = "charles-ssl-proxying-certificate.pem"