一、简介

Charles是目前最强大最流行的http抓包调试工具,Mac、Unix、Windows各个平台都支持。特别是做APP开发,调试与服务端的通信,Charles是必备工具。

二、Charles工作原理

Charles本质是就是一个http抓包分析工具,在工作的时候需要先把charles设置成代理服务器,这样所有的网络请求都会经过charles了。

三、对移动端进行抓包分析

我们在进行APP开发或测试时,经常需要知道APP的每一步操作调用的是哪个接口,请求参数是什么,返回值是什么,作为服务端,有时还需要对APP的某一个操作进行debug。通过简单配置,我们就可以将我们手机APP上所有请求发送到PC端Charles代理中,Charles会自动抓取http网络包分析请求和返回值,当然这些只是Charles最基本的功能。

下面就介绍如何配置Charles:

  1. 手下手机和电脑必须在一个局域网内,不一定非要是一个ip段,只要是同一个路由器下就可以了
  2. 在PC端安装Charles,关掉防火墙,打开Charles,进入Proxy->Proxy Setting,设置http proxy代理端口:8888(一般默认设置为这个) 
  3. 在移动端,进入无线网络->点击当前连接的wifi->代理设置->设置服务器地址和端口(各手机配置不太一样),这里的服务器地址就是PC端的IP地址,端口就是上面设置PC端的代理端口8888 

经过上面设置,我们手机上的所有请求都会发送到我们PC端指定的端口,而这个端口就是Charles的代理端口。所以,客户端的请求和服务端的响应都会经过Charles,我们通过Charles就可以很方便的看到请求和响应相关的数据啦。

四、实际操作演示

Charles提供了两种查看封包的视图,分别是StructureSequence

1. Structure视图将网络请求按访问的域名分类。
2. Sequence视图将网络请求按访问的时间排序。

我们可以在使用时根据需要随时切换。按照上面介绍配置好,下面就开始演示啦。

第一步,我们打开我们的APP,输入用户名密码,点击登录

第二步(初次使用可能要求我们给予权限,点击允许即可),再看我们的Charles主界面,structure视图中可以看到这次操作的http请求响应信息,并且请求按域名进行了分组

我们可以切换到sequence界面,所有的请求按照请求时间进行排列: 

五、Charles的其它功能

1、Charles开启request和response视图,进入Charles->edit->Preferences->viewers界面,取消勾选"Combine request and response"

2、设置只抓取对应的域名的请求,

如果不设置过滤,手机上所有APP的网络请求都会被解析,看起来很乱,通常情况下,我们只希望看到客户端对应应用服务器的网络请求,这时就需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。对于这种需求,我们有2种办法。

1. 在主界面的中部的Filter栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:`http://*.zitech.com`,那么只需要在`Filter`栏中填入`zitech.com`即可。

2. 在Charles的菜单栏选择`"Proxy"->"Recording Settings"`,然后选择`Include`栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。

3、数据返回显示乱码问题:进入Charles安装目录,修改Charles.ini文件,添加 vmarg.4=-dfile.encoding=UTF-8

												

