`
zjjzmw1
  • 浏览: 1366693 次
  • 性别: Icon_minigender_1
  • 来自: 开封
社区版块
存档分类
最新评论

Charles 抓包的工具。

阅读更多

下面是整个链接。

http://www.winshy.com/2013/08/something_about_charlesproxy/?utm_source=rss

 

 

Charles:移动端抓包工具安装使用和经验小结

从事移动互联网一年多的时间,等到去年才慢慢和开发打交道,由于创业公司人手不足,没有专门测试人员,很多时候产品人员QA质量验收的时候,就会面临黑盒测试测试不全面,通讯请求盲人摸象的局面.通过一段时间的摸索,找到了Charles这款适合移动端抓包工具,的确比之前方便了很多,主要体现在:

1.可以查看具体的请求链接,查看有没有多余对服务器的请求,能否更好的优化和服务器之间的通讯.

2.可以直接查看竞品或者其他优秀app的通讯使用的数据结构,精简自己的数据结构,方便节省流量和提升效率

3.可以直接查看统计请求,方便调试有没有入库,或当发生加载异常等情况时,可以第一时间发现问题而无需等开发人员进行真机调试才能判断是服务器还是客户端的问题.

鉴于以上优点,如果路过围观的小伙伴们对这些优点感兴趣又和我有一样的苦恼,不妨继续往下看,以下是安装过程和在使用中的一些经验.

 

 

1.下载并安装Charles.

mac版和window版都有,下载可以去Charles官网(http://www.charlesproxy.com/download/),下载下来的是试用版(截止2013.08.25最新版本是3.7),虽然只是试用版有一定限制,比如开机delay10s,每隔5分钟提示你转为试用版,30分钟后强行关闭,但鉴于他强大的功能,30分钟其实已经足够.目前3.6在百度上有破解版,自行百度之.

2.配置Charles.

1)打开charles后,在proxy标签项关闭自身代理,此选项开启会抓取电脑的网络请求,影响我们测试。实际上我们在测试手机app并不需要,故关闭。

如下:

关闭自身代理2)设置pc端代理。如下图选择proxy setting.如下图所示:

proxysettings

Proxies一项设置如下,默认端口为8888,用于手机连上代理的端口.

proxysettings2

接下来SSL一项如下设置:

proxysettings3

即允许ssl代理,下方的*.*是要通过add按钮添加进去的。在按”add”按钮之后两个输入框均输入”*”,”*”即可.

3) 设置允许代理的ip地址范围。打开proxy->access control setting,如下:

proxysettings4

将你允许的ip地址段填写进去。如下图:

proxysettings5

确定自己要填的ip地址段,window使用cmd命令行  输入ipconfig回车 即可看到自己目前所在的ip,如192.168.0.108(首先这个ip地址最好是无线路由分配的),即可以设置为192.168.0.0/24.如此设置之后192.168.0.0~192.168.0.255的地址均可以访问你的电脑,通过你的电脑进行代理上网。如下图:proxysettings6

3.设置手机端的相关参数.

不同手机设置方法可能有所不同,以安卓手机(谷歌原生4.0以上系统)为例,进入系统设置-》网络,长按目前和pc端连接一样的路由名称,弹出修改网络,选择修改网络,如下:proxysettings7  proxysettings8

按照以上截图选择显示高级选项。配置刚刚pc的ip地址,和端口即可。

然后关闭pc端的防火墙,测试是否连接电脑成功。(此步骤很重要)

测试方法:点击随便一个应用(笔者启动的是今日头条),看charles的Structure栏中有没有出现一些文件夹,类似下图,如果有则成功;

test

 

**********charles常用的一些功能介绍:

1) 忽略请求功能。由于某些时候我们只需要关注某一个应用的请求,所以过滤掉其他不需要显示的请求可以让我们集中精力在该应用.点击某行右键选择ignore(如下图),可以将此链接忽视,将干扰的网络请求屏蔽,防止影响我们测试:

ignore

2) 复制原链接。此功能可以复制请求的原链接,只要你使用Chrome浏览器安装了son viewer的插件,黏贴上去回车即可看到返回的数据结构。同时也方便于发给服务器的开发人员调试用。如下:

copylink

3) 清空捕获的网络请求,正常状态下在structure栏里按ctrl+a,然后按delete键,就可以清除所有捕获的网络请求,

4) 查看请求的相关数据。如下图,overview可以方便的看出请求的时间长短,请求的大小和返回数据的大小,即数据请求的大概情况;

Request用于查看请求的参数是否携带正确。如下图:

data

而response可以查看返回的数据结构是不是我们想要的,如下图,可以明确的看到拿到的封面数据是否正确。

response

    当请求的是一张图片时,还可以直接用response-》image查看图片的尺寸和图片,方便我们确认是否下载正确,如下图:

download

注:使用代理无法访问一些安全验证网站如新浪微博绑定页面,目前android版使用代理直接访问在某些机器上会直接闪退关掉该页面,故需要绑定时请关闭代理之后再连接上代理验证。

 

*************Charles目前尚有问题的地方:

1.同样设置在一些机器可以捕获到Google Analytics的请求,但有些不行,暂时还找不到原因.

2.暂时无法捕捉到微信等请求,可能因为使用的协议不同所以无法捕获,这也是其局限性之一.

3.在一些机器开启charles捕获链接时使用新浪微博登录时会出现崩溃现象,原因也暂时不明.

如果小伙伴们有找到关于以上问题的答案也欢迎和我们分享下.

 

分享到:
评论

相关推荐

    charles抓包工具

    **Charles 抓包工具详解** Charles 是一款强大的网络封包分析软件,主要应用于移动应用开发、Web 开发以及网络故障排查等领域。它可以帮助开发者和测试人员抓取、查看和分析网络通信数据,以便更好地理解应用程序...

    Charles抓包工具

    **Charles 抓包工具详解** Charles 是一款强大的网络封包分析软件,主要应用于iOS、Android开发者和网络调试人员,用于捕获、查看网络流量,帮助理解应用程序如何与互联网通信,或者检测网络问题。它支持HTTP、...

    青花瓷Charles抓包工具

    **青花瓷Charles抓包工具详解** 在信息技术领域,网络数据包分析是开发者、测试人员以及安全专家必备的技能之一。而"青花瓷Charles"就是一款专为Mac OS设计的强大抓包工具,它能够帮助用户捕获并分析网络通信数据,...

    charles抓包工具中文版

    charles抓包工具中文版

    Charles 抓包工具

    Charles Mac是一款免费的HTTP信息抓包工具,可以有效地获取HTTP通信信息,主要用于网页的开发和调试等,Charles Mac可以看json和xml。但是其实用Google Chrome安装插件也是可以看到漂亮的格式的,可以检查HTMl,CSS...

    windows版Charles抓包工具

    **Windows版Charles抓包工具详解** Charles是一款强大的网络封包分析软件,尤其在移动应用开发和测试中,它被广泛用于抓取HTTP和HTTPS协议的数据包,帮助开发者和测试人员理解应用程序如何与服务器进行通信,查找并...

    charles 抓包工具详细设置

    Charles 抓包工具详细设置 Charles 是一个 HTTP 代理服务器、HTTP 监视器、反向代理服务器。它可以让开发者查看所有连接互联网的 HTTP 通信。Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 ...

    charles抓包工具教程

    charles抓包工具在软件测试领域的应用:Charles本质是一个http抓包分析工具, 我们在进行APP开发或测试时,经常需要知道APP的每一步操作调用的是哪个接口,请求参数是什么,返回值是什么。通过简单配置,我们就可以...

    Charles抓包工具-入门

    Charles 抓包工具是一款强大的网络代理和HTTP监控软件,它允许开发人员和测试人员查看并分析网络通信数据,对于Web和互联网应用的调试、优化以及安全检测具有重要作用。本文将详细介绍Charles的基本概念、工作原理、...

    charles抓包工具使用

    详细介绍charles抓包工具的下载安装和使用。详细介绍charles抓包工具的下载安装和使用。详细介绍charles抓包工具的下载安装和使用。

Global site tag (gtag.js) - Google Analytics