高颜值抓包工具Charles,实现Mac和IOS端抓取https请求

Hi,大家好。在进行测试的过程中,不可避免的会有程序报错,为了能更快修复掉Bug,我们作为测试人员需要给开发人员提供更准确的报错信息或者接口地址,这个时候就需要用到我们的抓包工具。

常见的抓包工具有Fiddler、Charles,在此之前介绍过Fiddler抓包:Fiddler抓包详解,今天我们介绍Mac端以及IOS端如何使用Charles抓取https。

一、Charles介绍

1、Charles简介

Charles中文名又叫青花瓷,是一款很实用,界面很友好,功能强大的抓包神器,因为它是基于 Java 开发的,所以跨平台,Mac、Linux、Windows下都是可以使用的,并且在Android和iOS设备上通用。

2、Charles原理

当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request、response和HTTP headers,通过成为电脑或者移动设备的代理截取请求和请求结果达到分析抓包的目的。

3、Charles作用

  • 截取 Http 和 Https 网络封包。
  • 支持重发网络请求,方便后端调试。
  • 支持修改网络请求参数。
  • 支持网络请求的截获并动态修改。
  • 支持模拟慢速网络。

二、Charles下载及安装

1、Charles下载

Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。

下载地址:

官网:https://www.charlesproxy.com/

绿色版下载(网上有很多相关下载地址)

For Windows:https://www.7down.com/soft/133829.html

For Mac:http://www.xue51.com/mac/2527.html

注意:安装完后,替换”安装路径->Charles\lib”文件夹下的charles.jar文件成破解版jar文件,如果再次启动未弹出30天试用的提示,说明成功。

2、Charles安装

(1) Mac端安装

进入Charles官网,选择macOS下载:

下载后安装:

(2) PC端安装

进入Charles官网,选择windows下载:

下载后自行安装即可,此处不再详细介绍。

三、Charles界面视图介绍

1、Charles界面视图

Charles在Mac端的界面:

1)在顶部导航是基本设置、代理设置、工具、帮助等;

2)中间位置是请求的接口名字、请求内容、响应内容等;

3)通常常查看请求会使用"Structure"视图和"Sequence"视图;

  • Structure:按照接口结构来归档汇总;
  • Sequence:按照接口请求顺序来汇总;
    请求栏介绍:


请求数据介绍:

2、Charles界面说明

Charles在Mac端的快捷工具:

快捷工具介绍:

四、Charles抓取HTTPS

1、Mac端配置
(1) Charles代理设置

点击导航栏 Proxy -> Proxy Setting ,端口一般设置8888,按照下图设置即可。

系统偏好设置->网络->高级->代理,端口号默认是8888,与Proxy

-> Proxying Settings 中的HTTP代理端口号相同。

(2) Charles证书安装

在Charles的 Help选项,选择 SSL Proxyings选项->选择 Install Charles Root Certificate。

设置允许信任:

(3) 配置SSL代理

在Charles的 Proxy选项->选择SSL Proxy Settings->点击add添加需要监视的域名,支持 * 号通配符,端口一般都是443。

(4) 抓取Web端https请求

设置完电脑端配置,就可以正式开始抓取请求了。抓取数据分为三步。首先清空所有的数据,然后点击开始按钮,并分析抓取结果。

①要抓取哪个页面的数据,就先访问哪个界面 。比如抓取微信公众平台数据接口:

②当我们操作的时候,每加载一次数据,都会被我们的抓包工具Charles截获到,显示出来。左下角过滤框输入想抓的地址,其他所有的接口会被过滤掉,查看更方便:

2、IOS端配置

首先确保手机与电脑在同一局域网内,在手机无线中配置手动代理,输入安装Charles的电脑的网络地址,端口填8888,IOS端配置步骤总结如下:

(3) IOS端证书安装

网络代理设置好后,打开safari浏览器(推荐使用safari,其他浏览器可能存在兼容性问题),在地址栏输入chls.pro/ssl。配置描述文件,选择“允许“。

安装完成后,在iphone设置 ->通用 ->描述文件与设备管理,查看已安装的证书。如果所有步骤完成,结果仍然无法进行抓包,检查信任证书是否完全开启,ios10.3之后加入新的特性,需要在IOS设备中,通用->关于本机->证书信任设置,针对CA根证书开启完全信任。

 

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述

在这里插入图片描述

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/739310.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【NR技术】 3GPP支持无人机服务的关键性能指标

1 性能指标概述 5G系统传输的数据包括安装在无人机上的硬件设备(如摄像头)收集的数据,例如图片、视频和文件。也可以传输一些软件计算或统计数据,例如无人机管理数据。5G系统传输的业务控制数据可基于应用触发,如无人机上设备的开关、旋转、升…

Oracle之ADG与DG的区别?

在上云后的Oracle数据灾备场景中,我们经常听到DBA迁移工程师讲到“在这个项目中用ADG进行数据实时备份,ADG比DG更好!”。究竟ADG作Oracle数据灾备的优势在什么地方? 一、ADG主要解决了DG时代读写不能并行的问题 DG时代的数据同步…

c# winform部门管理系统

c# winform部门管理系统 数据库SQL语句脚本代码 CREATE TABLE Department(DepartmentID INT PRIMARY KEY IDENTITY(1,1),Name NVARCHAR(50) NOT NULL ); SELECT * FROM Department -- 插入部门数据 INSERT INTO Department (Name) VALUES (人力资源部); INSERT INTO Departmen…

