iOS之Charlse抓包工具的使用

参考:https://blog.csdn.net/Naruto_22/article/details/72900708

https://www.cnblogs.com/mawenqiangios/p/8270238.html

https://blog.csdn.net/qq_18524107/article/details/78028239

乱码解决:https://www.jianshu.com/p/7a332f6ccfbd

https抓包:https://blog.csdn.net/mysimplelove/article/details/78951461

https://blog.csdn.net/lea__dongyang/article/details/73294751

在手机中的设设置---》无线局域网--〉选择当前的网络--》底部的配置代理,选择手动,吧当前电脑的IP地址填入url,端口号8888;

在charlse的菜单栏点击proxy--》Macosproxy;

Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。 

Structure 视图将网络请求按访问的域名分类。 
Sequence 视图将网络请求按访问的时间排序。 

可以根据具体的需要在这两种视图之前来回切换。请求多了有些时候会看不过来,Charles 提供了一个简单的 Filter 功能,可以输入关键字来快速筛选出 URL 中带指定关键字的网络请求。

对于某一个具体的网络请求,你可以查看其详细的请求内容和响应内容。如果请求内容是 POST 的表单,Charles 会自动帮你将表单进行分项显示。如果响应内容是 JSON 格式的,那么 Charles 可以自动帮你将 JSON 内容格式化,方便你查看。如果响应内容是图片,那么 Charles 可以显示出图片的预览。

***将 Charles 设置成系统代理 

打开charles之后,默认就已经对系统进行了代理,如果没有,则需要在菜单栏的Proxy上勾选上Mac OS X Proxy。

****截取Https信息 ,安装电脑的证书
截取分析 Https 协议相关的内容。那么需要安装 Charles 的 CA 证书。具体步骤如下: 

首先需要在 Mac 电脑上安装证书。点击 Charles 的顶部菜单,选择 “Help”-> “SSL Proxying”-> “Install Charles Root Certificate”,然后输入系统的帐号密码,即可在钥匙串看到添加好的证书。默认该证书是不被信任的,到钥匙串中找到该证书,在该证书上右键->”显示简介”,手动改为始终信任。 

charlse菜单栏-》proxy-〉ssl proxy setting-》ssl proxy如下图设置:


****截取移动设备中的 Https信息 ,安装手机证书

如果我们需要在 iOS 或 Android 机器上截取 Https 协议的通讯内容,还需要在手机上安装相应的证书。点击 Charles 的顶部菜单,选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate on a Mobile Device or Remote Browser”,然后就可以看到 Charles 弹出的简单的安装教程。

****在手机中设置

在设备上设置好 Charles 为代理后,在手机浏览器中访问地址:chls.pro/ssl,即可打开证书安装的界面,安装完证书后,就可以截取手机上的 Https 通讯内容了。

通用-》设置-〉关于本机-》证书信任设置-〉针对根证书启用完全信任;


第一个Overview是概览。我对一些字段进行介绍:

(1)URL:我进行网络请求的链接;

(2)Status:当前状态,complete表示请求完成;

(3)Responce Code:返回码。不同的接口,不同的请求结果,返回码都不同;

(4)Protocol:使用的协议;

(5)Method:请求方式,如GET请求,POST请求等;

(6)Kept Alive:判断当前是否正在链接(活跃);

(7)Content-Type:发送的内容类型,如这里用的是XML文本,以UTF8的方式发送;

(8)Client Address:客户端的IP地址;

(9)Remote Address:远程服务器的IP;


Timing:

(10)Request Start Time:请求开始的时间;

(11)Request End Time:请求结束的时间;

(12)Response Start Time:返回开始的时间;

(13)Response End Time:返回结束的时间;


Size:

(14)Request Header :请求的头部大小;

(15)Request Header:返回的头部大小;

(16)Request : 请求发送的大小;

(17)Response:返回数据的大小;

(18)Total:所有数据大小;

(19)Request Compression :请求压缩;

(20)Response Compression: 返回压缩;

第二个页面是关于请求发送的。下面的Headers,Query String,Raw。

(1)Headers:发送请求的头部信息;

(2)Query String:发送参数列表;

(3)Raw:发送的原生数据,包括了头部和参数;

Response的是关于所有返回信息的。

(1)Headers:是返回的头部信息;

(2)Text:返回信息(除去头部)后的文本;

(3)Hex:返回信息的16进制表示;

(4)XML:我返回的数据是XML。如果你返回的是JSON,这里就会显示JSON;

(5)XML Text:如果你返回JSON,这里会显示JSON Text;

(6)Raw:返回的所有原生数据,包括头部;

  现在我对Charles顶部的一些常用的工具栏做一个介绍:

(1)New Session:新建一个会话。也就是在一个新的Charles界面查看网络情况;


(2)Open Session:打开一个之前保存的会话;


(3)Close the current Session:关闭当前的会话;


(4)Save the current Session:保存当前的会话;


(5)Clear the current Session:清空当前的会话(比较方便,常用);


(6)Find Text in the current session:相当于查找功能;


猜你喜欢

转载自blog.csdn.net/u011146511/article/details/80803209