使用Charles对iPhone进行Http(s)请求拦截(抓包)

首先准备工具

1> Charles (下载对应操作系统的安装包进行安装,本文使用 macOS 进行演示)

2> iPhone (本文使用SE,系统版本:iOS 10)

开始

首先,对Charles进行配置:

菜单:Proxy -> Proxy Settings... -> 勾选 Enable transparent HTTP proxying

Proxy -> Proxy Settings

然后找到电脑的局域网IP地址:这里自己去找吧

接着,打开你的iPhone:设置 -> Wifi -> 连接上和电脑同一路由器的Wifi,点击右边的 i 进入配置

配置:拉到底部,找到 <HTTP代理>, 选择手动, 服务器填入电脑的IP地址,端口号写 8888 然后返回会刷新Wifi连接

设置 -> Wifi -> i -> HTTP代理 手动

此处配置完成后,Charles会弹出提示框,

大意是:有人请求连接Charles ip是xxx.xxx.xxx.xxx是否允许?

这里要注意!!!Charles的默认选项是Deny拒绝,所以一定不要按回车!!! 手动选择Allow!!!

到此,即可正常抓取iPhone的连接。

但,目前苹果的大部分App都采用了更安全的HTTPS进行数据交互,所以我们要抓取HTTPS还需要进一步的配置。

继续

回到Charles,进行证书安装:

Charles菜单:Help -> SSL Proxying -> Install Charles Root Certificate 点击后自动打开钥匙串访问,请输入电脑开机密码

Help -> SSL Proxying -> Install Charles Root Certificate

完成后你会看见两个证书:

两个证书

双击证书,打开证书详情:展开信任 -> 使用此证书时:修改为 始终信任,关闭证书详情要求输入开机密码

信任 -> 使用此证书时

两个证书都设置为始终信任。

接着,安装手机端的证书:

回到Charles,菜单:Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

点击后会弹出对话框,大意是:配置你的设备来使用Charles,证书下载地址:chls.pro/ssl

配置手机端证书

打开手机Safari,访问下载地址:chls.pro/ssl  (如果我们显示的不同,则以提示中的地址为准)

正常情况下访问此地址会请求安装一个配置文件。若无请求请检查Wifi是否设置了 HTTP代理 (参考配置图:设置 -> Wifi -> i -> HTTP代理 手动)。

手机端安装证书1

点击安装:

手机端安装证书2

网上很多教程到这就结束了,但返回Charles会发现还是无法正常抓取HTTPS的请求。

其实还有一个设置,信任证书:

打开iPhone设置:通用 -> 关于手机 -> 拉到最底部 证书信任设置 -> 勾选刚刚安装的证书

信任证书

好了,回到Charles进行最后的收尾设置:

菜单:Proxy -> SSL Proxying Settings...

Proxy -> SSL Proxying Settings...

勾选:Enable SSL Proxying,点击 Add 添加规则

域名:配置完上述所有内容后,你会在Charles中看到很多请求,都是以域名为标题的

域名:配置完上述所有内容后,你会在Charles中看到很多请求,都是以域名为标题。

端口:恒定为443

若不需要指定HTTPS连接(即抓取所有HTTPS连接),域名填写 * 即可。

配置 SSL Proxying

TIPS:

> WIFI代理,请在不需要使用的时候关闭,否则可能导致手机无法正常联网。

> 若Charles界面一片空白

一片空白

点击菜单:File -> New Session

File -> New Session

然后就有了

有了

测试数据:获取QQ中的QQ天气

QQ天气

完。

原文地址:https://www.cnblogs.com/mabingxue/p/8780117.html

时间: 2024-08-29 14:28:34

使用Charles对iPhone进行Http(s)请求拦截(抓包)的相关文章

使用Charles对Android App的https请求进行抓包

本文背景 公司新项目要求抓取目前市面上一些热门App的数据,经过研究发现很多App的网络请求都使用https进行数据传输,这样问题就来了,http使用明文传输所有请求都能拦截到,而https请求无法拦截.所以这里我们要使用Charles来抓取https,但是笔者看了网上很多使用iOS设备进行抓取https的文章,经测试iOS8/10/11均无法进行正常抓取,即使信任证书也不行.经过笔者的不断尝试,终于在Android5.0上成功抓取了https.研究后发现,在Android7.0以下可以正常使用

支持https请求以及https请求的抓包

