高颜值抓包工具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系统传输的业务控制数据可基于应用触发,如无人机上设备的开关、旋转、升…

UHF 无线麦克风的技术设计

一、麦克风介绍 UHF 无线麦克风是一种广泛应用于演讲、表演、会议等场合的音频设备。它通过 UHF 无线电波传输音频信号,具有传输距离远、抗干扰能力强等优点。今天跟大家分享下 UHF 无线麦克风方案的技术设计开发,其主要包括发射机和接收机这两大主要模…

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…

计算机等级考试:信息安全技术 知识点六

1、P2DR模型是美国ISS公司提出的动态网络安全体系的代表模型,可用数学公式表达为Pt>DtRt,其中Pt表示:系统防护时间。 2、美国联邦政府颁布数字签名标准(Digital Signature Standard,DSS)的年份是1994 3、密码分析者(攻击者)已…

java.net.UnknownHostException

目录 报错信息 报错分析 UnknownHostException 分析 尝试解决 域名 报错可能 网络请求: 数据库连接: Socket通信: 总结: 报错信息 java.net.UnknownHostException Caused by: java.net.UnknownHostException:at java.…

深入浅出:Docker容器虚拟化技术解析

引言: 虚拟化技术的发展自20世纪末至今,经历了令人瞩目的演变。从最初的硬件虚拟化到后来的操作系统级虚拟化,每一次技术革新都为计算资源的管理和利用带来了巨大的变革。而在这不断发展的技术浪潮中,容器虚拟化技术的崛起引领着…

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

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

【Java 并发】Semaphore

Java 中 的 Semaphore (信号量) 是多线程编程中一种重要的同步工具, 用于控制对共享资源的访问。 通过 Semaphore, 我们可以限制同时访问共享资源的线程数量, 有效地管理并发访问, 确保程序在多线程环境下的稳定性和效率。 在一些资源有限制场景下, Semaphore 是特别合适的, 比…

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

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

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

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

Python常用语法汇总(三):函数、类

9. 函数 #例1def greet_user(username): # 定义函数 """显示简单的问候语""" print(Hello, username.title() !) greet_user(Jesse) # 调用函数 #例2 def get_formatted_name(first_name,last_name): """返回整洁的姓名&q…

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

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

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

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

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

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

倒计时34,33天

一&#xff1a; 背包问题复习&#xff1a; //01背包&#xff1a; #include<bits/stdc.h> using namespace std; #define int long long const int N2e56; int v[N],w[N],dp[N]; const int inf0x3f3f3f3f; void solve() {int n,V;cin>>n>>V;for(int i1;i<…

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

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

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; …

变更接口形参,但是不想影响接口调用者怎么办?

例如接口&#xff1a;public void test(String s1){}&#xff0c;该接口有多个生产者即调用者。 因为其中一个生产者需求变动&#xff0c;调用test方法的时候需要新增一个参数。这种情况下如果直接修改test方法增加参数&#xff0c;需要修改所有的调用者代码&#xff0c;比较麻…

linux下目录切换快捷指令

cd - "cd -" 是一个命令行中的快捷方式&#xff0c;用于返回上一个工作目录。通常&#xff0c;当你在命令行中使用 cd 命令切换目录时&#xff0c;系统会记住你之前所在的目录。通过输入 cd -&#xff0c;你可以返回到上一个目录&#xff0c;而不必输入完整的路径。…