黄聪:移动应用抓包调试利器Charles
一、Charles是什么?
二、为什么是Charles?
为什么要用抓包工具?大家在平常移动App调试测试中是如何进行抓包的?
在我们做开发与测试的过程中,总免不了碰到网络问题,特别是重后台的产品,这个时候我们往往的处理方法是抓个网络包,看看到底应用发送和接收了些什么鬼.....这个时候Charles上场了;Charles是一款屌的不行的截包工具,好用到没朋友。
那么Charles屌在哪里呢???主要特点如下:
1.支持SSL代理,可以截取分析SSL的请求
2.支持流量控制。可以模拟慢速网络(2G,3G),以及等待时间较长的请求。
3.支持AJAX调试。可以自动把JSON或者XML数据格式化,方便查看。
4.支持重发网络请求,方便后端调试。
5.支持修改网络请求参数。
6.支持网络请求的截取和动态修改。
7.最重要的一个优点就是有不同平台的版本(Mac,Windows、Linux)即学一个打遍天下。
三、Charles基本工作原理
charles是通过网络代理来进行抓包的,下面先了解一下http代理的原理:
1.普通http请求过程
2.加入了Charles的HTTP代理的请求与响应过程
四、Charles的下载与安装过程
1.官网下载地址:
http://www.charlesproxy.com/download/
2.Mac下安装:
是一个安装包是一个dmg后缀的文件。打开后将Charles拖到Application目录下即完成安装。
3.Windows下安装:
下载后直接双击根据安装向导一步一步安装即可
五、Http抓包操作步骤
Step 1:开启Charleshttp代理;
Step 2:手机端Wifi添加代理;
Step 3:开启Charles录制功能;
Step 4:启动应用开始抓包;
Step 5:分析抓取的数据包。
Step 1: 开启Charleshttp代理
a.设置Charles代理
a.激活http代理功能
Step 2: 手机端Wifi添加代理
a. Android手机:
1.在手机端打开你的Wifi设置然后长按已经连接的Wifi在弹出来的菜单中选择【修改网络】
2.沟上[显示高级]选项--【手动】
3.输入代理服务器的IP与端口,IP即安装了Charles的电脑IP地址,端口就是前面一步设置Charles时所设置的端口。
b. iOS手机:
1.点击你所连接的wifi
2.输入代理服务器的IP与端口,
IP即安装了Charles的电脑IP地址,端口就是前面一步设置Charles时所设置的端口。
Step 3:开启Charles录制功能
Step 4:启动应用开始抓包
Step 5:分析抓取的数据包
1.Charles 主要提供两种查看封包的视图,分别名为 “Structure”和 “Sequence”:
a.Structure 视图将网络请求按访问的域名分类;
b.Sequence 视图将网络请求按访问的时间排序。
2.大家可以根据具体的需要在这两种视图之前来回切换。请求多了有些时候会看不过来,Charles提供了一个简单的Filter功能,可以输入关键字来快速筛选出URL 中带指定关键字的网络请求。
3.对于某一个具体的网络请求,你可以查看其详细的请求内容和响应内容。如果请求内容是POST 的表单,Charles 会自动帮你将表单进行分项显示。如果响应内容是 JSON 格式的,那么 Charles可以自动帮你将JSON 内容格式化,方便你查看。如果响应内容是图片,那么 Charles可以显示出图片的预览。
六、Https抓包操作步骤
Step 1:了解一下https的基本原理;
Step 2:在手机端安装SSL证书;
Step 3:激活Charles的SSL代理;
Step 4:将指定的URL请求开启SSL代理功能
Step 5:其他步骤与Http抓包相同,请参考四、Http抓包操作步骤
Step 1:了解一下https的基本原理;
详细说明,请参考:
http://blog.csdn.net/clh604/article/details/22179907
Step 2:在手机端安装SSL证书
1.将证书文件从Charles导出
2.然后通过adb或者其他工具将其复制到手机的SD卡中。
3.将证书文件导入Android手机
4.将证书文件导入iOS手机
Step 3:激活Charles的SSL代理
Step 4:将指定的URL请求开启SSL代理功能
七、Charles进阶---修改请求也响应的内容
Step 1:设置Charless断点。
Step 2:对指定的URL开启断点功能。
Step 3:编辑请求与响应的内容。
Step 1:设置Charless断点
Step 2:对指定的URL开启断点功能。
Step 3:编辑请求与响应的内容。
a.编辑请求内容
b.编辑服务器响应的内容
八、Charles进阶---弱网模拟
1.菜单中选择【Proxy】--->【Throttle Settings..】-à激活【Enable Throttling】。
2.在Throttle Configuration设置弱网的参数。
3.以下是各种网制式的速率参考文档:
移动网络制式与网速的参考文档
作者:luckydaxian链接:https://www.jianshu.com/p/68684780c1b0
转载于:https://www.cnblogs.com/huangcong/p/8418424.html
黄聪:移动应用抓包调试利器Charles相关推荐
- 物联网设备获取北京时间、年月日、星期几,GMT格林威治标准时间转换为北京时间,授时api Fiddler抓包调试
1. 获取北京时间.年月日 授时api 苏宁获取北京时间的api不要太方便:http://quan.suning.com/getSysTime.do 使用 Fiddler抓包调试,查看HTTP返回报文 ...
- 【米家】Charles 抓包调试
抓包调试 扩展程序SDK 中的接口均通过网络与小米IoT 平台交互,为了方便开发者在开发扩展程序的过程中,快速定位并排查问题,开发者在开发以及调试的过程中,使用抓包工具Charles,分析问题出现的原 ...
- 网络抓包调试神器Charles-proxy使用方法,网络代理:HTTP调试工具Charles Proxy
Charles是一款移动端抓包工具,这款软件相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!Charles通过将自己设置成系统的网 ...
- 【详细教程】抓包神器:Charles
逛逛 GitHub 除了推荐一些优质.有趣的 GitHub 项目,也会发一些好玩有用的软件,比如历史发布的: 微软给 Win10 量身打造的效率神器 推荐这一款提供效率的软件 Wox Windows ...
- 抓包神器:Charles
Charles 是在 PC 端常用的网络封包截取工具,在做开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.除了调试端口外,Charles 也可以用于分析第三方应用的通讯协议. ...
- 苹果手机iOS系统关闭抓包或卸载Charles抓包证书步骤
苹果手机iOS系统关闭抓包或卸载Charles抓包证书步骤 很多小伙伴,抓包完成后,不想再次抓包了,如何关闭呢? 可以最简单的操作,是从手机设置,进入通用 找到通用 下方的 VPN与设备管理,点击进入 ...
- 计网 - TCP 实战:如何进行 TCP 抓包调试?
文章目录 Pre 接口列表 开启捕获功能 观察 TCP 协议 消息视图 观察 HTTP 协议 过滤和筛选 报文颜色 总结 QA: 请你用自己最熟悉的语言,写一个 UDP 连接程序,然后用 Wiresh ...
- wireshark 抓包调试 RTSP
文章目录 下载安装wireshark 测试 分析数据 20220302 最简单的是直接过滤rstp 下载安装wireshark https://pc.qq.com/detail/9/detail_69 ...
- charles代理手机调试_Mac 上使用 Charles 进行手机抓包调试
RN 开发时虽然可以借助 remote-devtools 等工具在 chrome 中调试,但是在有些场景下,比如微信登录,不能用 chrome 调试,这个时候就需要抓包工具的帮助了,在 Mac 上首选 ...
最新文章
- redis取出list最边的一个_这几个Redis使用技巧,让你的程序快如闪电
- pyqt5讲解13:图形与特效,设置窗口大小
- when is Component-preload.js loaded by UI Framework
- Equipment upload 不起作用的分析
- python自动化办公知识点整理汇总_Python自动化办公知识点整理汇总
- android绘制环形进度_Android实现环形进度条代码
- Android之页面有变化用onWindowFocusChanged来监听权限是否开启
- java 正则表达式
- 地图小部件—ArcGIS API for JavaScript
- 最长公共子序列算法 java_转【算法之动态规划(三)】动态规划算法之:最长公共子序列 最长公共子串(LCS)字符串相似度算法...
- support.SerializationFailedException: Failed to deserialize payload.
- PHP将图片转换成base64编码,hash函数
- 用javascript源码打印页面
- 电脑操作系统维护10条基础知识!
- FinTech普惠中国,技术创新智慧杭州
- 物联网发展前景和统一通信
- APP如何在应用商店获取较高的排名?
- 鼠标垫测试软件,百款鼠标垫测试(项目)
- 虚拟机ping www.baidu.com不通问题
- 交换原理-QOS TD与WRED
热门文章
- Python字符串常用方法(split,partition,maketrans,strip...)
- java公平锁和非公平锁_java并发编程学习之再谈公平锁和非公平锁
- mysql获取上月的某一天
- 帆软报表数据库配置及关系
- Maven项目创建后没有resources文件夹
- 【转】VB中NEW的用法(申请内存空间)
- 通达信众赢全部破解指标(完美无错源码副图)
- 伯克利人工智能导论课开放:视频、PPT和练习都在这 | 资源
- 最贵5000!小米最贵旗舰MIX 3发布,雷军:干翻华为
- 国产激光雷达厂商禾赛科技B轮融资2.5亿元,光速中国和百度领投