软件测试 | 手把手教你如何使用 Charles 抓包工具(电脑+手机端)

    • 一、Charles简介
    • 二、Charles下载与安装
    • 三、Charles配置
      • (1)Charles-PC端的配置如下:
      • (2)过滤网络请求:
      • (3)Charles抓取HTTPS请求包前置条件:
      • (4)Charles抓取HTTPS双向认证包:
  • 关注我,免费领取学习资料

嘿。大家好,我是4U:
做过 APP 测试的同学都会接触抓包工具,通过抓包工具可以获取到客户端与服务端接口的交互数据,在实际测试APP的过程中,我们往往会发现服务端返回 的参数字段错误、数据统计错误等问题,通过抓包可发现这些问题,对开发修复 BUG 提供有效的帮助。那么今天给大家继续介绍一下抓包工具 Charles工具。

一、Charles简介

Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request,response和HTTPheaders(包含cookies与caching信息)。

主要功能如下:

  • 支持SSL代理。可以截取分析SSL的请求。
  • 支持流量控制。
  • 可以模拟慢速网络以及等待时间(latency)较长的请求。
  • 支持AJAX调试。
  • 可以自动将json或xml数据格式化,方便查看。
  • 支持AMF调试。
  • 可以将FlashRemoting或FlexRemoting信息格式化,方便查看。
  • 支持重发网络请求,方便后端调试。
  • 支持修改网络请求参数。
  • 支持网络请求的截获并动态修改。
  • 检查HTML,CSS和RSS内容是否符合W3C标准。

Charles是一款很实用,界面很友好(至少跟fiddler比起来),功能强大的抓包神器,因为它是基于java开发的,所以跨平台,Mac、Linux、Windows下都是可以使用的,并且在Android和iOS设备上通用。
它的原理是通过成为电脑或者移动设备的代理截取请求和请求结果达到分析抓包的目的。

二、Charles下载与安装

官网下载地址:https://www.charlesproxy.com/


下载后,直接点击下一步,就可以安装才能安装成功。安装后打开Charles如下:

三、Charles配置

(1)Charles-PC端的配置如下:

第一步:设置端口号Proxy–ProxySettings默认端口号是8888。
第二步:查看电脑IP,Help–LocalIPAddresses。

第三步:手机设置代理后(步骤参考上一节的手机端配置),设置代理服务器和端口号。

第四步:打开APP,发送请求,Charles弹出是否允许该手机访问,点击Allow。

第五步:点击允许后,可以在Proxy–AccessControlSettings里看到允许访问此代理服务器列表。

注意: 如果点击了拒绝,可以手动添加手机IP/Mac地址到允许访问列表,后者重启Charles,手机再次访问即可。

设置完成后,即可抓包。

(2)过滤网络请求:

从上图中,可以看出网络请求很多,我们能否过滤出我们指定的URL地址呢?有以下两种方法:

方法一: 在Sequence界面的中部的Filter栏中填入需要过滤出来的关键字,例如我们的服务器地址时:*.xxxx.wsmall.com,那么只需要在Filter栏中填入wsmall即可。

方法二: 在Charles的菜单栏选择Proxy–RecordingSettings,选择Include,输入需要监控的协议,主机地址,端口号,这样就可以只截取目标网站的封包了。

(3)Charles抓取HTTPS请求包前置条件:

手机已经设置代理,可抓取到http包,未抓取HTTPS包的情况:

抓取到HTTPS包的情况:

安装SSL证书到手机设备:点击Help–SSLProxying-InstallCharlesRootCertificateonaMobileDevice。

在手机浏览器输入地址chls.pro/ssl,出现证书安装页面,点击安装部分手机需要设置手机密码才可以安装。

Charles设置Proxy:Proxy–SSLProxyingSettings。

设置需要抓取的域名,端口输入443,设置完后,即可抓取HTTPS包。

(4)Charles抓取HTTPS双向认证包:

双向认证,简单的理解就是服务器端和客户端都有证书,目前有部分APP就采用双向认证,如果我们按照上面的章节操作是抓取不到包的,那么我们怎么处理呢?我们这里比抓取https请求包多了一步上传客户端证书,前置条件是:

可抓取到HTTPS包

客户端证书:xxxt.p12(可以找开发获取)

点击Help–SSLProxying–InstallCharlesRootCertificate,安装证书


Proxy–SSLProxyingSettings,设置域名和端口号。

设置域名和端口号,上传客户端证书,上传证书时,需要输入证书密码。

上传根证书,上传时需要输入证书密码。设置完成后,即可抓取APP的请求包。

关注我,免费领取学习资料

CONTACT US / 联系我们
VX/官方公众号:乐搏软件测试
BILIBILI/哔哩哔哩:乐搏软件测试
喜马拉雅/官方账号:乐搏软件测试
免费分享学习资料 lebo5207

