charles使用教程

时间:2024-03-26 18:58:38

1.charles 系统代理设置

Charles 是通过将自己设置成代理服务器来完成封包截取的,所以使用 Charles 的第一步是将其设置成系统的代理服务器。

启动 Charles 后,第一次 Charles 会请求你给它设置系统代理的权限。你可以输入登录密码授予 Charles 该权限。你也可以忽略该请求,然后在需要将 Charles 设置成系统代理时,选择菜单中的 Proxy –>Windows Proxy” 来将 Charles 设置成系统代理。如下所示:
charles使用教程
之后,你就可以看到源源不断的网络请求出现在 Charles 的界面中。

需要注意的是,Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容。如果你需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果。

2.Charles的视图模式

Charles提供两种视图模式:structure(结构)和sequence(序列),可自行选择
charles使用教程

charles使用教程

3.过滤网络请求

通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。对于这种需求,有以下几种办法:
方法一:在主界面的左下角的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:http://baidu.com , 那么只需要在 Filter 栏中填入baidu 即可。
charles使用教程
方法二:在 Charles 的菜单栏选择 Proxy→Recording Settings,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。如下图所示:
charles使用教程
通常情况下,我们使用方法一做一些临时性的封包过滤,使用方法二做一些经常性的封包过滤。
方法三:在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 一项,如下图所示:
charles使用教程
这种方式可以临时性的,快速地过滤出一些没有通过关键字的一类网络请求。
4.抓取https请求
charles抓取https的请求,会出现SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations这样的提示,同时抓取的内容会出现乱码,如下图。要通过charles抓取数据,还需要进行一些简单的设置。
charles使用教程
charles使用教程
具体设置步骤如下
①安装证书
charles使用教程
charles使用教程

之后点击完成,提示证书导入成功!
② 修改charles的proxy settings
选择Proxy → ProxySettings,弹出ProxySettings设置选项卡,勾选Enable transparent HTTP proxying
charles使用教程
③修改charles的ssl proxy settings
选择Proxy →SSL ProxySettings,弹出SSL ProxySettings设置选项卡,在Location部份选择add,按如下图添加,抓取任意站点,443端口的数据
charles使用教程

到此就设置完了,再去抓取https的包就可以了。
charles使用教程
5.设置代理,进行手机抓包
为了抓取https的包,需要手机上下载对应的证书,这一步的目的是为了移动设备连接到Charles,这样移动设备发起的所有请求才能在Charles中看到。

首先确保自己手机的wifi和电脑在同一网络下,千万不要用4G,那么没办法抓包,必须连接wifi。
我更喜欢选择“Help→SSLProxying→install charles Root …Browser”查看,这样子可以一下子把端口号和ip都看到
charles使用教程
charles使用教程
上面的是我的IP,你们的跟我的肯定不一样。然后在自己安卓手机里设置下代理,找到WiFi,查看WiFi详情,进入到WiFi里设置如下图

charles使用教程
把代理改为手动,并填写自己的IP和端口号,然后点击保存。然后再次进入查看下代理设置是否成功。
注意:如果你不需要用手机设置代理了,把代理记得关掉,不然会影响你浏览某些网页和应用。
这时,手机设置好了,打开你需要进行调试的app,你会发现电脑上charles出现一条提示:
charles使用教程

第一个箭头标注的是你的手机ip地址。你需要允许该手机的练级,点击“Allow”
这个提示,只会在手机首次链接电脑的时候出现,同意后后面则不会出现。
注意,如果你的手机链接时没有出现该弹窗,去检查自己刚才手机端的代理是否设置错误
如果设置没有问题,可选择“Proxy->Access Control Settings”手动进入Charles的设置选项,添加当前手机的IP
charles使用教程

然后就是安装手机证书了,同样选择“Help→SSLProxying→install charles Root …Browser”,查看手机证书下载
charles使用教程
这一段是告诉你去chls.pro/ssl这个网站,通过手机浏览器下载一个证书(记得,此时代理一定要是开启状态)
证书下载完成后,安装下就可以了!
charles使用教程
到此,你的设备和Charles就建立了连接,可以尝试在设备*问一个地址或者app,在Charles左侧视图就能实时看到请求啦。
Charles是通过将自己设置成代理服务器来完成抓包的,勾选系统代理后,本地系统(如果通过浏览器发送请求)发送出去的请求都能被截取下来。因此,如果想只抓取手机APP发送的请求的话,可以不勾选WindowsProxy选项,这样在测试时就不会被本机Http请求所干扰。
也就是,去掉这个勾选的状态
charles使用教程