更多技术干货请戳:听云博客

Charles是一款抓包修改工具,相比起TcpDump,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!前面介绍了如何使用TcpDump抓包,下面给大家介绍一下Charles的使用。

Charles抓包


Charles是一个HTTP代理服务器/HTTP监视器/反转代理服务器。它允许一个开发者查看所有连接互联网的HTTP通信。这些包括request、response现HTTP headers(包含cookies与caching信息)。

1、配置抓包环境

1)下载Charles

http://www.charlesproxy.com/

2)安装Charles

下载完毕之后,直接进行安装即可正常使用

(ps:不注册的话,每次使用30分钟,工具就会自动关闭)。

2、使用Charles进行抓包

1)Http抓包

i.打开Charles抓包工具

ii.打开网络偏好设置查看本机IP地址为:10.1.1.139

注:Android 设备需要与PC连接同一网段 

iii.连接同一WiFi后设置本机代理

iv.这里的IP地址为:10.1.1.139;端口号默认为:8888

v.在Charles上查看即可

2)Https抓包(中间人)

a)下载Charles证书

如果要查看Https的数据需要安装Charles的证书

下载地址: http://www.charlesproxy.com/assets/legacy-ssl/charles.crt

b)安装Charles证书

将下载完成的charles.crt证书push到Android设备上(也可用常用工具)

$ adb push charles.crt /sdcard/

i.进入设置à安全à从手机存储卡安装证书

ii.找到charles.crt点击安装

iii.输入证书名称为:charles

注:点击确认后需要设置手机解锁密码

iv.安装成功后即可通过Charles查看Https的数据了

c)添加需要查看的Https地址

i.点击ProxyàSSL Proxying Settings…

ii.在SSL Proxying中点击Add添加Https域名

iii.可在charles中查找需要查看的Https域名复制到Host中点击Ok即可

iv.配置完成后重新访问Https域名,即可查看Https数据

3、使用Charles模拟弱网环境

测试过程中经常需要模拟网络环境,那么如何通过Charles来模拟弱网呢?

i.选择ProxyàThrottle Setting…

ii.勾选Enable Throttle并选择需要设置的网络环境即可

4、使用Charles设置断点

Charles能在网络访问过程中设置断点,对于开发者和测试人员来说,堪称神器。它能够断到发送请求前(篡改Request)和请求后(篡改Response)

1)使用Breakpoint Settings设置断点

2)选中域名插入断点

i.右击选中需要修改的域名,点击Breakpoints

ii.重新访问该域名,选择Edit Request进入修改页面

注:Charles能够修改Request的:URL、Headers、Text、Raw;

以及Response的:Headers、Set Cookie、Text、Html、Raw;

这里以Request的headers参数为例进行修改

iii.这里查看原Headers携带参数为:{NBSHeaderTest1,NBSApp;b,NBSApp}

现在通过断点方式修改为:{NBSHeaderTest1,TingyunTest}

iv.修改完毕后点击Execute查看Request中的Headers已经修改为NBSHeaderTest1 TingyunTest

5、使用repeat测试

在Charles中可以通过repeat和repeat Advances来重复发送请求

repeat Advances可以自定义重复次数和重复间隔

原文链接:http://blog.tingyun.com/web/article/detail/516

