使用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
点击后会弹出对话框,大意是:配置你的设备来使用Charles,证书下载地址:chls.pro/ssl
打开手机Safari,访问下载地址:chls.pro/ssl (如果我们显示的不同,则以提示中的地址为准)
正常情况下访问此地址会请求安装一个配置文件。若无请求请检查Wifi是否设置了 HTTP代理 (参考配置图:设置 -> Wifi -> i -> HTTP代理 手动)。
点击安装:
网上很多教程到这就结束了,但返回Charles会发现还是无法正常抓取HTTPS的请求。
其实还有一个设置,信任证书:
打开iPhone设置:通用 -> 关于手机 -> 拉到最底部 证书信任设置 -> 勾选刚刚安装的证书
好了,回到Charles进行最后的收尾设置:
菜单:Proxy -> SSL Proxying Settings...
勾选:Enable SSL Proxying,点击 Add 添加规则
域名:配置完上述所有内容后,你会在Charles中看到很多请求,都是以域名为标题。
端口:恒定为443
若不需要指定HTTPS连接(即抓取所有HTTPS连接),域名填写 * 即可。
TIPS:
> WIFI代理,请在不需要使用的时候关闭,否则可能导致手机无法正常联网。
> 若Charles界面一片空白
点击菜单:File -> New Session
然后就有了
测试数据:获取QQ中的QQ天气
完。
使用Charles对iPhone进行Http(s)请求拦截(抓包)的更多相关文章
- 使用Charles对Android App的https请求进行抓包
本文背景 公司新项目要求抓取目前市面上一些热门App的数据,经过研究发现很多App的网络请求都使用https进行数据传输,这样问题就来了,http使用明文传输所有请求都能拦截到,而https请求无法拦 ...
- Fiddler抓取https请求 & Fiddler抓包工具常用功能详解
Fiddler抓取https请求 & Fiddler抓包工具常用功能详解 先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...
- 利用Fiddler对Android模拟器网络请求进行抓包
安装使用Fiddler 下载安装Fiddler的方法这里就略过了,一路Next就行了.装好之后运行软件,正常情况这个时候我们已经可以对电脑的网络请求进行抓包了.Fiddler默认的代理地址是127.0 ...
- 使用Charles对Https请求进行抓包
昨天对某个APP做分析的时候发现其请求是Https的,抓包工具不能正常的显示请求的内容及返回的情况.通过搜索发现Charles是支持针对Https抓包的.具体的操作如下: 1.电脑端安装SSL证书 2 ...
- 支持https请求以及https请求的抓包
iOS9推出的时候,苹果希望大家使用https协议,来提高数据传输之间的安全性.下面我就从最简单的代码介绍,如何在工程中设置,来支持https的请求. 一.证书准备篇 1.证书转换 在服务器人员,给你 ...
- java自动化测试-http请求结合抓包工具实际应用
继上文我编写了java的get请求与post请求之后,我现在开始写一下实际操作 很多人有疑问,接口测试的代码是哪里来的,怎么来的呢?看得见吗?我来做一个简单的演示 我们这里简单介绍一下抓包工具,对于一 ...
- Charles for Mac(HTTP 监视器和网络抓包工具)破解版安装
1.软件简介 Charles 是在 Mac.Linux 或 Windows 下常用的 http 协议网络包截取工具,在平常的测试与调式过程中,掌握此工具就基本可以不用其他抓包工具了.Charle ...
- 使用Fiddler对IPhone手机的应用数据进行抓包分析
原文出自: http://www.cr173.com/html/20064_1.html Fiddler能捕获ISO设备发出的请求,比如IPhone, IPad, MacBook. 等等苹果的设备. ...
- 【抓包分析】Charles和 夜神模拟器 对安卓应用进行抓包分析
准备工具 : 1 Charles : https://www.charlesproxy.com (收费) 2 夜神模拟器 : https://www.yeshen.com (免费) 2 模拟 ...
随机推荐
- RHEL/Centos7 安装图形化桌面
Linux是一个多任务的多用户的操作系统,好多linux爱好者在安装完linux后经常遇到一个问题——没有图形化桌面.今天小编在安装RHEL7的时候,一步留神没有安装图形化桌面,下面分享一下安装图形化 ...
- 【Linux基础】VI命令模式下删除拷贝与粘贴
在VI命令模式下:y 表示拷贝, d 表示删除,p标识粘贴 1.删除 dw 表示删除从当前光标到光标所在单词结尾的内容. d0 表示删除从当前光标到光标所在行首的内容. d$ 表示删除从当前光标到光标 ...
- 比MR至少快5倍的神器,竟然是它
Hive简介 Hive是一个基于 Hadoop 的开源数据仓库工具,用于存储和处理海量结构化数据.它最初是应Facebook对每天产生的海量新兴社会网络数据进行管理和机器学习的需求而产生和发展的,Hi ...
- Vue项目使用webstorm开发 保存浏览器不自动更新问题
1.首先进去编辑器的设置页面 2.按照以下步骤进行操作,把如下选项的√去掉即可:
- Numpy 模块的应用
数据分析三剑客: Numpy, Pandas, Matplotlib NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数 ...
- .Net环境下调用ProtoBuf
一.什么是ProtoBuf protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台.它是一种类似于xml.json等类似作用的交互格式.由于它是一种 ...
- 如何生成git ssh key
公司有自己的git版本控制,自己注册账号后,管理员同意,就可以查看项目代码了,但是要克隆的话需要在本地生成git ssh key 一.进入.ssh文件夹. cd ~/.ssh 若没有.ssh文件夹,则 ...
- influxdb问题解决
一.influxdb启动不了? 清空数据文件夹: cd /var/lib/influxdb/data rm -rf * 清除完就可以启动了,然后查看/var/lib/influxdb下data和met ...
- 自然语言处理之jieba分词
在处理英文文本时,由于英文文本天生自带分词效果,可以直接通过词之间的空格来分词(但是有些人名.地名等需要考虑作为一个整体,比如New York).而对于中文还有其他类似形式的语言,我们需要根据来特殊处 ...
- js 文件引用传递参数
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code (function() {var hm = document.createElement(&q ...