Charles 和 Fiddler 一样都是http抓包工具。

之前用 Fiddler 抓个别 ios 手机 https 报文时总卡在哪里返不回任何数据,后来怀疑是 Fiddler 问题,就考虑使用 Charles 。最后发现是我使用问题 错怪了Fiddler。

http抓包

http抓包配置很简单就是使用 Charles 作为代理服务器。

1、从官网下载 charles,根据你的系统选择合适版本即可

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

2、安装 charles, windows 一直 下一步 即可

3、代理配置 proxy-》proxy settings

4、按如下配置

a)端口号默认8888也可以改

b)勾选 Enable transparent HTTP proxying

5、查看ip地址

可以在cmd中输入 ipconfig 或者help->Local IP Address查看ip

6、手机上配置

配置好ip地址和端口此时所有数据报文即可抓到

7、手机上设置代理后,Charles 会弹出链接确认提示框选择 允许(Allow)

8、到此就可以抓到包了,但https能够抓到但内容都是乱码(密文)

https抓包

https 与 http  抓包没有什么区别,区别在于 https 使用的 ssl 加密算法对数据进行了加密,也就是上图抓到的都是密文无法看到明文内容。所以咱们要做的只是安装证书,让手机使用咱们的证书进行通信,这样自然就可以看到明文了。原理如下图:

言归正传开始证书配置

1、安装证书

也是简单确定即可。这个安装的是移动证书,也就是给app等客户端使用的证书。如果你要抓本地浏览器 https 内容,点上边 “Install Charles Root Certificate”

本地证书安装,如果不需要抓本地包可以跳过。对于本地 https 如果不需要拦截修改等,浏览器F12即可查看

1.1 选择安装证书

1.2 选择本地计算机

1.3 选择证书存放位置,可以自定义一个更高的位置

1.4 选择存放到根证书中,然后 下一步 完成,至此本地证书安装完成

