1、Charles是什么?后端
为何要用抓包工具?你们在日常移动App调试测试中是如何进行抓包的?浏览器
在咱们作开发与测试的过程当中,总免不了碰到网络问题,特别是重后台的产品,这个时候咱们每每的处理方法是抓个网络包,看看到底应用发送和接收了些什么鬼.....这个时候Charles上场了;Charles是一款屌的不行的截包工具,好用到没朋友。安全
那么Charles屌在哪里呢???主要特色以下:服务器
1.支持SSL代理,能够截取分析SSL的请求网络
2.支持流量控制。能够模拟慢速网络(2G,3G),以及等待时间较长的请求。less
3.支持AJAX调试。能够自动把JSON或者XML数据格式化,方便查看。工具
4.支持重发网络请求,方便后端调试。测试
5.支持修改网络请求参数。加密
6.支持网络请求的截取和动态修改。url
7.最重要的一个优势就是有不一样平台的版本(Mac,Windows、Linux)即学一个打遍天下。
charles是经过网络代理来进行抓包的,下面先了解一下http代理的原理:
1.普通http请求过程
2.加入了Charles的HTTP代理的请求与响应过程
1.官网下载地址:
2.Mac下安装:
是一个安装包是一个dmg后缀的文件。打开后将Charles拖到Application目录下即完成安装。
3.Windows下安装:
下载后直接双击根据安装向导一步一步安装便可
Step 1:开启Charleshttp代理;
Step 2:手机端Wifi添加代理;
Step 3:开启Charles录制功能;
Step 4:启动应用开始抓包;
Step 5:分析抓取的数据包。
a.设置Charles代理
a.激活http代理功能
1.在手机端打开你的Wifi设置而后长按已经链接的Wifi在弹出来的菜单中选择【修改网络】
2.沟上[显示高级]选项--【手动】
3.输入代理服务器的IP与端口,IP即安装了Charles的电脑IP地址,端口就是前面一步设置Charles时所设置的端口。
1.点击你所链接的wifi
2.输入代理服务器的IP与端口,
IP即安装了Charles的电脑IP地址,端口就是前面一步设置Charles时所设置的端口。
1.Charles 主要提供两种查看封包的视图,分别名为 “Structure”和 “Sequence”:
a.Structure 视图将网络请求按访问的域名分类;
b.Sequence 视图将网络请求按访问的时间排序。
2.你们能够根据具体的须要在这两种视图以前来回切换。请求多了有些时候会看不过来,Charles提供了一个简单的Filter功能,能够输入关键字来快速筛选出URL 中带指定关键字的网络请求。
3.对于某一个具体的网络请求,你能够查看其详细的请求内容和响应内容。若是请求内容是POST 的表单,Charles 会自动帮你将表单进行分项显示。若是响应内容是 JSON 格式的,那么 Charles能够自动帮你将JSON 内容格式化,方便你查看。若是响应内容是图片,那么 Charles能够显示出图片的预览。
Step 1:了解一下https的基本原理;
Step 2:在手机端安装SSL证书;
Step 3:激活Charles的SSL代理;
Step 4:将指定的URL请求开启SSL代理功能
Step 5:其余步骤与Http抓包相同,请参考4、Http抓包操做步骤
详细说明,请参考:
1.将证书文件从Charles导出
2.而后经过adb或者其余工具将其复制到手机的SD卡中。
3.将证书文件导入Android手机
4.将证书文件导入iOS手机
Step 1:设置Charless断点。
Step 2:对指定的URL开启断点功能。
Step 3:编辑请求与响应的内容。
a.编辑请求内容
b.编辑服务器响应的内容
1.菜单中选择【Proxy】--->【Throttle Settings..】-à激活【Enable Throttling】。
2.在Throttle Configuration设置弱网的参数。
3.如下是各类网制式的速率参考文档:
做者:luckydaxian连接:https://www.jianshu.com/p/68684780c1b0