Osheep

时光不回头,当下最重要。

iOS MacOS下请求抓包(包含HTTPS)

《iOS MacOS下请求抓包(包含HTTPS)》

转载请注明出处:http://www.jianshu.com/p/e67f2bafcf72
作者:纪小衰

通常对于已经装在苹果手机中的应用,想要验证一些bug或者作为上架前的完整性验证,需要抓取Http请求的参数和相应服务器响应。下面介绍下在macOS下对苹果手机的抓包操作

环境:
1.电脑macOS10.12
2.移动端iOS10
3.电脑端软件:Charles for mac(官网:https://www.charlesproxy.com/latest-release/download.do)
4.电脑和手机连接在同一wifi下(或者电脑有线,热点共享给移动端)
注:官网的下载可以试用30天,也可网上下载破解版的

一、Http请求的抓取

1.电脑和手机连接上wifi,电脑打开设置-网络-选中左边正连接的网络(我的是有线,就选择以太网了,一般选择wifi),记录下右边的IP地址,如图:

《iOS MacOS下请求抓包(包含HTTPS)》

查看IP

2.手机打开设置-无线局域网-选中当前连接的wifi-HTTP代理选中手动,服务器填写之前电脑端的ip,端口号填写默认的8888,点击左上角返回到上个界面

《iOS MacOS下请求抓包(包含HTTPS)》

手机端代理设置

3.打开电脑端的charles,注意连接上代理的手机必须要打开charles才能使用正常的网络连接,有的时候发现手机网络连接不上需要关闭代理或者打开charles。这时候手机端的请求已经出现charles左边的列表中了,点击可以查看具体的请求。

二、Https请求的抓取

上面的方法只能抓取到Http请求,对于Https只能抓取到接口,但是不能看到具体的请求内容,请求的响应内容都是以乱码的形式显示。此时我们需要在电脑端和手机端都装上charles的证书,并且把需要抓包的请求域名放入到SSL代理的解析列表中

1.电脑端证书的安装
charles – Help – SSL Proxying – Install Charles Root Certificate

《iOS MacOS下请求抓包(包含HTTPS)》

电脑端证书的安装

2.电脑端信任证书
钥匙串-双击charles证书-总是信任

《iOS MacOS下请求抓包(包含HTTPS)》

信任证书

3.移动端证书的安装
charles – Help – SSL Proxying – Install Charles Root Certificate…mobile Device or Remote Browser

《iOS MacOS下请求抓包(包含HTTPS)》

移动端证书的安装1
《iOS MacOS下请求抓包(包含HTTPS)》

移动端证书的安装2

连接代理的手机浏览器打开图中选中的地址,不同版本的charles地址有可能不一样。在弹出的界面中安装对应的描述文件。有的版本的charles可能需要重新进入手机端的配置-描述文件-charles的描述文件中去信任一下,我这边4.2版本charles iOS10已经不需要这步操作了。

4.把需要解析的地址加入到列表中
charles – Proxy -SSL Proxying Setting – 列表中需要添加解析的域名(不需要加后面的请求路径以及前面的请求协议)

《iOS MacOS下请求抓包(包含HTTPS)》

charles代理设置
《iOS MacOS下请求抓包(包含HTTPS)》

增加需要解析的域名

到这里,https的请求参数以及响应内容已经能顺利地抓到了

《iOS MacOS下请求抓包(包含HTTPS)》

大功告成
点赞