Charles是一款抓包修改工具,相比起TcpDump,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!前面介绍了如何使用TcpDump抓包,下面给大家介绍一下Charles的使用。
Charles抓包
Charles是一个HTTP代理服务器/HTTP监视器/反转代理服务器。它允许一个开发者查看所有连接互联网的HTTP通信。这些包括request、response现HTTP headers(包含cookies与caching信息)。
1、配置抓包环境
1)下载Charles
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的更多相关文章
-
Android常用抓包工具之TcpDump
➠更多技术干货请戳:听云博客 做为一个测试人员,工作中经常会用到数据抓包工具来进行数据分析和验证,下面就简单介绍一下工作中常用的抓包工具. TcpDump抓包 Tcpdump是一个用于截取网络分组,并 ...
-
抓包工具Fiddler及Charles
一.抓包工具介绍 1.charles抓包如何抓取手机端数据包(安卓手机) (1)获取pc的IP地址 (2)打开charles里的[Proxy]-[Proxy setting],设置端口号,默认为888 ...
-
爬虫05 /js加密/js逆向、常用抓包工具、移动端数据爬取
爬虫05 /js加密/js逆向.常用抓包工具.移动端数据爬取 目录 爬虫05 /js加密/js逆向.常用抓包工具.移动端数据爬取 1. js加密.js逆向:案例1 2. js加密.js逆向:案例2 3 ...
-
C#一步一步学网络辅助开发(1)--常用抓包工具的使用
这次写的是一个系列,是让大家了解如何进行网络的辅助开发.要进行网络辅助开发抓包工具是必不可少的,下面就让大家熟悉一下常用的一些抓包工具, 1,Fiddler 这个工具是我目前用的最多的一款抓包工具,不 ...
-
抓包工具--Fiddler及charles的使用
Fiddler和charles--是抓包工具,可以抓到pc端的请求,手机上设置代理后也可以抓到手机上的请求,也可以修改请求数据和返回的数据. 1.网页抓包,打开Fiddler或Charles应用直接访 ...
-
ios 抓包工具 ios青花瓷charles
iOS_青花瓷Charles抓包,ios青花瓷charles 使用青花瓷Charles抓取手机端的网络请求: 第一步,下载安装并打开Charles 第二步,去掉菜单[Proxy]以下的[Mac OSX ...
-
Fiddler抓包工具介绍
Fiddler官网 https://www.telerik.com/download/fiddler Fiddler原理 当你打开Fiddler工具的时候你会发现你浏览器的代理服务器被添加了127.0 ...
-
android App抓包工具的应用(转)
安装好 fiddler ,手头有一部Android 手机,同时 还要有无线网,手机和 电脑在同一个无线网络.这些条件具备,我们就可以 开始下面的步骤了. 正题 :Fiddler 主菜单 Tools - ...
-
Fiddler抓包-工具介绍(request和response)
from:https://www.cnblogs.com/yoyoketang/p/6731121.html 本篇简单的介绍下fiddler界面的几块区域,以及各自区域到底是干什么用的,以便于各好的掌 ...
随机推荐
-
spring理解
Struts与Hibernate可以做什么事? Struts,Mvc中控制层解决方案,可以进行请求数据自动封装.类型转换.文件上传.效验… Hibernate,持久层的解决方案:可以做到,把对象保存到 ...
-
IEEEtran模版中添加中文:\usepackage{CJKutf8}
\documentclass[conference]{IEEEtran} \usepackage{cite} \usepackage{graphicx} \usepackage{CJKutf8} \b ...
-
RTMP、RTSP、HTTP视频协议详解(转)
一.RTMP.RTSP.HTTP协议 这三个协议都属于互联网 TCP/IP 五层体系结构中应用层的协议.理论上这三种都可以用来做视频直播或点播.但通常来说,直播一般用 RTMP.RTSP.而点播用 H ...
-
ECSHOP 商品页详情页 添加同类随机商品
1,根目录下找到goods.php文件 找到代码 $smarty->assign('properties', $properties['pro']); ...
-
POJ 2152 Fire(树形DP)
题意: 思路:令F[i][j]表示 的最小费用.Best[i]表示以i为根节点的子树多有节点都找到负责消防站的最小费用. 好难的题... #include<algorithm> #incl ...
-
html5 拖放---(二)转
draggable是一个枚举属性,用于指定一个标签是否可以被拖拽.有以下四种取值: true 表示此元素可拖拽 false 表示此元素不可拖拽 auto 除img和带href的标签a标签表示可拖拽外, ...
-
AJAX(XMLHttpRequest)进行跨域请求方法详解(三)
注意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 3,带验证信息的请求 身份验证是Web开发中经常遇到的问题,在跨 ...
-
websevice(Web服务)基础
webservice简介: 1.WebService到底是什么? WebService是一种跨编程语言和跨操作系统平台的远程调用技术.所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户 ...
-
shared_ptr注意点
1.原始指针不能直接使用赋值运算符对shared_ptr进行赋值运算 std::shared_ptr<int> p; p= ); //error p.reset(); //success ...
-
my project 中git使用过程(基本操作流程)
1.g it clone git@name:server/BM/APPS.git 则BM_APPS.git项目被下载到当前目录下了,这时git@name:server/BM/APPS.git就是自己 ...