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

摘要:
Charles的默认选项是拒绝拒绝,因此不要按Enter!!!此时,您通常可以获取iPhone连接。接下来,安装手机证书:返回Charles,菜单:帮助-˃SSLProxy-˃InstallCharlesRootCertificateonaMobileDeviceorRemoteBrowser帮助-˃SSLProxing-˃InstallCharles RootCertificateonaMobile DeviceorRemoteBrowser单击将弹出一个对话框,其主要思想是:配置您的设备以使用Charles,证书下载地址:chls.pro/ssl配置手机证书以打开移动Safari,访问下载地址:Chl.pro/ssl在正常情况下,访问此地址将请求安装配置文件。移动终端安装证书1点击安装:移动终端安装证明2许多在线教程已经结束,但当你回到Charles时,你会发现HTTPS请求无法正常检索。

 

 

首先准备工具

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

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

开始

首先,对Charles进行配置:

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

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

Proxy -> Proxy Settings

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

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

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

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

设置 -> 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 点击后自动打开钥匙串访问,请输入电脑开机密码

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

Help -> SSL Proxying -> Install Charles Root Certificate

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

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

两个证书

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

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第5张
信任 -> 使用此证书时

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

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

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

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第6张
Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

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

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第7张
配置手机端证书

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

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

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第8张
手机端安装证书1

点击安装:

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第9张
手机端安装证书2

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

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

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

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第10张
信任证书

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

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

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第11张
Proxy -> SSL Proxying Settings...

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

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第12张
域名:配置完上述所有内容后,你会在Charles中看到很多请求,都是以域名为标题的

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

端口:恒定为443

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

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第13张
配置 SSL Proxying
TIPS:

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

> 若Charles界面一片空白

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第14张
一片空白

点击菜单:File -> New Session

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第15张
File -> New Session

然后就有了

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第16张
有了

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

 
使用Charles对iPhone进行Http(s)请求拦截(抓包)第17张
QQ天气

完。






免责声明:文章转载自《使用Charles对iPhone进行Http(s)请求拦截(抓包)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇openssl安装/更新教程(CentOS)QBC查询下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Facebook应用程序权限请求以及数据获取

最近因工作需要研究了一下facebook的API调用. 虽然是一个不存在的网站,但也是工作内容的一部分,需要认真对待.既然对于咱们国人来说不存在,当然也就没有汉字可看了.英文文档让我头晕了好一阵子,吐了好几次之后终于摸清了脉络. 大致步骤是: 1、创建一个应用程序,可以获得App ID/API Key和App Secret。 2、使用URL: https:...

如何获取url访问历史记录

  在院里的群里,有人问了这么一个问题:   A页面提交表单到B页面,然后在B页面点了后退,如果在A页面上判断是直接访问的还是后退进去的呢?我不想改B页面。   于是乎本着热心人的想法,我就帮他搞了搞,首先我想到了window.history,不过很遗憾,其没有提供相应的属性,只是提供了向前和向后跳转的方法。于是乎我找到了document.referrer...

gitlab安装配置(Ubuntu18和CentOS7)

gitlab_install_on_ubuntu18_centos7 参考文档: 清华大学镜像站及文档: https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/ 1.在 ubuntu18 上安装社区版 gitlab-ce 官方文档默认安装的是企业版 gitlab-ee,如果使用,注意修改安装命令: 官方文档...

charles和fiddler代理抓包和弱网设置

怎么设置代理 Charles:WEB端抓包: 1.设置charles代理端口。进入Proxy Settings中设置端口如8080.8888 2.打开chrome浏览器,下载switchy proxy 3.配置proxy SwitchyOmega 4.通过charles抓chrome访问包.抓取https请求 5.安装Charles的伪造证书(Help--...

邮件的DNS设置

    为了反垃圾,在发件人使用的域名下面最好配置两条DNS记录:SPF和DKIM,他们都是用来反垃圾的,邮件接受服务器会检查这两项,只有符合要求才会进入用户的邮箱。 一般来说,大批量发送邮件时,我们会使用第三方的邮件服务,比如sendgrid, postmarkapp等,他们会给你提供这两条记录的值,你自己在域名托 管商那里,在发送邮件的那个域名下面添加...

高德JS API WEB认证方式通过代理服务器解决秘钥存储问题

高德JS API的标准使用流程分为5步,但是实际与认证相关的可以缩减为两步: key申请 key使用 key申请 1 为应用添加 Key,「服务平台」一项请选择「 Web 端 ( JSAPI ) 」,设置域名白名单,可选(建议设置域名白名单)。 2 添加成功后,可获取到key值和安全密钥jscode(自2021年12月02日升级,升级之后所申请的 ke...