十分钟学会Charles抓包(iOS的http/https请求)

本文使用的Charles版本是4.1.1,Mac OS版本是10.12.4,主要内容:

  • 下载 安装
  • **
  • Mac HTTP抓包
  • iOS HTTP抓包
  • iOS HTTPS抓包

下载 安装

官方下载最新版本:https://www.charlesproxy.com/download/
如下图,下载Mac OS版本

十分钟学会Charles抓包(iOS的http/https请求)

Paste_Image.png

也可使用我下载好的:https://pan.baidu.com/s/1sl0gKFz
下载下来后直接安装

**

Charles是收费的,打开时会有30天使用权限的提示如图

十分钟学会Charles抓包(iOS的http/https请求)

Paste_Image.png

**的话就是替换一个charles.jar,网上搜对应版本的**jar文件很容易搜到。
也可使用我下载好的:https://pan.baidu.com/s/1o8M73CY
替换步骤如下
打开应用程序 -> 选择Charles -> 显示包内容

十分钟学会Charles抓包(iOS的http/https请求)

Paste_Image.png

然后点击Contents->Java->将我们下载下来的charles.jar替换这里的charles.jar

十分钟学会Charles抓包(iOS的http/https请求)

Paste_Image.png

重启Charles,就不会再提示30天使用期限了,**完成如图

十分钟学会Charles抓包(iOS的http/https请求)

Paste_Image.png

Mac HTTP抓包

打开Charles设置代理以后,就可以抓取Mac上的网络请求了

 

十分钟学会Charles抓包(iOS的http/https请求)

Paste_Image.png

效果如图

 

十分钟学会Charles抓包(iOS的http/https请求)

Paste_Image.png

iOS HTTP抓包

iOS设备抓取数据的一般步骤

  • iOS设备和Mac链接同一wifi
  • 查看Mac的IP地址,系统偏好设置->网络就可以查看到了,比如我的ip地址是:172.16.0.44
  • iOS设备上,设置连接wifi的代理服务器,服务器填上一步中获得的IP,即172.16.0.44,端口填8888:

     

    十分钟学会Charles抓包(iOS的http/https请求)

    Paste_Image.png

  • 打开Charles
  • iOS设备进行网络操作,Charles就可以抓取到了网络请求了

iOS HTTPS抓包

HTTPS抓包在HTTP抓包的基础上进行设置
设置前HTTP抓包:

十分钟学会Charles抓包(iOS的http/https请求)

image.png

设置后HTTPS抓包:
下面是在HTTP抓包基础上进行的HTTPS抓包:
** (1)安装SSL证书到手机设备 **
点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device

十分钟学会Charles抓包(iOS的http/https请求)

出现弹窗得到地址chls.pro/ssl

十分钟学会Charles抓包(iOS的http/https请求)

 

在手机Safari浏览器输入地址chls.pro/ssl,出现证书安装页面,点击安装手机设置有密码的输入密码进行安装
(注意:(1)设置好手机HTTP代理(2)电脑上Charles要开着。否则Safari浏览器输入这个网址chls.pro/ssl会安装不了证书)

十分钟学会Charles抓包(iOS的http/https请求)

 

(注:安装完以后如果想删除证书,点击通用->描述文件->选择描述文件->删除描述文件)
** (2)Charles设置Proxy **
Proxy -> SSL Proxying Settings...

十分钟学会Charles抓包(iOS的http/https请求)

image.png

 

勾选Enable SSL Proxying,点击Add

十分钟学会Charles抓包(iOS的http/https请求)

 

Host设置要抓取的https接口

 

十分钟学会Charles抓包(iOS的http/https请求)


Host填写:https://api.weibo.cn
Port填写:443

 

十分钟学会Charles抓包(iOS的http/https请求)

 

** (3)进行HTTPS抓包 **
让手机重新发送https请求,可看到抓包

十分钟学会Charles抓包(iOS的http/https请求)

image.png

注:有些app对接口内容进行了加密,看到的还会是一堆乱码,微博是可以的我们自己的接口我试了也是可以的。

参考链接:
http://www.jianshu.com/p/5539599c7a25



作者:SpringSunLcy
链接:https://www.jianshu.com/p/e8dd1091d6d7
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。