godtrue

一:认识Charles

1:Charles是什么?

Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).

Charles本质是一个代理服务器软件,最核心的功能就是抓取HTTP/HTTPS的请求和响应报文信息。

 

2:Charles的工作原理?

Charles的本质是代理服务器软件,所以如果想使用它来抓取报文信息,就必须在端上配置相关的代理,当然Charles本身也需要设置对应代理配置,比如:端口(默认是8888),ip就是Charles所在的端上的IP

 

3:Charles能做什么?

1:抓取HTTP、HTTPS的报文信息

2:弱网测试

3:打断点进行流量劫持和篡改

4:反向代理

5:流量重定向

6:其他,未来可能还有更多好玩的功能

 

4:Charles的优点?

相比于Fiddler这个抓包工具的优点

二:使用Charles

1:安装Charles

https://www.charlesproxy.com/download/

2:Charles组件介绍?

1:功能界面布局

2:主导航栏功能按钮介绍

3:请求栏样式及特点

4:请求数据栏样式

3:Charles代理设置——非常关键——后面给各个端(windows/mac/ios/android)设置代理时,需要配置对应的IP和端口

获取Charles的IP信息

4:Charles访问控制设置,用于设置那些端可以访问此Charles实例,注意:安装Charles软件的端是默认可以使用Charles的

5:端上的代理设置,凡是想通过Charles抓包的端,都需要配置对应的代理配置,这一步很关键

1:windows端的代理配置?

 

2:mac端的代理配置?

 

3:ios端的代理配置?

 

4:android端的代理配置?

 

6:抓HTTPS的报文,需要安装SSL证书否则会乱码

 

1:windows安装SSL证书?

 

2:mac安装SSL证书?

 

3:ios安装SSL证书?

 

4:android安装SSL证书?

 

设置-> 安全和锁屏-> 加密和凭证-> 安装证书 (-> CA证书 / -> WLAN证书)->找到浏览器下载的SSL证书,进行安装

验证是否安装成功,可以查看Charles抓取的HTTPS报文信息是否还是乱码

-> 加密和凭证

-> 安装证书

-> CA证书

-> WLAN证书

-> 选择下载好的证书,假设你的Charles安装在两台MAC上,你需要粉笔安装两个对应的证书

 

7:SSL代理配置

8:Charles弱网测试配置

9:Charles断点配置

10:Charles实战总结

 

三:特别注意的地方?

1:Charles最核心的功能

 

2:Charles的代理设置?

安装好Charles之后,最先调整的就是这个设置,设置好端口后,再在端上配置好对应的代理就能抓对应端上的HTTP报文了

3:Charles 的SSL代理设置 ?

这个设置也很关键,配置后可以抓取HTTPS的报文信息,当然,在没有安装好SSL证书之前,抓取的HTTPS报文信息都乱码

 

4:安装 Charles SSL证书

对于抓取HTTPS报文,这一步最为关键,又有每个端安装证书的方式不尽相同,可能还需要好好看一下,我玩的时候在这一步花的时间最多

5:回话录制设置,这个针对特定的请求很有用

 

6:Charles注册,若资金允许,请购买正版,支持正版软件

https://www.charles.ren/

如果不注册,Charles有30天的试用时间,时间已过,使用上会有一些限制,比如:启动延迟10s,每过半小时就自动关闭一下。

 

 

 

7: Charles的本质是一个代理服务器软件,这个多次强调过,最核心的功能就是用于抓包,所以使用的步骤如下

1:安装Charles软件,这个最简单

2:进行代理设置,待抓包的端上进行代理设置,注意:手机端和安装Charles的电脑端的网络需要时同一个,然后就可以在Charles上抓取http的报文了

3:SSL代理设置,然后在待转包的端上安装SSL证书,注意:每个端安装SSL证书的方式,稍有不同,需要具体看,然后就可以在Charles上抓取https的报文了

4:其他功能,比如:反向代理、弱网测试、流量劫持和篡改,这种专业测试可能会用,我目前基本不用,就是为了抓包,看端上的请求对应的接口是什么?入参出参是什么?

5:安装了Charles的电脑默认是可以直接使用Charles作为代理服务器的相当于代理的设置直接设置了,可以抓取http的报文,不过要抓取https的报文还是必须安装SSL证书才行的

 

posted on 2022-12-25 20:56  godtrue  阅读(56)  评论(0编辑  收藏  举报