mac下Charles软件的使用

一.Charles简介

Charles是mac上常用的截取网络封包的工具,Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络请求都要通过他来完成,从而实现网络封包的截取和分析。

Charles是一款收费软件,可以免费试用30天,未付费的用户之后仍可试用,但是每次的使用时间不能超过30分钟,并且每次启动将会大约10秒的延迟。

Charles的主要功能包括:

1.支持SSL代理,可以截取分析SSL的请求。

2.支持流量控制。可以模仿低速网络,以及等待时间较长的请求。

3支持Ajax调试,可以自动将json或者XML数据格式化,方便查看

4.支持AMF,可以将flash Remoting或 Flex Remoting信息格式化,方便查看

5.支持重发网络请求,方便后端调试

6.支持修改网络请求参数

7.支持网络请求的截取的动态修改。

8.检查HTML,CSS,RSS内容是否符合W3C标准。

二.Charles安装和使用

http://www.charlesproxy.com下载各个版本的Charles安装包,他就是dmg文件的,打开后正产安装即可。

网上也有老版charles破解版,百度一下就能找到。

SSL证书安装

如果你需要分析SSL协议的内容,那么你就需要安装Charles的CA证书:

1.http://www.charlesproxy.com/ssl.zip下载CA证书。

2.解压zip文件,双击.crt文件。

3.从钥匙串访问中可以看到已经添加成功的证书。

mac下Charles软件的使用_第1张图片

将Charles设置成系统代理

第一次启动Charles后,Charles会请求你给他设置系统代理的权限,你可以输入登陆密码以授予Charles该权限,也可以忽略该请求,然后在需要将Charles设置成系统代理时,选择菜单proxy-> macOX来将Charles设置check系统代理。

mac下Charles软件的使用_第2张图片

此时可查看request和response。

mac下Charles软件的使用_第3张图片

过滤网络请求

通常情况下,我们需要对网络请求进行过滤,只监控向指定服务器上发送的请求,这种需求,我们可以通过两种方法来设置:

1.在主界面中的Filter栏中填写需要过滤出来的关键字,例如我们服务器地址是www.baidu.com,则我们只需要在Filter栏中输入baidu即可。

2.在charles的菜单栏选择 proxy -> recording setting,然后选择include栏,选择添加一个项目,然后填入需要监控的协议、主机和端口号。这样就可以直接截取目标网站的封包了。

mac下Charles软件的使用_第4张图片

通常情况下,我们使用方法1做一些临时性的封包过滤,使用方法2做一些经常性的封包过滤。

使用Charles协助iOS开发

1.截取iPhone上的网路封包

charles通常用来存取本地的网络封包,但是当需要时,我们也可以用它来截取其他设备上的网络请求

charles设置

要截取iPhone的网络请求,我们首先需要将Charles的代理功能打开。在charles的菜单栏选择proxy -> proxySetting,填入代理端口8888,并且勾选“enalbe transparent http proxying"

就完成了Charles的设置。

mac下Charles软件的使用_第5张图片

iphone设置

查看电脑wifi,打开terminal,输入ifconfig.en0

mac下Charles软件的使用_第6张图片

在iPhone上设置->无限局域网中,可以看到当前WIFi名,通过单机右侧的详情按钮,可以看到当前连接的wifi详细信息,包括ip,子网掩码等。在其最底部有一个HTTP代理一项,我们将其切换为手动,将电脑的ip地址手动填到服务器栏,将端口设置为8888.

设置模拟器网络

在Charles 的菜单上,选择“proxy”-> "throttle setting"项,在对话的弹框中,勾选 “enable throttling”,并且可以设置 Throttle Preset的类型,如下图:

mac下Charles软件的使用_第7张图片

如果我们只是想模拟指定网站的网路速度,可以勾选上图中的“only for selected hosts”项,然后在对话框的下半部分设置中添加指定的hosts即可。

高级功能

Charles默认并不截取SSL的信息,如果你想截取某个网站上所有的SSL网络请求,可以在该请求上单击右键,选择“SSL Proxying”

mac下Charles软件的使用_第8张图片

修改网络请求的内容

有的时候为了调试服务器的接口,我们需要反复尝试不同的参数请求。charles可以方便地提供网络请求的修改和重发功能。只需要在以往的网路上单机右键,选择“edit”,即可创建一个可编辑的网络请求。

你可能感兴趣的:(mac下Charles软件的使用)