学习资料+教学视频+安装包+工具包
点击底部 “ 点赞 + 评论 + 收藏 ” 来一次说点就点的一键三连哦!

软件测试 | 手把手教你如何使用 Charles 抓包工具(电脑+手机端)相关推荐

  1. 软件测试 | 手把手教你如何使用 Fiddler 抓包工具(电脑+手机端)

    嘿.大家好,我是4U: 做过 APP 测试的同学都会接触抓包工具,通过抓包工具可以获取到客户端与服务端接口的交互数据,在实际测试APP的过程中,我们往往会发现服务端返回 的参数字段错误.数据统计错误等 ...

  2. 【干货】手把手教你如何使用Charles抓包

    一.为什么使用charles 前几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结果打开软件后什么也干不了,别说手机抓包了,打开软件什么请求也抓不到.很多时候都是如此,如果一个方案不行, ...

  3. 手把手教你如何使用Charles抓包

    目录 一.为什么使用charles 二.下载地址 三.web抓包 四.App抓包 五.Charles过滤 六.弱网测试 七.打断点篡改数据 八.修改请求数据 九.重复发送请求 一.为什么使用charl ...

  4. 手把手教你Charles抓包工具使用(建议收藏)

    目录:导读 Charles简介 Charles主要功能 开始抓包 安装 web抓包 Charles下配置 App抓包 抓取手机HTTPS协议 Charles过滤 弱网测试 Charles配置弱网设置 ...

  5. 在华为工作十年的大佬手把手教你Charles抓包工具使用,还学不会你就完了!

    一.为什么使用charles 几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结果打开软件后什么也干不了,别说手机抓包了,打开软件什么请求也抓不到.很多时候都是如此,如果一个方案不行,肯 ...

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

    charles抓包工具的中文乱码解决方法 参考文章: (1)charles抓包工具的中文乱码解决方法 (2)https://www.cnblogs.com/grimm/p/7494688.html 备 ...

  7. ios手机如何安装charles抓包工具证书

    ios手机如何安装charles抓包工具证书 安装证书前提,已经下载好charles 1.打开手机设置–WiFi–配置代理–点击手动–填写(服务器,端口号)–点击存储 不知道服务器和端口号,在char ...

  8. Charles抓包工具使用介绍

    Charles抓包工具使用介绍 Charles简介 Charles是一个http协议调试的代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯.设置断点.查看所有进出Charles数据的一 ...

  9. Charles抓包工具安装教程

    Charles抓包工具简介 Charles是常用的网络封包截取工具,在做移动开发和测试时常常需要截取网络封包来分析. Charles是通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都 ...

最新文章

  1. inline-block元素4px空白间隙的解决办法
  2. 【AAAI2022】基于特征纯化的视线估计算法
  3. 解决chrome extension无法下载的问题
  4. 深入浅出 JQuery (一) 浅析JQuery
  5. 消暑圣品!这部宝马“鬼片”你看过没,第一个被无人驾驶车辆吓跑的女鬼?...
  6. 关于JavaWeb项目加密的实现 2021-04-24
  7. C语言实现简单学籍管理系统
  8. 最新eclipse国内镜像站,比ustc等站点资源新。
  9. vector容器v1、v2之间相互赋值的三种方法及易错点详解
  10. 统计学习基础(ESL)中文版
  11. 分享一个Bing的翻译功能
  12. Java集合容器面试题(2022版本)
  13. 熊猫压缩怎么使用_记录随时间变化的PagerDuty事件(使用熊猫)
  14. 49个excel常用技巧(二)
  15. 1、玩转树莓派音频——DIY具有输入输出的声卡(非USB)
  16. 生产环境安装、配置、管理PostgreSQL14.5数据库集群。pgpool 4.3.3参数中文说明
  17. vscode开启鼠标滚轮缩放字体大小设置
  18. Linux 用户管理 文件目录指令 时间日期指令 搜索查找类 解压压缩类
  19. xlrd读取Excel数据
  20. 解决无法使用IMAP将Gmail帐户添加到Outlook的问题

热门文章

  1. Idea中新建Servlet+JSP项目
  2. 汇编语言2种常用的编程框架
  3. XMPP中文 XEP-0030:服务发现
  4. 现货交易,你要了解哪些事
  5. 《精力管理》阅读笔记
  6. 微信找不到nfc功能_手机中的NFC功能不会用?试试微信“通用”中开启,网友:很实用...
  7. python处理word_python处理word文档
  8. “被马云推下地狱”低调做阿里CEO
  9. EasyRecovery16最新免费版电脑数据恢复软件功能介绍
  10. 计算机里的用户是保存在D盘还是c盘,电脑的c盘和d盘有什么区别吗