写在前面

开发时,面对各种接口数据,绝大多数时间都会用Charles抓包进行数据分析,但也总会有那么些情况让人抓狂:

  • Bugfix,线下环境(非https)数据少,满足不了bug出现的情况,无法一边抓包一边改bug
  • 线上环境(https)有接口数据,线下环境无接口数据的bug,这个时候抓包突然显得很苍白无力,Charles抓不了https包╯ ︵╰(‵□′╰

很自然地想要Charles能抓https包,于是去搜各种教程,结果发现依然抓狂:

  • 首先得电脑上装证书,ok,进入Charles-》Help-》SSL Proxying-》Install Charles Root Certificate,然而现实是残酷的 — ”无法找到证书“
  • 抓Android真机或者模拟器上的https包,还是得先给Android真机或模拟器装证书,照着教程折腾(失败):

    a)下载Charles证书 下载地址: http://www.charlesproxy.com/assets/legacy-ssl/charles.crt

    b)安装Charles证书 将下载完成的charles.crt证书push到Android设备(adb push charles.crt /sdcard/),从手机存储卡中找到安装证书charles.crt点击安装,教程说安装上就可以抓包了,结果又掉泪(网上找了好多教程,还发现好多都是针对ios的)—— 无法安装该证书,因为无法读取证书文件 

     

折腾了一两次发现无果,于是只有迁就着安于无法抓https包的现状了,但后来发现“抓狂的情况”出现越来越频繁了,不能安于现状了  (¬_¬)

https抓包的实现

(一)首先,电脑得装个证书

(1)先去官网下载证书,不然会报“无法找到证书”错误(官网注明说该证书在v3.10上会失效,我安装能正常工作...)

官网地址:https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/

(2)进入Charles-》Help-》SSL Proxying-》Install Charles Root Certificate ,会打开证书,安装进去

(3)当安装后,可能你看不到在哪里,在右上角的搜索中 输入 cha 则会显示出来,你看到上面是 此根证书不被信任

(4)在证书上右键 - 显示详情 ,展开信任 选择 始终信任,然后点击左上角的关闭,系统会弹出授权提示框,授权同意修改,回到列表,稍等,证书就刷新了

(二)然后,移动设备上安装证书

这里不以ios为例,以Android模拟器为例~~打开模拟器浏览器,在浏览器中输入http://charlesproxy.com/getssl,然后会弹出一个界面,让输入证书名字,直接输入charles就ok啦,安装成功后会提示证书安装成功

注:亲测直接在模拟器浏览器打开网址可以安装成功证书,通过网址http://www.charlesproxy.com/assets/legacy-ssl/charles.crt)下载,手动安装会报“无法安装证书”错误

(三)最后,Charles添加SSL Proxying

(1)进入Proxy-》SSL Proxying Settings

(2)勾选“Enable SSL Proxying”,并点击下方的Add

(3)在弹出的“Edit Location”中,输入Host和Port都为“*”(看提示这样配置可以抓到所有https的包),然后进行添加

(4)确保模拟器/手机将电脑的IP地址设置为代理,端口号为8888,具体教程点这里

这下就可以愉快的抓https包,https拦截里不再是unknown了~~

