10

mac环境下使用Charles抓包Https请求

 3 years ago
source link: http://yuanfentiank789.github.io/2016/10/24/charles/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

用Charles给Android手机抓包

charles是一款在Mac下常用的截取网络封包工具,对Android Http进行抓包,只要对手机设置代理即可,但对Android Https进行抓包还是破费一些功夫,网上的资料解释的也不清楚,今天在这里总结一下,希望对同样遇到问题的朋友带来一些帮助。

image

Charles实现对Https进行抓包,使用的原理就是中间人技术(man-in-the-middle)。Charles会动态生成一个使用自己根证书签名的证书,Charles接收web服务器的证书,而客户端浏览器/客户端 接收Charles生成的证书,以此客户端和Charles之间建立Https连接,Charles和Web服务器之间建立Https连接,实现对Https传输信息的抓包。如果Charles根证书不被信任则无法建立Https连接,所以需要添加Charles根证书为信任证书。

文/不二先生的世界(简书作者) 原文链接:http://www.jianshu.com/p/3bbf596c9ca6 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

1 给Mac安装证书

打开Charles,在Menu选择Help > Install Charles CA SSL Certificate,Keychain Access(钥匙访问串)被打开,我们可以看到Charles Certificate已经被安装,如图:

image

2 信任证书

但此时该证书并没有被信任,双击该行弹出证书详情,选择“Always Trust”。

image

3 给手机安装证书

在3.10以上版本,打开Charles,在Menu选择SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser,弹出提示框,如图:

image

安装提示进行配置,需要注意的是192.168.0.101是我演示时候的IP,你要改成你自己的IP地址。IP配置之后用手机浏览器打开http://charlesproxy.com/getssl 下载证书。如果是Android设备,选择设置->从储存设备安装。

3.10以下版本:

证书下载地址:

https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/
https://www.charlesproxy.com/assets/legacy-ssl/charles.crt

以下将通过简单的两步告诉你手机安装cer文件的方法。 步骤一:请先将数字证书文件“**.cer”文件复制到SD卡的根目录下; 步骤二:进入手机,设置→安全→信任的证书→从设备存储空间安装→“确定”安装cer证书。

4 开启SSL代理功能

在Menu选择Proxy->SSL Proxying Setting,选中Enable SSL Proxying,在Locations里面添加要使用SSL代理的网站,端口号输入443,如果需要匹配所有的HTTPS网站则输入 * 号即可。现在即可拦截Https的数据包。

image



About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK