https://juejin.cn/post/6844903665304600589

iOS

Charles 配置

image.png

Charles配置

安装好Charles之后,需要进行必要的配置

  • 首先配置Proxy,如下图:

image.png
配置Proxy

image.png
image

系统使用的端口是8888,通常不需要修改,当然也可以自己进行修改。

  • 配置SSL Proxy,如下图

image.png
image

一开始是没有任何项的,这里点击Add

image.png
image

host输入*, Port输入443.

配置证书

上面的操作以及可以抓一些http请求的包,但是现在很多请求都是https,因此需要安装相应证书,如下图:

image.png
image

随后可以看到下图:

image.png
image

这里需要信任Charles Proxy CA,双击证书,选择始终信任。


接下来需要为我们的移动端申请一个证书,如下图

image.png
image

  • 到这里,电脑端的配置就全部结束了。接下来看移动端的配置

    移动端配置

    需要注意的是,移动端需要和pc端需要处于同一局域网内。

  • 打开手机的wifi设置,点开已连接的Wi-Fi,设置代理为手动,主机名填pc端的ip,mac下用ifconfig查询,windows用ipconfig查询,端口号填8888(自己之前设置的端口)

image.png
image

  • 然后用手机浏览器在地址栏输入chls.pro/ssl,它会提示下载一个证书,下载完毕后去【描述文件】安装就可以。
  • image.png

    最后

  • 我用的小米手机自带的浏览器下载的证书,是无法安装的,貌似小米手机都不行,网上各种说法,最后我下载了个234浏览器下载后安装成功。

  • 使用完毕后记得把代理改回来,不然会上不了网的!

安装charles
这里推荐直接去官网下载 https://www.charlesproxy.com/latest-release/download.do
根据自己的电脑选择合适的安装包,我这里选择macOS dmg格式安装包。安装好后直接运行,第一次是试用版。
破解方法
考虑到自己经常使用这个抓包,就在网上搜了下破解方法。
方法一:
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
直接用上面的注册码,点击help->register Charles 输入上面提供的注册码,输完确定后重新启动charles即可
方法二:
访问https://www.zzzmode.com/mytools/charles/ 根据页面提示完成操作

1

抓取http报文

想要抓取手机上H5页面可按照以下步骤:
1.将手机和电脑连接在同一个网络上,电脑和手机连接同一WIFI;
2.在Mac上系统偏好设置->网络面板可查看到自己电脑的ip;
3.在手机连接上同一WIFI后,修改网络,设置代理,填写服务器主机名为第2步中查看到的自己电脑的ip,服务器端口为8888,点击保存;
4.此时在手机上访问的http协议页面在charles上都能看到网络请求。

2

抓取https报文

想要抓取https报文,必先安装证书,如果是想抓取mac浏览器访问的https页面,mac得安装证书,同理如果是想抓取手机访问https页面,手机得安装证书。mac上证书安装1.点击help -> SSL proxying -> install charles root certificate 密码授权2.在弹出的添加证书窗口中,选择添加,可以看到在钥匙串访问窗口中,该证书已成功添加,但是此时该证书仍然不被信任。

Charles APP 抓包 - 图11

3.双击此证书,在弹出的Charles Proxy CA窗口中,点击信任按钮,使用此证书时,选择始终信任后关闭窗口,使用账号和密码授权后,即可看到此证书已经被信任了。

Charles APP 抓包 - 图12
此时mac上访问的https页面在charles上能看到网络请求了手机上证书安装手机和电脑连接同一网络后,用手机默认浏览器访问http://chls.pro/ssl 下载pem证书安装证书,这里不同的手机安装证书方式不同,我这里以Huawei手机为例 设置->安全和隐私 ->更多安全设置 -> 加密和凭据 -> 从存储设备安装 点击刚才下载的pem证书 即可安装完成。此时手机上访问的https页面也可以在charles上看到网络请求了

3

如何用charles过滤请求

在用charles抓包请求时会看到有很多请求并不是自己想要的,这时候我们需要学会过滤出自己想要的请求。过滤方法有三种1.在主界面的中部的 Filter 栏中输入需要过滤出来的关键字

Charles APP 抓包 - 图13

2.菜单栏选择 “Proxy”->”Recording Settings”,在弹出的窗口中选择 Include 栏,再点击“Add”,在弹出的窗口中输入需要监控的协议,主机地址,端口号等信息,来添加一个项目。如下图所示:

Charles APP 抓包 - 图14

3.在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 一项,如下图所示:
Charles APP 抓包 - 图15

4
charles如何限制网速,模拟弱网环境

选择Proxy->Throtting Setting,打开后如下图设置

Charles APP 抓包 - 图16

Charles APP 抓包 - 图17

5
charles如何修改请求的响应内容

选中要修改的请求,右击选择Map Local 在Edit Mapping弹窗中选择一个本地文件(自己修改后的请求)作为请求的响应内容。

Charles APP 抓包 - 图18