Charles抓包使用总结的更多相关文章

  1. charles抓包工具分享

    今天,给大组内QA做了一次分享,主要面向移动端测试,介绍了我平时在测试工作中用到的功能,大家都积极响应,现场搭环境,现场操作,现场提问解答,最后大家都成功的利用起来了,感觉很有成就感.下面介绍我今天分 ...

  2. charles抓包工具的中文乱码解决方法

    charles是 MAC上最好用的抓包工具.charles 网上的参考文档已经很多,我就不再赘述啦.只是说说我在安装过程遇到的问题和解决方法,仅供参考. charles抓包的数据中的中文内容显示乱码, ...

  3. charles抓包

    charles使用教程指南 charles使用教程指南 前言 移动APP抓包 PC端抓包 查看模式 其他功能 问题汇总 1. 前言: Charles是一款抓包修改工具,相比起burp,charles具 ...

  4. charles抓包,打断点,连接手机抓包

    写给我自己: 如果是使用charles抓包.一定要tm的保证手机和电脑连的是一个网. charles抓本地包的操作 1.打开charles, 2.打开浏览器访问某网页,就可抓到对应的包 charles ...

  5. IOS charles抓包HTTP

    charles通常用来截取本地的网络封包,但也可以用它来截取其他设备上的网络请求.本篇以IOS为例,讲解如何进行相应的操作. 1.charles上的设置 要截取iphone上的网络请求,我们要先将ch ...

  6. Charles抓包工具使用

    Charles抓包工具使用和进行接口数据模拟 打开软件,选择Tools  >>  Map Local  >>  勾选enable  >>  add  >> ...

  7. charles抓包https设置

    写在前面 https抓包的实现 (一)首先,电脑得装个证书 (二)然后,移动设备上安装证书 (三)最后,Charles添加SSL Proxying 写在前面 开发时,面对各种接口数据,绝大多数时间都会 ...

  8. jmeter数据库,charles抓包,Python循环语句

    jmeter数据库,charles抓包,Python循环语句 一.Jemeter数据库 添加jar包数据库 jemeter=>浏览 添加JDBC Connection Configuration ...

  9. Charles 抓包工具(新猿旺学习总结)

    Charles 抓包工具安装机操作 1.Charles 抓包工具是代理服务器工具,可以拦截数据,进行更改,返回数据,以实现前端后台的请求和响应数据的测试2.Charles 菜单介绍 Charles抓包 ...

  10. Charles 抓包工具安装和采坑记录

    Charles 抓包工具安装和采坑记录 网络抓包是解决网络问题的第一步,也是网络分析的基础.网络出现问题,第一步肯定是通过抓包工具进行路径分析,看哪一步出现异常.做网络爬虫,第一步就是通过抓包工具对目 ...

随机推荐

  1. USB无线网卡导致耳机电流声很大

    今天把许久未用的USB无线网卡插入到电脑中,戴上耳机准备听音乐,发现耳机里面的电流声非常大.回想以前并没有这种状况呀,忽然发现原来是USB无线网卡和耳机都插在前置面板中了,把USB无线网卡插在后置面板 ...

  2. 1027C Minimum Value Rectangle

    传送门 题目大意 有n个木棍,让你选4根使得组成的矩形的周长的平方除以面积最小. 分析 这个题看起来就是一个需要证明的贪心,下面我们来证明一下: 所以我们只需要枚举一边所有的a的可能值,然后b就是比a ...

  3. 安装thrift时,注意openssl参数

    在安装基于openssl-1.0.1c的thrift-0.9.0时,正常使用--with-openssl在configure时会出错,报"Error: libcrypto required. ...

  4. Java50道经典习题-程序25 根据输入求输出

    题目:一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同.分析:分别创建两个数用于判断,一个数为12321,另一个数是12341 分别取出该数的"个十百千万 ...

  5. postgre教程

    http://www.yiibai.com/html/postgresql/2013/080890.html

  6. C# 顺序表---增删改查--逆至--删除最小值

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. Django之博客系统:用户注册和Profile

    前面章节介绍了用户的登录,退出.这一章将介绍用户的注册.首先需要创建一个表单来让用户填写用户名,密码等信息.创建UserRegistrationFrom表单.并指定model为User类 from d ...

  8. JS生成gif动态图下载

    需求:通过动态变化的图生成一个gif图提供下载. 实现方案:1.可通过服务端生成对应gif,然后前端请求下载2.前端自己实现生成gif图片,自行下载 采用方案:前端实现方式,于是在网上找各种相关的几款 ...

  9. C语言数据结构-顺序线性表的实现-初始化、销毁、长度、查找、前驱、后继、插入、删除、显示操作

    1.数据结构-顺序线性表的实现-C语言 #define MAXSIZE 100 //结构体定义 typedef struct { int *elem; //基地址 int length; //结构体当 ...

  10. P4768 [NOI2018]归程

    \(\color{#0066ff}{题目描述}\) 本题的故事发生在魔力之都,在这里我们将为你介绍一些必要的设定. 魔力之都可以抽象成一个 n 个节点.m 条边的无向连通图(节点的编号从 1 至 n) ...