抓包工具Charles的简单使用

2,696 阅读3分钟

工欲善其事必先利其器,作为开发者一定要会使用工具来增加技能和提升自身价值,平时开发中抓包是我们必不可少的工具,我们可以使用抓包工具来调试我们的程序,也可以使用抓包工具来分析软件使用的协议,如果我们想仿造别人的软件,又懒于写服务器的代码或者不懂服务器编程,也可以使用我们的抓包工具获取别人软件的数据(窃取数据不提倡),因此懂得会使用抓包工具在我们开发中显得尤为重要的了。基于这几点,本文为各位读者介绍比较主流的抓包工具——Charles,由于我也是使用的次数不超过十次,所以本文教读者简单使用,文章不会太难懂,但是读者读完该文章基本能够会使用Charles抓取数据来分析。

简介

Charles是一个HTTP代理/ HTTP监视器/反向代理,使开发人员能够查看其计算机和Internet之间的所有HTTP和SSL / HTTPS流量。 这包括请求,响应和HTTP标头(包含cookie和缓存信息),该软件是用Java写的,能够在Windows,Mac,Linux上使用。读者也可以到Charles的官网了解。需要说明的一点的是这款软件是需要不是免费的,如果没有购买的话,有三十天的试用期,三十天过后还是可以使用,但是限时,一天使用的时间不可以超过30分钟,而且每次打开使用有10秒钟的延迟。

使用

下载安装软件,这些步骤,不需要详说了。下载的话,可以在官网下载,也可以百度下载,貌似百度有破解版本的,读者可以自行下载安装。

Charles

由于我的是试用版,所以每次打开都会有十秒钟的延迟。

设置代理

PC端抓包,Charles支持抓去http、https协议的请求,但是不支持socket。在PC下charles会自动配置IE和工具的代理设置,打开工具就直接抓包了。但是抓取移动端的 数据,就需要设置代理。

Charles.png

如图,打开Proxy->ProxySetting。

Charles.png

需要设置端口号,并且Enable需要勾上。

查看电脑IP

Help--->Local IP Adress:

Charles.png

Charles

做好了上述步骤之后需要在手机上设置代理。

手机上设置代理

打开手机设置-->然后知道使用的网络-->代理设置

Charles

选择手动设置

Charles

服务器和端口号要跟Charles中一样的。

完成了以上的步骤就可以使用Charles来抓取移动端的数据了。

Charles.png

以上就是我打开UC头条,抓取到的数据。在Overview中我们看到URL,请求的响应码,请求方法等等。

Charles

以上便是通过url获取得到的json数据。能够获取到url,我们便能获取得到json数据。

限制访问的网速

可以通过Proxy--->Throttle Setting来设置访问的网上,如果我们平时使用Sharles来测试服务端或者查看UI的渲染过程,那么这个就显得非常有用的了。

Charles.png

Charles.png

勾选Enable然后add,添加限速的ip和端口号,然后就可以设置上传和下载的最大速度,还可以模拟3G和4G的网速。用处还是非常大的。

使用Charles抓包,在软件的首界面还可以在Content中查看到抓取的数据

Charles.png

如果获取得到的HTTPS数据是乱码的情况,需要到官网获取并安装Charles的CA证书了。

通过以上的介绍,读者应该都懂得如何使用Charles来抓包了,那么就动起手来吧。