网络抓包工具Charles使用

在做Android应用开发时,几乎每个项目都会涉及到与服务器打交道,也就是少不了与服务端人员的接口调试过程,在开发过程中对于接口的调试可以很简单的用debug既可很清楚知道客户端发送的和服务端返回的数据是否正常,但是更加通用直观的方式则是通过网络抓包工具来进行,因为当导出apk之后,就没办法debug了,这时用抓包工具就非常方便,打开app点击与服务端请求的地方就能看到,而不用连接USB数据线去查看log,网络抓包工具市面上有很多种,根据个人的喜好选择一款既可,这里我在工作中使用的是Charles,也就是这篇博文要对其进行介绍的,话不多说,让我们开始使用它吧~~~

第一步:安装

首先上它的官网进行下载:http://www.charlesproxy.com/,具体介绍可以查看官网介绍,下面贴一张其官方介绍:

我下载的是这个版本:

安装完之后,是需要注册码的,具体可以在网上进行找,我这个版本相关的注册码可以从这个链接中得到:

http://www.hiyoufu.com/?p=290

安装好之后,打开界面如下:

当然现在还不能抓包,紧接着需要进行配置,请看下一步。

第二步:配置

首先得保证手机连接的网络和电脑连接的网络需要在一个网段中,这是必要条件,如果不在则就无法达到抓包的目的,表现如下:

手机端:

电脑端:

从中可以看到,这两个ip都是在同一个网段中的,这个切记~

紧接着需要给手机设置代理,具体步骤如下:

怎么给网站设置代理这里就不多说,还是列出其步骤:

长按已连接网络调出修改网络对话框:

点击进入网络设置界面:

勾选"显示高级选项":

将代理选为"手动":

下面就正式对其手机设置代理,那里面的代理选项怎么填写呢,请睁大眼睛:

所以设置该选项如下:

紧接着设置第二项:

那该端口号设置成多少呢?它来自于Charles软件代理设置中,如下:

所以,手机代理端口设置如下:

好了,到此为止代理设置已经设置完成。

【注意】:其它选项都保持默认既可。

当一切设置都就绪之后,下面就可以验证了,请继续看下面。

第三步:验证

在验证之前,需要切换一下Charles布局如下:

下面开始打开我们的app,点击一下,看是否被电脑上抓到了,由于不好录屏,所以这里就用静态图片表示一下,不用动态方式来展现了,能知道意思就成:

 

那如果我想查看请求时携带的数据是否正常,可以通过下面来查看:

 

而服务器返回的数据也可能查看:

 这样就很方便客户端与服务端进行排查错误,另外还有一个小技巧分享,由于此工具会抓取所有联网的地址,但是对于开发者而言可能只会关心与自己项目接口相关的地址,那么可以进行地址过滤,如下:

 

于是可以进行过滤:

【注意】:有时可能会抓取不到,我自己也碰到过这种情况,这时将工具关了重新启动一下就可以了。

修改请求和返回数据:

在实际工作中,可能会有这样的一个场景,就是这个接口返回数据会有多个条件,而在开发时为了测试不去麻烦服务端的去改数据来模拟各个业务条件,可以在本地代码中写死来模拟,而对于QA而言在测试时不可能给他们打多个条件的包,所以最好是直接更改接口返回的接口来模拟各种条件的请求,而Charies可以很方便的模拟,下面来说明下:

 

接着需要对添加的断点稍加设置一下:

点击确认之后,接下来就可以请求该接口,在服务器返回数据的时候,则会停住,供我们去修改里面的数据去模拟:

这时,我们为了方便测试,修改一下服务器返回的数据来测其它条件:

如果想修改请求的数据,则方法类似,只是需要将这个勾上既可:

至此,关于它的基本使用就到此结束,基本上知道这些就可以了,下回见~

原文地址:https://www.cnblogs.com/webor2006/p/3976995.html