iOS9推出的时候,苹果希望大家使用https协议,来提高数据传输之间的安全性.下面我就从最简单的代码介绍,如何在工程中设置,来支持https的请求. 一.证书准备篇 1.证书转换 在服务器人员,给你发送的crt证书后,进到证书路径,执行下面语句 // openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der 这样你就可以得到cer类型的证书了.双击,导入电脑. 2.证书放入工程 1.可以直接把转换好的cer文件拖动到工程中. 2.可以在钥匙串内,

学习记录001-接口了解/请求and抓包and基础的python

对接口的认识: 1 就是从数据库里面获取数据的存在 2 前端页面和数据库之间通过接口来交互,可从数据库获取数据 3 接口测试没有页面 前端和后端客户端client:能用浏览器打开的都是前端,有页面可查看server端 接口测试需要内容:url 接口请求方式 请求参数 接口文档由于写程序的语言不同,所以需要用接口来进行交互 关于接口的一些请求方式和测试步骤说明:1 get请求   不需要借助工具,直接使用浏览器即可   浏览器输入方式:url+?+参数名称和对应内容(key=值的方式)   如果有

使用Fiddler对IPhone手机的应用数据进行抓包分析

原文出自: http://www.cr173.com/html/20064_1.html Fiddler能捕获ISO设备发出的请求,比如IPhone, IPad, MacBook. 等等苹果的设备.  同理,也可以截获Andriod,Windows Phone的等设备发出的HTTP/HTTPS. 前提条件: 安装Fiddler的机器,跟Iphone 在同一个网络里, 否则IPhone不能把HTTP发送到Fiddler的机器上来.建议安装最新版Fiddler: 配置Fiddler: 打开Fiddl

Fiddler抓取https请求 &amp; Fiddler抓包工具常用功能详解

大家好,我是TT,互联网测试行业多年,没有牛逼的背景,也没有什么可炫耀的,唯独比他人更努力,在职场打拼.遇到过的坑,走过的弯路,愿意与大家分享,分享自己的经验,少走弯路.首发于个人公众号[测试架构师] 原文如下: 先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:"你这个页面做的有问题,页面展示异常":小A说:"这哪是我的问题,你去找后台吧,后台接口返回数据有问题":小T就屁颠屁颠的跑到后台接口开发小M那里说:"

【抓包分析】Charles和 夜神模拟器 对安卓应用进行抓包分析

准备工具 : 1 Charles   : https://www.charlesproxy.com  (收费) 2 夜神模拟器  : https://www.yeshen.com  (免费) 2 模拟器设置 或者 点击wifi 进入 鼠标长按wifi 进入修改界面(不要点击.鼠标左键点击按住 停留几秒) 点击 修改网络  如下图所示地址,填写你电脑的ip地址 (不确定的可以  cmd   ipconfig 查看) 设置完成 3  抓包 运行 charles 可以看到所有夜神模拟器上边的接口抓包数

利用Fiddler对Jmeter的请求进行抓包

前言 有时候,为了得到更详细的请求结果,我们可能需要使用Fiddler结合Jmeter来抓包分析,从而更好的辅助测试. 遇到的问题 这里以一个获取学生信息的接口为例进行说明. 当我在Jmeter里按接口文档正确设置好请求,打开Fiddler之后,发现无法抓到Jmeter的请求. 从图片可以看到,Fiddler并没有抓到Jmeter发送的请求. 问题分析 简单分析一下,Fiddler在使用过程中是以代理Web服务器的形式进行的,代理地址为127.0.0.1,端口为8888,它在运行时会监听8888

Charles抓包(iOS的http/https请求)

1. Charles安装 官网下载安装Charles:https://www.charlesproxy.com/download/ 2. HTTP抓包 (1)查看电脑IP地址 (2)设置手机HTTP代理 手机连上电脑,点击"设置->无线局域网->连接的WiFi",设置HTTP代理:服务器为电脑IP地址:如192.168.1.169端口:8888 3. HTTPS抓包 HTTPS的抓包需要在HTTP抓包基础上再进行设置 (1)安装SSL证书到手机设备 点击 Help ->

十分钟学会Charles抓包(iOS的http/https请求)

Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下载安装Charles:https://www.charlesproxy.com/download/ 2. HTTP抓包 (1)查看电脑IP地址 (2)设置手机HTTP代理 手机连上电脑,点击"设置->无线局域网->连接的WiFi",设置HTTP代理:服务器为电脑IP地址:如192.168.1.169端口:8888 设置代理后,需要在电脑上打开Charles才能上网 (3)电脑上打开Charle