手机HTTPS抓包

前言

HTTPS其实是有两部分组成:HTTP+ SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。

1.安卓抓包(无需手机root权限,直接安装就行)
安卓Packet Capture (安卓的)
链接地址:
链接: https://pan.baidu.com/s/1i4BP7ST 密码: mrus

《手机HTTPS抓包》

2.charles配置https抓包
(Charles抓HTTPS包原理)
Charles本身是一个协议代理工具,如果只是普通的HTTP请求,因为数据本身没经过再次加密,因此作为代理可以知道所有客户端发送到服务端的请求内容以及服务端返回给客户端的数据内容,这也就是抓包工具能够将数据传输内容直接展现出来的原因。对于HTTPS请求,数据都已经经过了加密,代理如果什么都不做的话是无法获取到其中的内容的。为了实现这个过程的数据获取,Charles需要做的事情是对客户端伪装服务端,对服务端伪装客户端,具体
截获真实客户端的HTTPS请求,伪装客户端向真实服务端发送HTTPS请求
接受真实服务器响应,用Charles自己的证书伪装服务端向真实客户端发送数据内容

1.打开Keychains,输入Charles 关键字搜索,发现是看这样这样的情况,如下所示

《手机HTTPS抓包》
显然是系统没有信任该证书,双击上图中的红框后, 然后再点击“信任”左边的箭头会看到如下图所示

《手机HTTPS抓包》
然后点击“使用此证书时”这个选项的弹出框,选择“始终信任”,看到如下图的效果

《手机HTTPS抓包》
然后点击左上角的关闭,会让你输入密码,就OK了。效果如下所示

2.在mac上生成charles的root certification,如图

《手机HTTPS抓包》
3.将导出的crt文件上传到手机上,并且进行安装。小米note不能通过文件管理器点击crt文件进行安装,需要进入设置->安全和隐私->从存储设备安装

《手机HTTPS抓包》
4.注意SSL setting

《手机HTTPS抓包》
5.正常通过验证,可以截取到https的明文数据了

《手机HTTPS抓包》

参考资料
1.mac下的抓包工具Charles http://www.neatstudio.com/sho…
2.Charles抓取HTTPS数据包 http://legendtkl.com/2015/11/…
3.手机上安装证书的方法 http://club.huawei.com/thread…
4.Charles SSL PROXYING http://www.charlesproxy.com/d…
5.Charles SSL CERTIFICATES https://www.charlesproxy.com/…

    原文作者:junfeng777
    原文地址: https://segmentfault.com/a/1190000012713812
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