charles代理以及关于其抓取https信息的操作
一直没有写一篇关于charles的文章来记录,但是发现偶尔还是会忘记,所以还是记一下,查起来比较方便。
首先在安装了charles之后默认的本地代理地址是 127.0.0.1:8888这个地址。如果希望代理本地计算机的http流量或者socks流量,可以将代理地址设置到127.0.0.1:8888这个地址上,就能在charles上查看到现在正在使用的流量了。
其实我平时常用的代理并不是代理pc上的流量,因为现在大部分现代浏览器都自带可以看包的功能,所以更多的时候,我可能需要使用它来代理我手机上的流量,特别是在测试接口和api的时候。
首先就是最常用的代理功能,将到达本机的流量映射到其他地址上面去。
Tool->Map-remote-setting
出现这个界面
点击add增加映射设置
这里就是填写从什么地址映射到什么地址。
例如我们要去往百度代理到我们自己的地址上来。
上面就可以设置百度的host www.baidu.com 然后port80 或者8080
下面设置上我们自己去往的地址 比如 zhizhizhi.me 然后设置端口即可。
如果要让charles能看到https包里面的内容,首先我们需要在自己的电脑中安装charles的根证书,并且对其进行信任。
Help->SSLProxying-> Install Charles Root Certificate。 对其进行安装并且对其进行信任。
然后启用charles的SSL代理
Proxy-> SSL Proxy Setting
勾选 Enable SSL Proxying
并且设置由服务器所属根证书签发的客户端证书,这里我使用的一个p12格式的证书。 然后指定监听的代理host
至此,charles就可以代理你对目标服务器的https请求了。
如果你需要charles代理你的手机访问目标地址的https ,还需要在手机上安装charles证书,方法也很简单。
Help->SSL Proxying-> Install Charles Root Certificate Devices Or Remote Browser 这个时候会给你一个安装证书的内网地址
访问该地址即可下载安装charles证书。
这里代理SSL流量的原理也很简单:
为什么要装charles根证书:
因为charles最终代理我们的ssl流量是要发回给我们的,而这个过程是我们和本地charles代理的ssl通信,如果我们没有charles签发的根证书,那么我们将无法信任charles转发的任何ssl流量。
另外由于我们在charles里面设置了和服务器对应的客户端证书PKCS12格式的包文件(pkcs12中包含被根证书签出来的公私钥),所以我们可以解密由指定host服务器发送过来的加密的数据,从而像抓包http包一样看到这些数据包里面的数据。charles负责代替我们和该服务器发送接收加密数据,而我们还需要和chales本身再进行一次通信,这样说 应该就比较明确了。
Reference:
https://en.wikipedia.org/wiki/PKCS_12 PKCS12wiki
charles代理以及关于其抓取https信息的操作的更多相关文章
- Mac用户抓包软件Charles 4.0 破解 以及 抓取Https链接设置
相信大家曾经都是Window的用户,作为前端哪能没有一款抓包工具,抓包工具可以非常便捷的帮助我们分析接口返回报文数据,快速定位问题. 曾经横扫window用户的Fiddler便是我们的挚爱,然而,作为 ...
- Charles 如何抓取https数据包
Charles可以正常抓取http数据包,但是如果没有经过进一步设置的话,无法正常抓取https的数据包,通常会出现乱码.举个例子,如果没有做更多设置,Charles抓取https://www.bai ...
- 手机通过Charles抓取https包
因为fiddler不能在mac上使用,而Charles是跨平台的,可以在mac上使用,所以需要了解一下Charles的使用 安装破解版Charles 下载破解版包,先启动一次未破解版的Ch ...
- charles抓取https中出现unknow
http正常抓包,https则出现unknown 1.安装证书 Help->SSL Proxying->Install Charles Root Certificate 但是!!!装完并没 ...
- 对比使用Charles和Fiddler两个工具及利用Charles抓取https数据(App)
对比使用Charles和Fiddler两个工具及利用Charles抓取https数据(App) 实验目的:对比使用Charles和Fiddler两个工具 实验对象:车易通App,易销通App 实验结果 ...
- 其他系列 | charles抓取https中出现unknow【转载】
原文:https://www.cnblogs.com/aeolian/p/9249185.html http正常抓包,https则出现unknown 1.安装证书 Help->SSL Proxy ...
- Charles + Android 抓取Https数据包 (适用于Android 6.0及以下)
通过Charles代理,我们能很轻易的抓取手机的Http请求,因为Http属于明文传输,所以我们能直接获取到我们要抓取的内容.但是Https内容本身就是加密的,这时我们会发现内容是加密的了.本文我们来 ...
- 测试必备工具之抓包神器 Charles 如何抓取 https 数据包?
之前发过一篇文章讲解了Charles抓包工具的基本使用(有需要的小伙伴可以去看上一篇文章), 讲的数据包主要是http协议,大家可以看到数据包并直接显示具体详细的内容: 但是如果抓到的是https的 ...
- Charles使用part3——安装证书&手机抓取https请求
一.配置 Charles 根证书 1.进入 Charles->Help->SSL Proxying->Install Charles Root Certificate ,会打开证书, ...
随机推荐
- Intel支持八九代酷睿的B365芯片组将登场亮相
不久前,Intel悄然推出了新款芯片组B365,看起来像是B360的升级版,但事实上二者并无太大关系. 根据最新曝料,基于B365芯片组的主板将在1月16日登场亮相,支持八九代酷睿. 同时获悉,B36 ...
- PAT A1138 Postorder Traversal (25 分)——大树的遍历
Suppose that all the keys in a binary tree are distinct positive integers. Given the preorder and in ...
- Android FragmentPagerAdapter翻译
public abstract class FragmentPagerAdapter extends PagerAdapter java.lang.Object ↳ android.suppor ...
- Flask源码解读--所有可扩展点
一.前言 flask中有很多可扩展点(笔者这样称呼),其中包含了信号和请求钩子,这些信号和钩子有什么用呢?其主要作用用于帮助我们进行程序的耦合性,当然还可以让我们自定义一些行为.话不多说,通过阅读源码 ...
- Ionic 中badge的应用
app中如果有服务端推送过来的消息,用户没有查看的话,出现一个数字提醒,类似微信的那种效果. 在Ionic中的实现过程还是很简单的: <ion-tab title="首页" ...
- Data Partitioning Guidance
在很多大规模的解决方案中,数据都是分成单独的分区,可以分别进行管理和访问的.而分割数据的策略必须仔细的斟酌才能够最大限度的提高效益,同时最大限度的减少不利影响.数据的分区可以极大的提升可扩展性,降低争 ...
- 【SCOI2015】小凸想跑步
题面 题解 推波柿子: 设点\(A(x_a, y_a), B(x_b, y_b), C(x_c, y_c), D(x_d, y_d), P(x, y)\) \(\vec{a} = (x_b - x_a ...
- 2016年总结 - Java程序员
一 . 技术积累 (1)代码规范 1.1.1.通常的模块分布:一般如果你要实现一个web应用,你从后台将数据展示到前端页面,在一个比较大的公司,你少不了跟其他项目有交集(你调用他的接口,他依赖你的接口 ...
- 老生常谈,函数柯里化(curring)
柯里化这个概念确实晦涩难懂,没有深入思考过的人其实真的很难明白这是一个什么东西.看起来简单.简单到或许只需要一行代码: const curry = fn => (…args) => fn. ...
- curator 分布式锁InterProcessMutex
写这篇文章的目的主要是为了记录下自己在zookeeper 锁上踩过的坑,以及踩坑之后自己的一点认识; 从zk分布式锁原理说起,原理很简单,大家也应该都知道,简单的说就是zookeeper实现分布式锁是 ...