网络抓包神器-Charles使用指南

http://blog.csdn.net/liulanghk/article/details/46342205 

 

1.概述

Charles是目前最强大的http调试工具,在界面和功能上远胜于Fiddler,同时是全平台支持,这么好用的软件惋惜就是收费的,网上是有破解版的Charles,学习交流可下载。java

2.安装

首先须要下载java的运行环境支持。装好java环境后,能够直接去百度搜索并下载charles的破解版,下载到破解版以后,里面通常会有注册的jar文件,而后注册后就能够永久使用了(ps:不注册的话,每次使用30分钟,工具就会自动关闭),下载连接中是 V3.6版(http://pan.baidu.com/s/1h7xFL),最新版本是V3.8.3没有破解包,因此不要升级到最新版。浏览器

3. 显示模式

charles抓包的显示,支持两种模式,Structure和Sequence。cookie

(1) Structure形式以下图 优势:能够很清晰的看到请求的数据结构,并且是以域名划分请求信息的,能够很清晰的去分析和处理数据。数据结构

这里写图片描述

(2) Sequence形式以下图 优势:能够看到所有请求,这里的结果以数据请求的顺序来显示,最新的请求显示在最下面app

这里写图片描述

综上,两种形式各有千秋,structure 适合对单一系列的访问请求从宏观上进行把握,能够快速定位。sequence 适合精肯定位内容,由于每条sequence 都有size,status等属性信息,方便快速定位这条结果的价值,楼主通常二者一块儿使用。socket

4.PC端抓包

Charles支持抓去http、https协议的请求,不支持socket。工具

charles会自动配置浏览器和工具的代理设置,因此说打开工具直接就已是抓包状态了。学习

下图显示的是Charles的主界面:测试

这里写图片描述

上图中的几个小图标是最经常使用的几个功能。编码

1 垃圾桶图标,功能是clear,清理掉全部请求显示信息。 

2. 望远镜图标,功能是搜索关键字,也可使用ctrl+f实现,能够设置搜索的范围。

这里写图片描述


3 圆圈中间红点的图标,功能是领抓去的数据显示或者不显示的设置。 这个本人认为是charles工具很方便的一个,通常都使其为不显示抓取状态,只有当本身测试的时候的先后,在令其为抓取并显示状态。这样能够快准狠的获取到相关本身想要的信息,而没必要在一堆数据请求中去寻找。

4 那个小铅笔是编辑修改功能,能够对下图中的请求信息进行修改,修改完毕后点击Execute就能够发送一个修改后的请求数据包。以下图,博主把cookies删掉了

这里写图片描述

5 抓取的数据包的请求地址的url信息显示。通常也能够直接在条目上右键copy url 在浏览器中查看。

6 抓取的数据包的请求内容的信息显示。 
这里写图片描述

7 返回数据内容信息的显示。 
这里写图片描述

解析后的JSON数据: 
这里写图片描述

其中五、六、7中都有各类形式的数据显示形式,其中raw是原始数据包的状态。

5.移动应用抓包

这是博主应用最多的地方,除了手机端须要对http proxy 进行下设置,其余使用和PC端抓包基本相似,具体步骤以下:

  1. 手下手机和电脑必须在一个局域网内,不必定非要是一个ip段,只要是同一个路由器下就能够了,好比电脑链接的有线网ip为192.168.16.12,而后手机连接的wifi ip为192.168.1.103,可是这个有线网和无线网的最终都是来自于一个外部ip,这样是能够的。 
    .
  2. 具体配置,电脑端不用作任何配置,可是须要把防火墙关掉(这点很重要)! 
    charles须要设置下代理端口:进入Proxy,点击Proxy Setting, 端口设置为8888(通常默认为这个)

这里写图片描述

3 手机端配置 
首先进入终端,执行 - ifconfig命令查看本身电脑的ip地址,而后在手机端的wifi代理设置那里去进行相关的配置设置。以下图,在手机wifi 的Http Proxy -> Manual进行设置,server与电脑ip相同,端口同Charles设置:

这里写图片描述

4 好了,这样就配置完成就大功告成了,打开百度外卖就能够愉快的进行抓包了。

5.注意,使用完Charles以后,要点击off,关闭手机端设置,要否则,手机会出现访问异常的状况。

6.其余技能

相信上面介绍的那些你已经学会了吧,下面再说说charles的一些其余经常使用的功能

选择请求后,右键能够看到一些经常使用的功能,这里说说Repeat 就是重复发包一次。 而后Advanced Repeat就是重复发包屡次,这个功能用来测试短信轰炸漏洞很方便。

还有好比说修改referer测试CSRF漏洞,修改form内容测试XSS,修改关键的参数测试越权,修改url、form、cookie等信息测试注入等,都很是方便。

7. charles使用问题汇总

Charles是一款很好用的抓包修改工具,可是使用的时候确定会遇到各类感受很莫名其妙的问题,下面列出一些常见问题:

1 为何下载后打不开?

由于charles是须要java环境才能运行的,须要先安装java环境才能够。
Java: http://www.java.com/zh_CN/

2 为何用着用着就自动关闭了?大概30分钟就会关闭一次?

由于charles若是没有注册,每打次只能打开30分钟,而后自动关闭。
因此最好在使用前先按照说明去进行工具的注册操做。

3 为何在操做的时候工具界面卡死,关不掉,只能用任务管理器才能够关掉?

这个是charles这个工具的一个bug,按照下面那样操做就能够解决:

首先随便抓些包,要求有图片的请求。

而后选中一个图片的请求,分别点击 Response - Raw ,那里会加载其中的内容,加载完毕后作任何操做就不会有问题了。

4 为何用了charles后,我就上不了网页了,可是qq能够。

由于若是charles是非正常状态下关闭的话,那么IE的代理就不会被自动取消,因此会致使这种状况。

解决办法:

第一种:直接打开charles,而后再正常关闭便可。 
第二种:去将IE浏览器代理位置的勾选去掉。

5 为何我用charles不能抓到socket和https的数据呢?

首先,charles是不支持抓去socket数据的。 
其次,若是抓不到https的数据的话,请查看你是否是没有勾选ssl功能。 
最后,看下代理设置:Proxy - Proxy Settings - SSL 设置

6 为何我用charles抓取手机APP,什么都是配置正确的,可是却抓不到数据。

首先,请确保电脑的防火墙是关闭状态,这个很重要。
若是,防火墙关了仍是不行,那么请把手机wifi断掉后从新链接,这样通常就能够解决问题了。
若是以上方法仍是不行的话,请检查手机wifi中Http Proxy:server是否为电脑ip, port 是否8888。

7 抓包后发现form中有些数据显示是乱码怎么办?

请在Raw模式下查看,Raw模式显示的是原始数据包,通常不会由于编码问题致使显示为乱码。

8 我用charles抓手机app的数据,可是同时也会抓去到电脑端的数据,能够设置吗?

点击状态栏 Proxy -> Mac OS X Proxy 、Mozilla Firefox Proxy 这两个勾选去掉,勾选表示接收电脑的数据抓包.
若是只想抓去APP的数据请求,能够不勾选此功能,减小其余信息干扰。

9 为何我用IE能够抓到数据,可是用360或者谷歌浏览器就不行?

请确保360或者谷歌的代码设置中是否是勾选设置的是 使用IE代理。

10 想要复制粘贴某些数据的话,怎么办,右键没有相应功能啊?

请直接使用Ctrl +C 和 Ctrl+V 便可。

8. 参考目录

  1. charles使用教程指南 
    http://drops.wooyun.org/tips/2423
相关文章
相关标签/搜索