前言html
HTTPS实际上是有两部分组成:HTTP+ SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会经过TLS进行加密,因此传输的数据都是加密后的数据。安全
1.安卓抓包(无需手机root权限,直接安装就行)
安卓Packet Capture (安卓的)
连接地址:
连接: https://pan.baidu.com/s/1i4BP7ST 密码: mrus服务器
2.charles配置https抓包
(Charles抓HTTPS包原理)
Charles自己是一个协议代理工具,若是只是普通的HTTP请求,由于数据自己没通过再次加密,所以做为代理能够知道全部客户端发送到服务端的请求内容以及服务端返回给客户端的数据内容,这也就是抓包工具可以将数据传输内容直接展示出来的缘由。对于HTTPS请求,数据都已经通过了加密,代理若是什么都不作的话是没法获取到其中的内容的。为了实现这个过程的数据获取,Charles须要作的事情是对客户端假装服务端,对服务端假装客户端,具体
截获真实客户端的HTTPS请求,假装客户端向真实服务端发送HTTPS请求
接受真实服务器响应,用Charles本身的证书假装服务端向真实客户端发送数据内容工具
1.打开Keychains,输入Charles 关键字搜索,发现是看这样这样的状况,以下所示加密
显然是系统没有信任该证书,双击上图中的红框后, 而后再点击“信任”左边的箭头会看到以下图所示spa
而后点击“使用此证书时”这个选项的弹出框,选择“始终信任”,看到以下图的效果代理
而后点击左上角的关闭,会让你输入密码,就OK了。效果以下所示htm
2.在mac上生成charles的root certification,如图blog
3.将导出的crt文件上传到手机上,而且进行安装。小米note不能经过文件管理器点击crt文件进行安装,须要进入设置->安全和隐私->从存储设备安装ip
4.注意SSL setting
5.正常经过验证,能够截取到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/...