美文网首页Android进阶
mac 版本 charles https 抓包

mac 版本 charles https 抓包

作者: Android_冯星 | 来源:发表于2017-11-01 09:23 被阅读438次

原文地址 http://blog.csdn.net/luochoudan/article/details/72801573#reply
按照原文进行配置,但是无法抓https包,在官网查看,修改了两个地方就好使。
https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

工具

(1)最新的charles工具,下载地址:
https://www.charlesproxy.com/download/

https://www.charlesproxy.com/download/

(2)charles本身收费,如果不想掏钱,必须破解。破解的步骤只需要一步,参见http://charles.iiilab.com
Http

(1)配置代理端口号; Proxy -》 Proxy Settings -》 Port,port可以随便指定,我这里取的8888;


这里写图片描述 这里写图片描述

(2)配置代理的ip; Android手机的网络代理一般在设置页面,点击当前连着的wifi,手动修改代理配置,然后将你的电脑ip和第一步中配置的端口号填写到手机上即可。如下图:


这里写图片描述

有了上面两步,理论上已经能够实现http的抓包。至于如何抓,以及断点、map、rewrite等功能不是本文的重点,网上一大筐,请自行搜索。

Https

这个真的是,让人很无语。 在看了网上一大堆似曾相识的说明之后,笔者按照那些配置,不是乱码,就是一直处于这样⬆️吊死的请求状态。还有各种证书指导安装说的模棱两可,让人摸不着头脑。
在经过了半天的折腾后,笔者将亲身实践的经历总结如下,力图用最简洁的步骤,帮你实现https抓包。

(1)在上面两步的基础上,你需要为charles添加SSL Proxiyng。具体的步骤是:Proxy -》 SSL Proxiyng Settings -》勾选“Enable SSL Proxying”,并点击下方的Add,你可以这样配置:

这里写图片描述 这里写图片描述 这里写图片描述

host是你要抓的域名或者ip(这里用通配符*,表示抓去所有的https请求),port为443。

注意: 这里host要填写你要抓包的主机名
注意: 这里port要填写你要抓包的端口号

屏幕快照 2017-11-01 上午9.15.00.png

(2)下载手机的SSL证书。这一步很关键,你需要点击help -》SSL Proxying-》Save Charles Root Certificate,然后选择目录,保存一个类似于这样的“charles-ssl-proxying-certificate.pem”文件(笔者的环境是mac下,windows有可能文件后缀不一样);

这里写图片描述

(3)给手机安装证书。这一步很坑,因为不同的手机可能会有不同的表现

首先命令行切换到(2)的文件夹下,可用adb将(2)中的文件推入手机中,具体的命令参考:“adb push charles-ssl-proxying-certificate.pem sdcard/charles.pem”,表示将charles-ssl-proxying-certificate.pem推入sdcard中,并重命名为charles.pem,注意后缀必须是pem。

打开手机的文件管理器,找到charles.pem,点击安装。如果安装成功,那么恭喜你,理论上,现在手机的https访问数据,已经能被charles获取。不过,如果你的手机出现了类似下图的说明,请继续执行下一步。

这里写图片描述

打开手机设置 -》更多设置 -》系统安全 -》从存储设备安装 -》选择charles.pem,点击安装。如果安装成功,那么恭喜你,理论上已经能抓包https的数据了。

注意 如果不能抓去https的数据 请不要使用vpn
请选择WLAN

这里写图片描述

如果你是小米的用户,而且出现了问你要“凭据存储的密码”的弹窗,请继续往下看。

这里写图片描述

小米手机对sdcard文件的存取,做了安全限制。如果你没有设置屏幕锁,或者没有开启屏幕锁,操作sdcard文件时会出现上面的提示(具体可参见http://www.miui.com/thread-3244178-1-1.html)。这时,你需要设置一下屏幕锁,再重新安装一下就行了。

到这里,已经完成charles对https抓包的全部配置。正常的情况,你的charles会显示https的数据,并且没有乱码。如果按照上面的步骤,仍然无法抓https包,笔者建议你可以考虑重新装一个版本的charles了。
总而言之
(1)https抓包确实需要安装证书,不过电脑端可以不装,要抓包的手机必须装。而不是像许多博客指出的那样,电脑和手机都必须装证书; (2)部分版本的破解可能导致charles出现异常,对的配置却仍然无法正常抓https包,可能受破解的影响,可以考虑重装软件了。 (3)https从头到尾,电脑只需要配置一下SSL Proxiyng Settings,手机只需要安装一个证书即可。并不需要乌七八糟的乱撞一通证书。

原文地址 http://blog.csdn.net/luochoudan/article/details/72801573#reply
按照原文进行配置,但是无法抓https包,在官网查看,修改了两个地方就好使。

和原文下载证书 并不一样

  • 安装证书
屏幕快照 2017-11-01 上午9.30.40.png
  • 双击证书 改成 始终信任此证书
屏幕快照 2017-11-01 上午9.28.20.png
  • 安装证书在手机上


    屏幕快照 2017-11-01 上午9.31.15.png
  • 如果成功会有下面的提示

屏幕快照 2017-11-01 上午9.31.08.png
  • 下面的提示让你拿着手机去访问 chls.pro/ssl 这个地址
    其实就是安装证书在手机上

  • 剩下就是 配置名字 VPN 改成WLAN 应该就可以了。 有的手机 是需要手机设置屏幕的解锁密码,哪都无关要紧了。

相关文章

网友评论

    本文标题:mac 版本 charles https 抓包

    本文链接:https://www.haomeiwen.com/subject/snskpxtx.html