2、打开手机在浏览器输入 chls.pro/ssl,刚才安装移动证书时也会显示地址(此文只有 ios 手机配置,安卓手机配置雷同 参见:https://www.cnblogs.com/rslai/p/7794940.html

3、访问后提示正在下载配置描述文件,点击“允许”即可

4、在 通用->描述文件与设备管理 中 安装 刚刚下载的 Charless 证书

5、charles中配置ssl

6、勾选允许ssl代理,并添加那些地址使用,点击add添加

7、host 和 port中输入 *,代表所有服务器所有端口都使用ssl代理

8、至此配置完成,部分 ios 手机就可以看到明文的 https 报文了。

为什么说部分呢?也就是开头说的 Fiddler 无法抓部分 ios 设备的 https 的报文。原因是高版本的 ios 还需要再启用根证书才行

根证书启用完全信任

1、设置->通用->关于本机->证书信任设置,找到 charles 启用即可,Fiddler 的话找到证书启用也就可以了。

2、此时 https 即可显示明文了

破解charles

最后的一个问题,此时 charles 只能使用30分钟,每隔30分钟需要重启一次。要么买一个,要么破解。

参考:https://blog.csdn.net/qq_25821067/article/details/79848589

参考文献:

  https://jingyan.baidu.com/article/0aa2237561af1088cc0d64c9.html

Charles4.2.8抓包(http+https)的更多相关文章

  1. fiddler抓包工具 https抓取 ios手机端抓取

    fiddler抓包工具 https抓取 ios手机端抓取  转载链接:https://www.cnblogs.com/bais/p/9118297.html   抓取pc端https请求,ios手机端 ...

  2. Wireshark抓包分析HTTPS与HTTP报文的差异

    一.什么是HTTPS: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换 ...

  3. 微信7.0以上版本fiddler、Charles抓包报HTTPS证书信任问题通报

    通报:微信更新到7.0以后抓包公众号会有证书问题,抓包小程序直接不能打开 各位不用到处找了,也不用怀疑人生了,你没有问题.win10也没有问题.fiddler和Charles也没有问题,是因为微信更新 ...

  4. Charles抓包之HTTPS抓包配置

    访问我的博客 前言 由于工作中经常需要配置客户端开发人员对接接口,有时候对接地不太顺利,因此需要经常性地对公司 APP 进行抓包看请求,找出具体的原因. 在公司中开发使用的 Windows 台式电脑, ...

  5. 使用Fiddler抓包调试https下的页面

    众所周知https技术诞生以来,一个很重要的作用就是加密通信内容.所以在项目团队将业务站点实施完https改造以后,原先使用fiddler进行抓包的美好生活到头了.其实fiddler本身是支持对于ht ...

  6. Mac 环境 下使用Charles 抓包Http/Https请求

    实现目标 在Mac 上 对 iOS  真机 和 模拟器 进行 Http/Https抓包 使用工具 Mac 上 Charles 4.2  安装 参考链接 1. 和 链接 2. 抓包 http 请求 (1 ...

  7. Charles抓包(http/https请求)

    Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装官网下载安装Charles:https://www.charlesproxy.com/download/当然由于国情可以使用破 ...

  8. Windows版 charles安装证书抓包网页HTTPS

    1.在Charles官网https://www.charlesproxy.com/download/下载,我这边下载的是免费体验版的. 2.安装好以后打开,配置Charles证书:选择 help--S ...

  9. 用Fiddler在Android上抓包(Http+https)

    Fiddler是一个HTTP协议调试代理工具,在开发网络应用的时候经常会用到,其最基本的作用是能抓HTTP的数据包,当然它还有更高级的用法,如添加断点.修改请求与相应的数据等等... 抓HTTP包 安 ...

随机推荐

  1. 干货 | 10分钟搞懂branch and bound(分支定界)算法的代码实现附带java代码

    Outline 前言 Example-1 Example-2 运行说明 00 前言 前面一篇文章我们讲了branch and bound算法的相关概念.可能大家对精确算法实现的印象大概只有一个,调用求 ...

  2. 微信小程序知识云开发

    一个小程序最多5个服务类目,一个月可以修改3次类目 小程序侵权投诉的发起与应对 软件著作权作品登记证书 实现小程序支付功能 如何借助官方支付api简单.高效率地实现小程序支付功能 借助小程序云开发实现 ...

  3. ajax post data 获取不到数据,注意 content-type的设置 、post/get(转)

    ajax post  data  获取不到数据,注意 content-type的设置 .post/get 关于 jQuery data 传递数据.网上各种获取不到数据,乱码之类的. 好吧今天我也遇到了 ...

  4. mysql 日期处理

    mysql> select curdate(); +------------+ | curdate() | +------------+ | -- | +------------+ row in ...

  5. @submit.native.prevent作用

    <el-form :inline="true" :model="geCarManageData" class="demo-form-inline ...

  6. iview 的事件绑定

    iview 内的组件样式是不错,有时候我们想用它且绑定某个事件: 比如,我们使用了步骤条组件(Steps),然后绑定点击事件,实现每次点击某个步骤条内的step 就显示此step的具体信息, < ...

  7. hadoop大作业

    1.数据准备 2.把CSV添加到/bigdatacase/dataset中 3.检查前5行并删除第一行 4.将csv文件导入hadoop并检查前10行数据情况 5.数据文件导入hive 6.在Hive ...

  8. Java 强,弱,软,虚 引用

    import java.lang.ref.SoftReference; import java.lang.ref.WeakReference; public class TestGC { /** * ...

  9. MQTT 与 RocketMQ 的应用场景对比

    本文主要在什么是微消息队列 MQTT?的基础上介绍微消息队列 MQTT 和传统消息中间件的关联和区别,并针对实际应用场景下的产品选型给出建议. 背景信息 传统的消息中间件,例如消息队列 RocketM ...

  10. 错误: -source 1.6 中不支持 diamond 运算符

    问题 错误: -source 1.6 中不支持 diamond 运算符 解决步骤 1.检查ide的默认编译环境 ,快捷键ctrl + alt +s 找Java Compiler ,发现设置是 Targ ...