当前位置:   article > 正文

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(7)-Charles苹果手机手机抓包知否知否?_charles iphone

charles iphone

1.简介

Charles和Fiddler一样不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求。

Charles也能截获 iOS设备发出的请求,比如 iPhone、iPad 和 MacBook 等苹果设备。

今天宏哥讲解和分享Charles如何截获苹果移动端发出的 HTTP/HTTPS 请求。

2.环境准备

Charles如果想要实现手机抓包,需要先满足下面 3 个条件:

(1)电脑上安装有Charles抓包工具。

(2)安装有Charles的电脑必须跟手机处在同一个网络里,并且手机网络代理必须设置为Charles,当我们的手机发送数据时必须经过Charles这一层服务。

(3)在Charles中设置好捕获 HTTPS。

1.环境是Windows 10版本 64位系统。如下图所示:

 如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386    

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a 

2.苹果手机的版本是:14.2.1 。。  如下图所示:

 

3.大致思路步骤 

1.电脑本地安装charles证书

2.查看电脑charles的IP和端口号

3.手机连接charles,抓取简单的http

4.charles设置ssl proxy setting

5.手机安装charles证书

4.安装Charles的CA证书原因

1)先理清一些概念的东西:

a)简单来说,https是http的安全版本,超文本传输协议http是以明文发送数据,而https是具有安全性的ssl加密传输协议,可以这么认为https=http+ssl。

b)采用https的服务器必须从CA申请一个用于证明服务器用途类型的证书,证书是唯一性,只用于对应的服务器。客户端要认可这个服务器是否是安全的,可以进行访问或者交易等操作,则需要进行对服务端的验证。

下图是客户端对服务器的验证过程:

 c)ssl证书,遵循了ssl协议,在客户端和服务器之间建立了一条ssl安全通道,一般ssl证书都是在验证服务器身份后颁发给客户端。

d)由于ssl技术已建立在所有主要的浏览器和web服务器程序中,因此,仅需安装服务器证书就可以激活ssl协议,所以客户端通过信任该证书,就相当于信任了该主机(服务器)。

下图是客户端和服务端加密通讯的流程:

 2)通过以上一个简单的理顺之后,这也就为什么当我们在使用Charles进行抓包的时候需要安装证书,可以通过ssl数字证书中的私用密钥来解译加密的信息,展示在Charles中,但是Charles有一个特殊的地方,就是实际上客户端安装的是Charles的CA证书,然后Charles安装服务器的CA证书,实际上流程还是一样的。

 

5.苹果手机抓包配置

5.1Charles PC端Http配置

http是默认配置好的,要是默认安装完没配置好,我们就自己配置一下,默认的端口号是“8888”我们后面设置手机代理的的时候也要注意这个端口要保持一致。

Charles的配置:这是要打开代理功能,具体操作步骤如下:

1.启动Charles,点击“Proxy-->Proxy Settings”,然后在Proxy Settings中填好端口(8888),并且勾选上“Enable transparent HTTP proxying”,最后点击“OK”。如下图所示:

2.查看运行Charles的电脑的IP地址,可以在命令行中运行ipconfig或者直接查看网络配置,如下图所示:

 

3.可以对照一下当前所安装的Charles中的ip地址是否一致,你可以直接在Charles上可以直接查看Charles的IP和端口,点击“Help-->SSL Proxying”,然后点击“Install Charles Root Certificate on a Mobile Device or Remote Browser”,如下图所示:

图片

 

5.2Charles PC端SSL(Https)配置

无论电脑端还是手机端进行抓取Https的包,都需要先安装对应证书才能使用。具体操作步骤如下:

1.打开charles,点击help-->SSL Proxying-->Install Charles root  Certificate 安装证书,如下图所示:

2.点击完“Install Charles root  Certificate”后,然后点击“安装证书”,如下图所示:

图片

  3.点击“安装证书”后,选择存储位置“本地计算机”,点击“下一步”,如下图所示: 

图片

 

 4.证书存储位置选择‘将所有的证书都放入下列存储’,然后点击证书存储后的“浏览”,证书存储选择“受信任的根证书颁发机构”,点击“确定”,如下图所示:

 

 5.点击“下一步”,如下图所示:

6.点击“完成”,提示导入成功。如下图所示:

图片

 

图片

7.点击proxy》 SSL Proxyng Settings。如下图所示:

图片

8.打开界面如下 弄到跟我一样就可以 如果没有*;443自己按add手动添host :*,port:443 。如下图所示:

图片

图片

这样就可以抓取PC端的http和https类型的包了,接下来我们就来进行安卓手机端代理的配置。

5.3苹果手机设置

本节内容适合所有的IOS设备。下面以iPhone为例进行讲解,其他类型的手机操作方法与此差不多。具体操作步骤如下:

1.手机和电脑连接到同一Wifi下。

2.手机中设置代理,选择【无线局域网】设置---> 点击【配置代理】–>【手动】,输入服务器和端口,点击存储。(输入本机【IP地址(192.168.*.***)】以及上面查看到的端口号【8888】)详细步骤如下:

(1)【设置-无线局域网】,如下图所示:

 

(2)选择要链接的网络,点击右侧“!”号,如下图所示:如下图所示:

 

(3)进入该网络的配置页面,滑动到最底部,点击配置代理,如下图所示: 

(4)选择手动,输入电脑端的ip和端口后点击存储,如下图所示:如下图所示:

 

 5.手机首次连接charles后发起任意http请求会弹出是否信任窗口,电脑出现允许代理的提示,点击Allow即可,如下图所示:

那么到此苹果手机的网络代理设置就到此为止,其他不同型号的苹果真机设置大同小异,以此类推,实在不会的自己可以百度一下。到此处表示已经可以抓http的手机包了。

5.4手机安装证书

1.手机连接charles代理后,打开safari浏览器,地址栏输入chls.pro/ssl打开网页弹出尝试下载配置文件,如下图所示:

图片

2.手机设置--->通用--->描述文件与设备管理中查看下载的配置文件,点击charles Proxy CA(xxx)选择安装,如下图所示:如下图所示:

图片

图片

敲黑板!!!

**注意1:Safari浏览器输入这个网址chls.pro/ssl,安装不了证书的情况,需要注意:

设置好手机HTTP代理

电脑上Charles要开着

3手机设置--->通用--->关于本机--->证书信任设置中开启刚刚下载的证书,如下图所示:

图片

至此代理设置完毕,可以在charles抓取Https的请求。

 Charles和Fiddler一样,一个手机可以安装多个证书,但是每安装的一个证书里面都设置有IP地址,所以:安装的证书和电脑IP是一一对应的,当前的这个证书只能针对某一台电脑使用,更换电脑后,该证书将不能使用,只能重新安装与更换的电脑的IP相同的证书才能使用。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/627731
推荐阅读
  

闽ICP备14008679号