一直没有写一篇关于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

转载于:https://www.cnblogs.com/piperck/p/6132504.html

charles代理以及关于其抓取https信息的操作相关推荐

  1. 浅谈Charles抓取HTTPS原理及HTTP CONNECT

    浅谈Charles抓取HTTPS原理 在关于HTTPS,你需要知道的全部中,分析了HTTPS的安全通信过程,知道了HTTPS可以有效防止中间人攻击.但用过抓包工具的人都知道,比如Charles,Fid ...

  2. Fiddler抓包工具入门:软件测试员必知的抓取https协议的方法

    首先给大家分享一个抓包的小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:"你这个页面做的有问题,页面展示异常": 小A说:"这哪是我的 ...

  3. 使用Charles抓取https请求

    总结下使用Charles进行简单接口压力测试以及修改接口请求,Charles是一款非常好用的抓包工具,通常使用它来进行APP开发抓包调试,尤其是HTTPS请求. 一.安装Charles 去官网(htt ...

  4. Charles抓取https请求

    最近公司将Windows产品的http请求,替换成https请求了,当https请求超过5次失败,就自动切换回http请求.测试时使用Charles抓包测试. 一.http抓包 http抓包比较简单, ...

  5. Charles+安卓模拟器 抓取https请求

    1.抓取https请求 如果模拟器不安装证书的话,我们可以抓取移动端的http请求了,但是https请求,会出现Unknown,下面是解决办法. 这里使用的是夜神模拟器(建议使用Android 5), ...

  6. 【教程】小米手机Android 7.0+抓取HTTPS请求安装Charles证书主要流程

    以下教程可能耗费你数小时时间,请注意时间. 目标:抓取HTTPS的包 如果你的手机是在Android 7.0+及其以上,想要抓取HTTPS的请求,必须要将证书(*.pem)用系统用户的权限安装,即把这 ...

  7. charles+SwitchyOmega抓取https网站

    charles+SwitchyOmega抓取https网站 在抓取https页面的时候,fiddler抓包达不到既定的效果,后来找到了charles这个神奇的抓包工具,只需要经过简单的设置,就可以达到 ...

  8. Charles安装后无法抓取https请求,显示 unknow

    问题描述 安装Charles后,双击打开,尝试抓取https请求,但抓取到的请求显示unknow,如下图: 问题原因 出现此问题的原因为Charles配置问题 解决办法 一. 安装证书 步骤: 1.点 ...

  9. Python笔记:使用代理方式抓取App的数据操作案例

    概述 App的爬取相比Web端爬取更加容易,反爬中能力没有那么强,而且响应数据大多都是JSON形式,解析更加简单. 在APP端若想查看和分析内容那就需要借助抓包软件,常用的有:Filddler.Cha ...

最新文章

  1. Alisql源码编译安装(详细篇)
  2. node开启子线程_真Node多线程
  3. MySQL安装教程,包含所有平台(图解)
  4. linux-时间日期类
  5. JavaScript之面向对象学习四原型对象的动态性
  6. 神经网络的SGD、Momentum、AdaGrad、Adam最优化方法及其python实现
  7. SAP License:最近的FICO面试题目
  8. MongoDB高级设计模式:数据即服务
  9. mysql event查询_Mysql中Event的一些测试
  10. 第一章计算机视觉引论
  11. Windows无法安装到这个磁盘。选中的磁盘具有MBR分区表。在EFI系统上,Windows只能安装到GPT磁盘
  12. 安卓GB28181跨网段语音对讲
  13. 如何选型APS系统,还需明确这七大关键因素
  14. Antd给表格一个斜线分隔(通过css改变)
  15. 使用 Karabiner 在 Mac 上配置非苹果键盘
  16. BI Publisher 模板开发语法大全
  17. 使用IO口检测电源电压的转换逻辑
  18. XSS 和 CSRF 详解
  19. 怎么监测facebook上竞争对手的广告
  20. BUAA OO第二单元作业总结

热门文章

  1. C#命名规范 C#控件的缩写大全
  2. 我的一次尴尬的维护经历
  3. 适应安装程序用的TreeView控件
  4. CVT1100 错误的修复 2009-10-12 11:38
  5. 关于series的统计
  6. 团队项目第一阶段冲刺站立会议08
  7. 第二章:深入C#数据类型
  8. C#生成带Logo二维码
  9. javabean简介
  10. Android实现导航菜单左右滑动效果