Android 常用抓包工具介绍之Charles的更多相关文章

  1. Android常用抓包工具之TcpDump

    ➠更多技术干货请戳:听云博客 做为一个测试人员,工作中经常会用到数据抓包工具来进行数据分析和验证,下面就简单介绍一下工作中常用的抓包工具. TcpDump抓包 Tcpdump是一个用于截取网络分组,并 ...

  2. 抓包工具Fiddler及Charles

    一.抓包工具介绍 1.charles抓包如何抓取手机端数据包(安卓手机) (1)获取pc的IP地址 (2)打开charles里的[Proxy]-[Proxy setting],设置端口号,默认为888 ...

  3. 爬虫05 /js加密/js逆向、常用抓包工具、移动端数据爬取

    爬虫05 /js加密/js逆向.常用抓包工具.移动端数据爬取 目录 爬虫05 /js加密/js逆向.常用抓包工具.移动端数据爬取 1. js加密.js逆向:案例1 2. js加密.js逆向:案例2 3 ...

  4. C#一步一步学网络辅助开发(1)--常用抓包工具的使用

    这次写的是一个系列,是让大家了解如何进行网络的辅助开发.要进行网络辅助开发抓包工具是必不可少的,下面就让大家熟悉一下常用的一些抓包工具, 1,Fiddler 这个工具是我目前用的最多的一款抓包工具,不 ...

  5. 抓包工具--Fiddler及charles的使用

    Fiddler和charles--是抓包工具,可以抓到pc端的请求,手机上设置代理后也可以抓到手机上的请求,也可以修改请求数据和返回的数据. 1.网页抓包,打开Fiddler或Charles应用直接访 ...

  6. ios 抓包工具 ios青花瓷charles

    iOS_青花瓷Charles抓包,ios青花瓷charles 使用青花瓷Charles抓取手机端的网络请求: 第一步,下载安装并打开Charles 第二步,去掉菜单[Proxy]以下的[Mac OSX ...

  7. Charles抓包工具介绍

    1.Charles是什么? Charles是一款基于http协议的代理服务器,通过称为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的. 2.Charles有哪些用途? (1)能够分析前 ...

  8. Fiddler抓包工具介绍

    Fiddler官网 https://www.telerik.com/download/fiddler Fiddler原理 当你打开Fiddler工具的时候你会发现你浏览器的代理服务器被添加了127.0 ...

  9. android App抓包工具的应用(转)

    安装好 fiddler ,手头有一部Android 手机,同时 还要有无线网,手机和 电脑在同一个无线网络.这些条件具备,我们就可以 开始下面的步骤了. 正题 :Fiddler 主菜单 Tools - ...

随机推荐

  1. [AngularJS] AngularJS系列(2) 中级篇之路由

    目录 原理 angular-route ui-router 事件 深度路由 原理 ng的route本质是监听hashchange事件. 在angular-route中 $rootScope.$on(' ...

  2. 【原创】kafka controller源代码分析(一)

    Kafka集群中的一个broker会被作为controller负责管理分区和副本的状态以及执行类似于重分配分区之类的管理任务.如果当前的controller失败了,会从剩下的broker中选出新的co ...

  3. 【转载】8天学通MongoDB——第四天 索引操作

    这些天项目改版,时间比较紧,博客也就没跟得上,还望大家见谅. 好,今天分享下mongodb中关于索引的基本操作,我们日常做开发都避免不了要对程序进行性能优化,而程序的操作无非就是CURD,通常我们 又 ...

  4. .Net Framework源码

    http://referencesource.microsoft.com/

  5. 【iOS】关联属性存取数据

    有时候我们需要在现有的类存放一些额外的信息,通常的做法是继承一个子类,然后定义新增加的属性,然而如果我们为每个需要的类都添加一个类显得太麻烦了,objc提供了一个关联属性的特性,可以给一个对象关联一个 ...

  6. redis sentinel 集群配置-主从切换

    1.配置redis master,redis slave(配置具体操作见上文http://www.cnblogs.com/wangchaozhi/p/5140469.html). redis mast ...

  7. membership 启用 roleManager 抛出异常:未能加载文件或程序集MySql.Web

    在vs2013中新建一个ASP.NET MVC 4 WEB 应用程序,使用“基本”模板.web.config中默认使用forms认证方式,并添加了membership的配置. <roleMana ...

  8. 使用ActivityManager实现进程管理

    Android中使用ActivityManager可以获得进程信息,并对进程进行管理,如结束进程等.本文使用ActivityManager获得进程列表,并结束选中的进程. 首先,看看布局文件. < ...

  9. 【java手记】------------------------java中转发和重定向区别

    转发: request.getRequestDispatcher("success.jsp").forward(request,response); 在服务器组件收到用户请求后.经 ...

  10. objective-c高德地图时时定位

    这篇随笔是对上一遍servlet接口的实现. 一.项目集成高德地图 应为我这个项目使用了cocopods这个第三方库管理工具,所以只需要很简单的步骤,就能将高德地图集成到项目中,如果你没使用过这工具, ...