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

1.概述

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

2.安装

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

3. 显示模式

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

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

(2) Sequence形式如下图 优点:可以看到全部请求,这里的结果以数据请求的顺序来显示,最新的请求显示在最下面

综上,两种形式各有千秋,structure 适合对单一系列的访问请求从宏观上进行把握,可以快速定位。sequence 适合精确定位内容,因为每条sequence 都有size,status等属性信息,方便快速定位这条结果的价值,楼主一般两者一起使用。

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数据: 

其中5、6、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 为什么下载后打不开?

  1. 因为charles是需要java环境才能运行的,需要先安装java环境才可以。
  2. Java: http://www.java.com/zh_CN/

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

  1. 因为charles如果没有注册,每打次只能打开30分钟,然后自动关闭。
  2. 所以最好在使用前先按照说明去进行工具的注册操作。

3 为什么在操作的时候工具界面卡死,关不掉,只能用任务管理器才可以关掉?

  1. 这个是charles这个工具的一个bug,按照下面那样操作就可以解决:
  2. 首先随便抓些包,要求有图片的请求。
  3. 然后选中一个图片的请求,分别点击 Response - Raw ,那里会加载其中的内容,加载完毕后做任何操作就不会有问题了。

4 为什么用了charles后,我就上不了网页了,但是qq可以。

  1. 因为如果charles是非正常状态下关闭的话,那么IE的代理就不会被自动取消,所以会导致这种情况。
  2. 解决办法:
  3. 第一种:直接打开charles,然后再正常关闭即可。
  4. 第二种:去将IE浏览器代理位置的勾选去掉。

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

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

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

  1. 首先,请确保电脑的防火墙是关闭状态,这个很重要。
  2. 如果,防火墙关了还是不行,那么请把手机wifi断掉后重新连接,这样一般就可以解决问题了。
  3. 如果以上方法还是不行的话,请检查手机wifiHttp Proxyserver是否为电脑ip port 是否8888

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

  1. 请在Raw模式下查看,Raw模式显示的是原始数据包,一般不会因为编码问题导致显示为乱码。

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

  1. 点击状态栏 Proxy -> Mac OS X Proxy Mozilla Firefox Proxy 这两个勾选去掉,勾选表示接收电脑的数据抓包.
  2. 如果只想抓去APP的数据请求,可以不勾选此功能,减少其他信息干扰。

9 为什么我用IE可以抓到数据,但是用360或者谷歌浏览器就不行?

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

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

  1. 请直接使用Ctrl +C Ctrl+V 即可。

8. 参考目录

  1. charles使用教程指南 
    http://drops.wooyun.org/tips/2423

网络抓包神器-Charles使用指南的更多相关文章

  1. 超详细的网络抓包神器 tcpdump 使用指南

    原文链接:Tcpdump 示例教程 本文主要内容翻译自<Tcpdump Examples>. tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在 ...

  2. Mac平台下的抓包神器 —— Charles

    在开发界,“抓包”这个词想必大家耳熟能详.通过抓包工具,能够获取设备在网络通讯过程中的交换数据包.在 Windows 平台上,笔者使用较多的是 Fiddler 工具,但是由于 Fiddle 使用 C# ...

  3. 测试必备工具之最强抓包神器 Charles,你会了么?

    前言 ​ 作为软件测试工程师,大家在工作中肯定经常会用到各种抓包工具来辅助测试,比如浏览器自带的抓包工具-F12,方便又快捷:比如时下特别流行的Fiddler工具,使用各种web和APP测试的各种场景 ...

  4. 测试必备工具之抓包神器 Charles 如何抓取 https 数据包?

    之前发过一篇文章讲解了Charles抓包工具的基本使用(有需要的小伙伴可以去看上一篇文章),  讲的数据包主要是http协议,大家可以看到数据包并直接显示具体详细的内容: 但是如果抓到的是https的 ...

  5. Mac上的抓包工具Charles

    http://blog.csdn.net/jiangwei0910410003/article/details/41620363 $********************************** ...

  6. [MACOS] Mac上的抓包工具Charles

    转载自: http://blog.csdn.net/jiangwei0910410003/article/details/41620363 今天就来看一下Mac上如何进行抓包,之前有一篇文章介绍了使用 ...

  7. 抓包工具Charles 【转】

      今天就来看一下Mac上如何进行抓包,之前有一篇文章介绍了使用Fidder进行抓包 http://blog.csdn.net/jiangwei0910410003/article/details/1 ...

  8. HTTP抓包工具Charles分析

    Charles是一款抓包神器,它是Java开发的跨平台的软件,不仅可以在Mac上使用,Linux以及Window下都是可以使用的,当然需要安装JDK,才能运行,他是收费的,需要进行破解. 破解操作:将 ...

  9. [转]Mac上的抓包工具Charles

    $*********************************************************************************************$ 博主推荐 ...

随机推荐

  1. Beta阶段冲刺五

    Beta阶段冲刺五 Task1:团队TSP 团队任务 预估时间 实际时间 完成日期 新增其他学院的爬虫 180 130 11.30 新增其他学院的数据库字段修改 180 160 12.1 新增其他学院 ...

  2. Beta 冲刺 五

    团队成员 051601135 岳冠宇 031602629 刘意晗 031602248 郑智文 031602330 苏芳锃 031602234 王淇 照片 项目进展 岳冠宇 昨天的困难 数据交换比较复杂 ...

  3. 【补】debug

    懒得翻别人博客了,之前的按钮不显示名字,应该是文字ui文件名写错了. 现在不存在任何已知bug.

  4. Grafana elasticsearch 应用

    早期的时候,项目基于ES+echart写了一些仪表盘的展示页面,虽然ES配合这种char界面有着天然的优势,但实际写起代码来,还是很多重复的劳动,在一次偶然中发现Grafana,看到它提供了很多仪表盘 ...

  5. BZOJ1815 SHOI2006有色图(Polya定理)

    置换数量是阶乘级别的,但容易发现本质不同的点的置换数量仅仅是n的整数拆分个数,OEIS(或者写个dp或者暴力)一下会发现不是很大,当n=53时约在3e5左右. 于是暴力枚举点的置换,并且发现根据点的置 ...

  6. HGOI20181031 模拟题解

    sol:第一题就DP?!然后写了O(n^2) dp再考虑优化!!!(尽量部分分带上!!!) 我写了正确的dp然后优化错了,具体的dp方法是考虑到对于右侧到左侧他是没有后效性的 所以定义f[i]为i及以 ...

  7. 【bzoj4012】 HNOI2015—开店

    http://www.lydsy.com/JudgeOnline/problem.php?id=4012 (题目链接) 题意 一棵树,每条边有正边权,每个点的点权非负.若干组询问,强制在线,每次查询点 ...

  8. Nagios服务器端配置文件详解

    Nagios服务器端安装部署详解见:http://www.cnblogs.com/ginvip/p/6505948.html Nagios 主要用于监控一台或者多台本地主机及远程的各种信息,包括本机资 ...

  9. Kubernetes Pod详解

    目录 基本概念 pod资源配额 容器的健康检查 静态pod 基本概念 Pod是kubernetes集群中最基本的资源对象.每个pod由一个或多个业务容器和一个根容器(Pause容器)组成.Kubern ...

  10. 生成ssh-key for GIthub

    在Github里,如果我们想通过ssh的方式进行身份验证,我们就需要建立ssh-key: 方法一: git GUI,点击help,选择Generate ssh key