Charles是一款用于网络调试和分析的代理工具,可以拦截和查看设备与服务器之间的网络通信。通过Charles,可以监视应用程序的网络流量、修改请求和响应,甚至模拟不同的网络条件。其主要功能包括:
Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。
使用Charles进行Web网络抓包非常简单,启动Charles会自动与浏览器设置成代理,不需要进行过多的设置,接下来就是通过浏览器发送网络请求,Charles就会直接抓取到这些信息和响应信息。
Charles抓包不仅仅可以抓取来自电脑端的HTTP请求,也能够抓取来自App发出的HTTP请求,但是手机抓包需要在电脑端配置下,并且需要手机和电脑在同一网络下,即需要完成下面的设备代理设置步骤。
虽然现在Charles能够直接抓包了,但是https协议的报文我们是抓取不了的,需要安装SSL证书才可以,即需要完成下面的Charles证书下载与证书安装步骤。
Charles整体的配置流程分为以下三步:
a. 查看Charles的IP地址。
b. 设置Charles侧的调试端口号。
c. 手机与PC连接在同一局域网下,手机Wi-Fi设置为手动代理,服务器主机名与端口为Charles的IP地址和Charles监听的端口。
点击需要连接的Wi-Fi进入密码输入页面--->在输入密码前点击【代理】--->选择【手动】--->设置代理的【服务器主机名】为Charles的IP地址,【服务器端口】为Charles监听的端口,即设置成8888--->最后输入密码,连接上Wi-Fi。
第一次连接手机时需要在电脑Charles弹出的连接窗口中选择【Allow】。
a. 安装Charles根证书到PC可信任的目录下:
点击顶部菜单栏【Help】--->选择【SSL Proxying】--->点击【install Charles Root Certificate】--->点击【安装证书】--->设置存储位置(可选择当前用户或是本地计算机)后点击【下一步】--->选择【将所有的证书都放入下列存储】--->点击【浏览】--->设置证书存储路径为【受信任的根证书颁发机构】。
b. 导入系统根证书至手机:
点击Charles顶部菜单栏【Help】--->选择【SSL Proxying】--->点击【Install Charles Root Certificate On a Mobile Device or Remote Browser】--->在手机的自带浏览器中访问http://chls.pro/ssl--->点击【立即下载】,将证书下载至手机内存内。
【Install Charles Root Certificate On a Mobile Device or Remote Browser】 | |
---|---|
![]() | ![]() |
证书在手机上的安装步骤如下:
在手机端点击【设置】--->【隐私和安全】--->下滑点击【高级】--->选择【证书与凭据】进入证书的安装选项中--->选择【从存储设备安装】--->点击【CA证书】--->点击【继续】--->选择【浏览】--->找到下载的证书的位置--->点击证书--->弹出【安装证书成功】的弹窗文字,则安装成功。
选择【从存储设备安装】 | 点击【CA证书】 |
---|---|
![]() | ![]() |
通常情况下,我们需要对网络请求进行过滤,只监控指定目录服务器上发送的请求。对于这种需求,有以下两种办法:
如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。