首先准备工具

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天气

完。

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

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

    本文背景 公司新项目要求抓取目前市面上一些热门App的数据,经过研究发现很多App的网络请求都使用https进行数据传输,这样问题就来了,http使用明文传输所有请求都能拦截到,而https请求无法拦 ...

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

    Fiddler抓取https请求 & Fiddler抓包工具常用功能详解   先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...

  3. 利用Fiddler对Android模拟器网络请求进行抓包

    安装使用Fiddler 下载安装Fiddler的方法这里就略过了,一路Next就行了.装好之后运行软件,正常情况这个时候我们已经可以对电脑的网络请求进行抓包了.Fiddler默认的代理地址是127.0 ...

  4. 使用Charles对Https请求进行抓包

    昨天对某个APP做分析的时候发现其请求是Https的,抓包工具不能正常的显示请求的内容及返回的情况.通过搜索发现Charles是支持针对Https抓包的.具体的操作如下: 1.电脑端安装SSL证书 2 ...

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

    iOS9推出的时候,苹果希望大家使用https协议,来提高数据传输之间的安全性.下面我就从最简单的代码介绍,如何在工程中设置,来支持https的请求. 一.证书准备篇 1.证书转换 在服务器人员,给你 ...

  6. java自动化测试-http请求结合抓包工具实际应用

    继上文我编写了java的get请求与post请求之后,我现在开始写一下实际操作 很多人有疑问,接口测试的代码是哪里来的,怎么来的呢?看得见吗?我来做一个简单的演示 我们这里简单介绍一下抓包工具,对于一 ...

  7. Charles for Mac(HTTP 监视器和网络抓包工具)破解版安装

    1.软件简介    Charles 是在 Mac.Linux 或 Windows 下常用的 http 协议网络包截取工具,在平常的测试与调式过程中,掌握此工具就基本可以不用其他抓包工具了.Charle ...

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

    原文出自: http://www.cr173.com/html/20064_1.html Fiddler能捕获ISO设备发出的请求,比如IPhone, IPad, MacBook. 等等苹果的设备.  ...

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

    准备工具 : 1 Charles   : https://www.charlesproxy.com  (收费) 2 夜神模拟器  : https://www.yeshen.com  (免费) 2 模拟 ...

随机推荐

  1. UGUI ScrollRect 滑动

    运行环境 Unity3D 5.3.7 p4 在我之前的博客中,写过一些Unity4.6的UGUI,现这篇是基于Unity 5.3的 推荐结构 推荐使用三层来组织,如下所示: ScrollRect :S ...

  2. Linux中FTP的一点理解

    FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文件传输协议,FTP协议是现今使用最为广泛的网络文件共享协议之一,我们现在也一直有在用着FTP协议来进行各种文件的 ...

  3. May 27. 2018 Week 22nd Sunday

    All things come to those who wait. 苍天不负有心人. It is said that those who are patient can see what their ...

  4. 【2018.04.19 ROS机器人操作系统】机器人控制:运动规划、路径规划及轨迹规划简介之一

    参考资料及致谢 本文的绝大部分内容转载自以下几篇文章,首先向原作者致谢,希望自己能在这些前辈们的基础上能有所总结提升. 1. 运动规划/路径规划/轨迹规划的联系与区别 https://blog.csd ...

  5. February 23rd, 2018 Week 8th Friday

    It takes a strong man to save himself, and a great man to save another. 强者自救,圣者渡人. When you are not ...

  6. 【CQOI2011】放棋子

    [CQOI2011]放棋子 在一个n行m列的棋盘里放一些彩色的棋子,使得每个格子最多放一个棋子,且不同颜色的棋子不能在同一行或者同一列.有多少种方法? 例如\(,n=m=3\),有两个白棋子和一个灰棋 ...

  7. UVA12107-Digit Puzzle(迭代加深搜索)

    Problem UVA12107-Digit Puzzle Accept:85  Submit:612 Time Limit: 3000 mSec  Problem Description  Inpu ...

  8. Python:Day46 Javascript DOM

    history对象: History 对象包含用户(在浏览器窗口中)访问过的 URL.窗口之间是相互独立的. <input type="button" onclick=&qu ...

  9. 【vue】vue +element 搭建项目,使用el-date-picker组件遇到的坑

    1.html <el-form-item prop="dateTime"> <el-date-picker v-model="messageDataFo ...

  10. docker-1-环境安装及例子实践

    1.安装go 先新建一个Go的工作空间文件夹,文件夹路径建议放在$HOME下: userdeMacBook-Pro:~ user$ cd $HOME userdeMacBook-Pro:~ user$ ...