【c 语言 】移位操作符详解

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:C语言 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步&…

C++感受1-打开浏览器,线上玩转C++

介绍了五款在线编译、编译、运行的C线上环境。并选择其中的 “在线GDB” 网站动手编写、运行第一个C程序 “Hello World”,同时和线下IDE进行对比。 1. 课堂视频 打开浏览器,线上玩转C 2. 在线C编译环境对比 onlinegdb : www.onlinegdb.comr…

汽车大灯汽车尾灯破裂裂纹破损破洞掉角崩角等问题能修复吗?修复灯罩需要多久时间?

汽车大灯汽车尾灯破裂裂纹破损破洞掉角崩角等问题基本是可以修复的。 修复汽车灯罩的时间取决于多个因素,如灯罩的破损程度、修复方法的选择以及维修店的工作效率等。 一般来说,如果灯罩的破损程度较轻,仅需要进行简单的修复或翻新&#xf…

如何考上东南大学计算机学院?

东南大学招生学院是计算机科学与工程学院、苏州联合研究生院,复试公平,不歧视双非考生,985院校中性价比较高,但近年热度在逐年上涨,需要警惕。 建议报考计算机科学与工程学院081200计算机科学与技术专业目标分数为380…

帮管客CRM(jiliyu)接口SQL注入漏洞

文章目录 前言声明一、漏洞描述二、影响版本三、漏洞复现四、修复建议 前言 帮管客CRM客户管理系统专注于为企业提供crm客户关系管理、crm管理系统、crm软件产品及企业销售管理流程解决方案服务,助力企业业绩增长。 声明 请勿利用文章内的相关技术从事非法测试,由…

jdk17出现错误无法初始化主类 和NoClassDefFoundError:Vector的解决方法

概述:网上流传文章大多都是编译和运行都加下面这串代码 --add-modulesjdk.incubator.vector我估计他们大多都是复制粘贴的文章,这种东西就是电子垃圾,在idea中,大多人都习惯用maven来构建java项目,接下来我将讲解使用…

【C++】string学习 — 手搓string类项目

手搓string项目 1 string类介绍2 功能描述3 代码实现3.0 基础框架3.1 构造函数 和 析构函数3.2 流操作符重载 和 尾插扩容3.4 运算符重载3.5 实用功能3.6 迭代器模拟 总结Thanks♪(・ω・)ノ谢谢阅读!!!下一篇…

LeetCode:206.反转链表

206. 反转链表 解题过程 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; …

如何使用 Langchain、Ollama 和 Streamlit 构建 RAG

一、先决条件:您需要了解什么 在深入讨论技术细节之前,我们先概述一下先决条件。Python 的基础知识至关重要,因为它是我们将使用的主要语言。熟悉机器学习和自然语言处理的基本概念将帮助您更轻松地掌握这些概念。此外,对 Langch…

蓝桥杯练习系统(算法训练)ALGO-973 唯一的傻子

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 腿铮找2255有点事,但2255太丑了,所以腿铮不知道他的长相。正愁不知道到如何找他的时候,…

【开发环境】Ubuntu 18.04 搭建 QT编译环境详细步骤 【亲测有效】

目录 1 查看Ubuntu系统中Qt版本 2 下载Ubuntu系统Qt版本安装包 3 Qt安装 3.1 Qt 安装步骤 3.2 安装qt发现Ubuntu空间不足,怎么去扩容呢? 3.2.1 硬盘操作步骤(需要关闭虚拟机进行操作) 3.2.2 Ubuntu命令操作:安装…

云计算项目七:jump-server安装部署

jump-server安装部署 配置清单 jumpserver概述 Jumpserver是一款开源的堡垒机,可使系统的管理员和开发人员安全的连接到企业内部服务器上执行操作,并且支持大部分操作系统,是一款非常安全的远程连接工具 常见支持的系统 CentOS, RedHat, …

基于springboot实现酒店客房管理系统项目【项目源码+论文说明】

基于springboot实现酒店客房管理平台系统演示 摘 要 随着人们的物质水平的提高,旅游业和酒店业发展的速度越来越快。近年来,市面上酒店的数量和规模都在不断增加,如何提高酒店的管理效率和服务质量成为了一个重要的问题。伴随着信息技术的发…

内网渗透-跨域环境渗透-1

目录 smbclient工具 mimikatz工具 Kerbers协议 NTLM认证 hash传递攻击(PTH攻击) 黄金票据攻击 白银票据 MS14-068 smbclient工具 在linux里面连接远程windows共享目录,可以使用这个工具 ​ 第一种连接方式:smbclient -L 目…

HarmonyOS 非线性容器特性及使用场景

非线性容器实现能快速查找的数据结构,其底层通过 hash 或者红黑树实现,包括 HashMap、HashSet、TreeMap、TreeSet、LightWeightMap、LightWeightSet、PlainArray 七种。非线性容器中的 key 及 value 的类型均满足 ECMA 标准。 HashMap HashMap 可用来存…

JWT概述

JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理和用法。 一、跨域认证的问题 互联网服务离不开用户认证。一般流程是下面这样。 1、用户向服务器发送用户名和密码。 2、服务器验证通过后,在当前对话…

学习Java的第八天

本节我们重点研究对象和类的概念。 对象(Object)是一个应用系统中的用来描述客观事物的实体,是有特定属性和行为(方法)的基本运行单位。是类的一个特殊状态下的实例。对象可以是一个实体、一个名词、一个可以想象为有…