接口工具接口抓包工具之Charles

Posted tanwheey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口工具接口抓包工具之Charles相关的知识,希望对你有一定的参考价值。

上篇我们讲了Fiddler,Fiddler是用C#开发的,所以Fiddler不能在Mac系统中运行,没办法直接用Fiddler来截获MAC系统中的HTTP/HTTPS, Mac 用户怎么办呢?

1、Fiddler可以允许“远程连接”。  可以利用这个间接来实现Fiddler捕获Mac系统发出的HTTP/HTTPS。

Mac中安装虚拟机软件(比如VMware Fusion),然后在虚拟机中安装一个 Windows7系统(别的Window系统都可以), 然后在Windosw7中安装Fiddler。

2、使用Charles代替Fiddler

接下来,简单介绍下Charles。Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request、response和HTTP headers (包含cookies与caching信息)。

一、官网下载

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

点击对应的安装包进行下载。

技术分享图片

 

二、设置Charles

1、破解Charles

访问 https://www.zzzmode.com/mytools/charles/ 生成Charles.jar

技术分享图片

技术分享图片

用Charles.jar替换如下文件

macOS: /Applications/Charles.app/Contents/Java/charles.jar

Windows: C:Program FilesCharleslibcharles.jar

2、设置代理基础信息

替换好charles.jar后,打开Charles,点击菜单栏的Proxy->Proxy Settings,设置代理的端口号,设好后点击OK,代理的端口号设置完成。

技术分享图片

三、本地浏览器或手机端设置网络代理

(保证Charles和APP在同一个网络环境)

设置WiFi的手动代理,主机名为:安装Charles的PC对应的IP, 端口

 具体方法见【接口工具】接口抓包工具之Fiddler 一文中的技术分享图片客户端设置代理方法

注意:手机与电脑连接同一wifi网络,然后查看电脑IP。(Charles中的方法:依次点击Charles中的Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser,弹窗中出现的IP和端口号即为手机wifi代理中需要设置的服务器和端口)

技术分享图片

Charles抓本地PC上浏览器中各网页进行抓包,点击菜单栏中的Proxy,勾选Win Proxy即可。

技术分享图片

四、安装并信任Charles的证书

1、在本地PC安装证书

菜单栏中依次点击Help->SSL Proxying->Install Charles Root Certificate

技术分享图片

跟着向导一步步操作,选择将所有的证书都放入下列存储(P),安装证书到本地。

技术分享图片

 

 技术分享图片

 技术分享图片

在Chrome浏览器设置搜索框中输入证书,点击管理证书,查看证书是否导入并信任证书。

技术分享图片

技术分享图片

2、在手机端安装证书

方法一:手机浏览器上安装

这一般适用于ios手机,手机配置好代理后,charles会弹窗询问是否同意连接,点击同意

技术分享图片

在手机浏览器safari或chrome中输入http://chls.pro/ssl,下载安装证书。

技术分享图片

技术分享图片

技术分享图片

方法二:在PC上下载再传到手机上

这一般适用于android手机。

下载证书:依次点击Charles中的Help->SSL Proxying->Save Charles Root Certificate...,将Charles证书保存到电脑,然后copy到手机根目录(手机打开开发者选项)。

安装证书:依次点击设置->锁定屏幕和安全->其他安全设置->从设备存储空间安装,找到根目录下的Charles证书,安装Charles证书。

查看证书是否安装:依次点击设置->锁定屏幕和安全->其他安全设置->查看安全证书->用户(或直接查看用户证书)。

 技术分享图片

技术分享图片

技术分享图片

技术分享图片

每要抓一个新域名的https,一定记着添加到recording settings Include(进行过滤) 和SSL Proxing Settings中去,此时Charles应该能抓HTTPS的包了,不行就重启。

 注意TIPS:

1、手机端设置代理前可以正常上网,设置代理后无法上网?

    解决办法:关闭windows防火墙。如果防火墙关了还是不行,那么把手机wifi断掉重新连接。如果上述方法还是不行,那么将手机wifi的IP地址设置成静态IP,然后重启Charles软件。

 

------------------------------------------------------Tanwheey--------------------------------------------------

爱生活,爱工作。

 

 

 

 

以上是关于接口工具接口抓包工具之Charles的主要内容,如果未能解决你的问题,请参考以下文章

接口测试中抓包工具Charles的使用

Charles抓包工具常用功能——Https抓包接口——IOS iPhone手机抓包

学习总结——接口测试中抓包工具的使用

学习总结——接口测试中抓包工具的使用

抓包工具Charles的使用

Charles - 接口抓包分析工具