Charles ios抓包

本地开发项目的时候,我们可以通过谷歌浏览器的debug模式来看request以及response的数据,但是如果我们开发移动端真机项目呢?或者真机线上出现问题如何抓取数据查看接口入参和出参呢?这就需要用到“抓包”
抓包就是通过工具抓取应用的接口数据然后通过分析数据得出问题结论的一种常用的工作方法。下面简述一下在iOS上面安装Charles并且实现抓包的过程,抓取范围包括web/APP内嵌web/小程序原生/小程序内嵌web等

【1】获取PC的IP地址和端口
在Charles菜单栏 -> Help -> Local IP Address中可以查看PC的IP地址。
一般Charles端口是默认的8888,可以从Charles菜单栏 -> Proxy -> Proxy Settings查看


image.jpeg

【2】配置iPhone代理
设置 -> 无线局域网 -> 局域网信息(i) -> 配置代理 -> 手动


image.jpeg

【3】iPhone代理配置完成后,Charles会弹出连接提示框,点击Allow之后即可使用Charles对从该iPhone发出的请求进行抓包了随便走一个web就可以走http的抓包了
image.jpeg

【4】随便浏览一个网页就可以看到数据了
[图片上传中...(image-7a895a-1628733410019-0)]
image.jpeg

抓包HTTPS请求

在配置iPhone代理完毕后,就可以通过Structure或者Sequence窗口预览HTTP请求的数据了。但由于HTTPS请求被加密过,预览请求时只能预览到乱码数据。要预览到HTTPS请求的数据明文,需要PC和iPhone安装证书授权。
【1】PC安装证书
在Charles菜单栏 -> Help -> SSL Proxying -> Install Charles Root Certificate中可以为PC安装证书

image.jpeg

【2】iPhone安装证书
在iPhone浏览器并且链接上charles代理然后访问http://charlesproxy.com/getssl可以下载证书并安装。此地址一般不会变化,可以在Charles菜单栏 -> Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser中查看最新的官方证书下载地址

基于iOS的证书信任机制,在安装完成并信任证书后,需要到iPhone设置 ->通用-> 关于本机 -> 证书信任设置中启用根证书。图示如下:

image.jpeg

这样,就可以使用Charles中抓包iPhone发出的HTTPS请求并预览明文数据了。
【3】 启动抓包SSL权限
在Charles菜单栏 -> Proxy -> SSL Proxying Settings中勾选Enable SSL Proxying,然后在Locations中添加需要抓包的Host和Port即可。或者直接写*端口写443图示如下:


image.jpeg

可以抓取对应添加的域名的Https的接口的数据


image.jpeg

添加多个域名host就可以抓去多个域名接口的数据
image.jpeg

structure:按照不同hosts域名分组展示请求
sequence:按照请求顺序来展示请求

你可能感兴趣的:(Charles ios抓包)