charles抓包https设置的更多相关文章

  1. Charles抓包https

    Charles抓包https 灰灰是只小贱狗 2018.05.08 10:46 字数 762 阅读 7800评论 3喜欢 3 抓取HTTPS请求包,对数据进行排查检验 1.安装Charles 2.电脑 ...

  2. charles抓包https/模拟弱网/设置断点重定向/压测

    charles几个常用功能   1,ios 抓包https网页:(如未配置,会显示unknown) 第一步是:给手机安装SSL证书 手机和电脑在同一wifi下,手机wifi配置http代理,ip是电脑 ...

  3. Charles 手机抓包HTTPS设置以及证书安装

    本文参考:charles 抓包手机 charles经常会进行手机上的网页抓包,比如去copy别人网站图片或脚本的时候o(∩_∩)o : 手机抓包的原理,和PC类似,手机依靠charles与服务端进行对 ...

  4. Charles抓包https请求

    平时使用Charles抓包,http的请求一眼就看到具体的请求信息返回信息等,但是如果是https请求,则是出现<unknow>,如下图: 若想要抓取https请求,怎么办呢? 1.连接C ...

  5. charles抓取HTTPS设置,详细踩坑版

    写这篇文章的背景就是,每次我在一台新电脑上用charles抓包时,总是因为各种原因无法抓到https请求,每个百度出来的回答又不是那么详细,需要通过几篇回答才能解决过程中的各种问题,所以把自己的安装经 ...

  6. charles 抓包 https 证书

    1. 概述 环境:这里是windows8 和 android (参考了ios环境的博客) 手机app点击发出http及https的请求,之前抓包都有请求的相关内容展示,这次没有,原来之前的一直抓的是h ...

  7. Windows下Charles抓包https协议配置

    最近设置https协议对手机app抓包遇到一些问题,现在在这里记录下,以防以后遇到问题没有记录 1.从官网下载Charles的安装包 https://www.charlesproxy.com/down ...

  8. 【接口工具】mac环境下使用Charles抓包Https请求

    Charles支持针对Https包解析.具体安装导航请参考“[接口工具]接口抓包工具之Charles” 操作流程 电脑安装证书: Help-SSL Proxying-Install Charles R ...

  9. windows charles 抓包https请求

    charles证书     2.设置host和端口 3.浏览器访问即可抓到https的请求  

随机推荐

  1. git之命令git checkout

    git checkout 最常用的就是切换分支,最近又发现一种新的用法: 有时候,在看代码的时候,不小心改动了部分代码,但跟项目没啥关系,这个时候,想不去提交这些代码,怎么处理呢? 使用git che ...

  2. ubuntu18.04安装spark(伪分布式)

    在安装spark之前,首先需要安装配置Hadoop,这个就不做详细介绍了,可以参看博主的另一篇: https://blog.csdn.net/weixin_42001089/article/detai ...

  3. 016_python程序变量抽取配置的几种方式

    一.json配置文件 json文件的互转,如下例子: 配置文件:example.json { "mysql":{ "host":"localhost& ...

  4. DAO层设计Junit测试

    DAO层的设计: 在实际的开发中有一种项目的程序组织架构方案叫做MVC模式. MVC模式就是按照程序的功能将它们分成三层,分别是Modle层 (模型层).View(显示层).Controller(控制 ...

  5. EasyUI的Datagrid鼠标悬停显示单元格内容

    功能描述:table鼠标悬停显示单元格内容 1.js函数 function hoveringShow(value) { return "<span title='" + va ...

  6. Photoshop实例视频教程

    Photoshop实例视频教程 2019/04/23 文件名 大小 复古街机风建筑效果图PS教程.mp4 6.63 MB 48.PS教程从零开始学——切片选择工具.mp4 20.90 MB PS教程- ...

  7. Java导出压缩包工具类

    /** * @Title: exportZip * @Description:TODO(导出建压缩文件) * @param delAdviceinfo 为项目实体类 * @date 2018年4月4日 ...

  8. Django(八)下:Model操作和Form操作、序列化操作

    二.Form操作 一般会创建forms.py文件,单独存放form模块. Form 专门做数据验证,而且非常强大.有以下两个插件: fields :验证(肯定会用的) widgets:生成HTML(有 ...

  9. axios拦截http拦截

    一,判断登录页面 const routes = [ { path: '/', name: '/', component: Index }, { path: '/repository', name: ' ...

  10. ubuntu apt-get install 时报错curl : Depends: libcurl4 (= 7.58.0-2ubuntu3.6) but 7.61.0-1ubuntu2 is to be installed或者 vim : Depends: vim-common (= 2:8.0.1453-1ubuntu1) but 2:8.0.1766-1ubuntu1 is to be ins

    ubuntu apt-get install 时报错:Depends: ***(=某版本)but***(另一版本)is to be installed 这时候就把这个***给purge后再重新装就好了 ...