Charles抓包https

灰灰是只小贱狗

2018.05.08 10:46 字数 762 阅读 7800评论 3喜欢 3

抓取HTTPS请求包,对数据进行排查检验

1.安装Charles
2.电脑安装Charles证书

电脑安装证书

双击还是信任下吧

3.手机安装证书

手机安装证书

4.手机网页输入网址 下载证书并信任

手机证书下载网址

安装到手机上

注意:在iOS 10.3之前,当你将安装一个自定义证书,iOS会默认信任,不需要进一步的设置。而iOS 10.3之后,安装新的自定义证书默认是不受信任的。如果要信任已安装的自定义证书,需要手动打开开关以信任证书。

iOS11下需要手动信任已下载好的证书,方法如下:

设置->通用->关于本机->证书信任设置-> 找到charles proxy custom root certificate然后信任该证书即可.

iOS11下手动信任证书

5.开始抓包
Charles设置Proxy
Proxy -> SSL Proxying Settings...,如下图所示:

疑问1,如果设置成特定的域名发现还是抓不了包,不知道为什么

选择Proxy | Recording Settings,弹出Recording Settings设置选项卡,勾选include

只展示你想看见的域名结果

6.原理简析
如果是HTTP请求,因为数据本身并没加密所以请求内容和返回结果是直接展现出来的。
但HTTPS是对数据进行了加密处理的,如果不做任何应对是无法获取其中内容。所以Charles做的就是对客户端把自己伪装成服务器,对服务器把自己伪装成客户端:

  1. Charles拦截客户端的请求,伪装成客户端向服务器进行请求
  2. 服务器向“客户端”(实际上是Charles)返回服务器的CA证书
  3. Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。(这一步,Charles拿到了服务器证书的公钥)
  4. 客户端接收到“服务器”(实际上是Charles)的证书后,生成一个对称密钥,用Charles的公钥加密,发送给“服务器”(Charles)
  5. Charles拦截客户端的响应,用自己的私钥解密对称密钥,然后用服务器证书公钥加密,发送给服务器。(这一步,Charles拿到了对称密钥)
  6. 服务器用自己的私钥解密对称密钥,向“客户端”(Charles)发送响应
  7. Charles拦截服务器的响应,替换成自己的证书后发送给客户端

当然,如果用户不选择信任安装Charles的CA证书,Charles也无法获取请求内容。还有一种,如果客户端内置了本身的CA证书,这时如果Charles把自己的证书发送给客户端,客户端会发现与程序内的证书不一致,不予通过,此时Charles也是无法获取信息的。

参考
mac环境下使用Charles抓包Https请求
浅谈Charles抓包
Charles 抓包IOS中https乱码解决

转载于:https://www.cnblogs.com/ldq2016/p/9802906.html

Charles抓包https相关推荐

  1. charles抓包https证书下载

    charles抓包https 概述 在charle和手机端都安装证书,其他和http请求一样 原理: 看过来 1.charles证书下载 下一步 下一步* 打开电脑端设置 ![在这里插入图片描述](h ...

  2. Charles 抓包工具教程(二) Charles 抓包HTTPS请求

    本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ Charles 抓包HTTPS请求 一.MacOS 安装 Chares 证书 二. ...

  3. Charles 抓包 Https 配置指南

    一.说明 在做客户端开发的时候大家一定经常用到抓包工具去抓接口排查调试,非常的简捷方便.Charles 是一款非常好用的抓包工具,我在日常开发中也很喜欢用其进行接口联调.问题排查. 以前的客户端接口请 ...

  4. Charles抓包https(测试app的双向认证)

    HTTPS抓包 HTTPS的抓包需要在HTTP抓包基础上再进行设置 设置前抓包HTTPS是这样的 设置后抓包HTTPS长这样 以下为在HTTP抓包基础上进行HTTP抓包的进一步设置步骤: (1)安装S ...

  5. charles抓包https设置

    写在前面 https抓包的实现 (一)首先,电脑得装个证书 (二)然后,移动设备上安装证书 (三)最后,Charles添加SSL Proxying 写在前面 开发时,面对各种接口数据,绝大多数时间都会 ...

  6. 最简单的Charles抓包https教程

    这里介绍charles抓包教程,亲测可行 一.背景 对于我司app都是使用的https网络请求,但开发中需要快速定位问题,因而对https请求抓包有非常高的依赖性.如果不对https做别的处理,抓包就 ...

  7. charles 抓包https

    概述 Charles是一款代理服务器,通过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果进行分析抓包.该软件是用Java写的,能够在Windows,Mac,Linux上 ...

  8. 简单说下HTTP代理、HTTPS代理、SOCKS代理的原理区别,charles抓包HTTPS原理

    采用PROXY代理方式通讯时,都是客户只TCP/IP连接到代理,客户只和代理通讯.  代理和目标进行TCP/IP通讯,代理需要先有PROXY信息,才能知道目标服务器的地址. HTTP代理最简单!因为H ...

  9. charles 抓包 (二)

    本文基于charles 抓包 https (1)中的配置完成. 1.移动设备上的网络请求 打开要调试的APP,请求就会先发送到Charles,然后验证是否允许访问. 当点击允许后,可以在Proxy - ...

最新文章

  1. 中国航空航天产业创新发展态势及市场规模分析报告2021-2027年版
  2. 美国西北大学 计算机工程专业排名,美国西北大学优势专业排名榜单最新一览...
  3. android开发适配深色模式,手机不支持深色模式,如何用软件解决深色模式的问题?(附有系统全局深色模式实现方法...
  4. proxmoxve打造云桌面_微软云电脑Cloud PC曝光:配置一般还不便宜
  5. 为什么macOS比Windows快那么多,是硬件的缘故么?
  6. Python 基础 —— str
  7. 15款顶级开源人工智能工具推荐
  8. 公司绝不会告诉你的20大秘密 转载
  9. 像素生存者2为什么显示服务器不可用,像素生存者2为什么更新了玩不了 | 手游网游页游攻略大全...
  10. Android之Adapter用法总结-(转)
  11. vmware funsion 共享网络模式下PPTP拨号问题
  12. 全国计算机软考中级试题,计算机软考中级(网络工程师)历年真题汇总
  13. linux下libreoffice增加字体,自由办公说:LibreOffice添加中文标点扩展
  14. 密码学09(SM3算法)
  15. MangaEditor(漫画编辑器)v1.10b官方版
  16. 深入理解卡尔曼滤波算法
  17. 内容云筑底,火山引擎能否为企业添一把火?
  18. win7与internet时间同步出错_电脑时间同步出错怎么办 win7/xp电脑时间同步出错解决方法...
  19. 挂马攻击的介绍和防御
  20. 软件工程 实验3 数据流图和实体联系图的绘制

热门文章

  1. 跨站请求伪造(CSRF)-简述
  2. sqlserver常用函数点滴记录
  3. cookie封装调用
  4. c++ TCP keepalive 使用
  5. 学习ASP.NET一定要学习ASP.NET AJAX吗?
  6. SpringBoot学习之@Configuration注解和@Bean注解
  7. 计算机组成原理学习1习题1
  8. HTML-参考手册: HTTP 方法:GET 对比 POST
  9. sublime必备插件
  10. Eclipse java项目转换为web项目