Charles乱码和SSL 代理问题解决

2023-11-07

        在刚接触Charles进行抓包使用时,遇到了两个问题:

                1、Charles上抓的包出现了乱码;

                2、Charles开启SSL Proxying代理后出现了手机无法上网或手机和电脑浏览器都无法上网的情况。浏览器提示证书不可用或过期。

        尝试了很久终于解决了这两个问题,下面记录一下处理历程。

1、乱码问题解决

在这里插入图片描述

解决方案为:修改Charles.ini 文件(可选);

vmarg.5=-Dfile.encoding=UTF-8
vmarg.6=-Dfile.encoding=UTF-8

在这里插入图片描述

 

2、Charles开启SSL Proxying代理电脑浏览器后手机都无法上网问题

        Charles想要抓取Https请求的包,必须要在电脑和手机上都安装Charles 根证书。

(1)安装SSL证书

        选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”

 到此,Charles证书就安装成功了。

(2)防火墙配置

        可以在电脑防火墙上看到

        路径为:网络和Internet--windows防火墙--允许应用通过防火墙,在“允许的应用和功能”列表上要保证Cherles Web Debugging Proxy的所有勾选框都是被勾选的。如果要更改这里的配置,需要先点击一下“更改设置”按钮,然后删除按钮才会高亮显示。选中Cherles Web Debugging Proxy这一列可以进行设置和删除操作。

(3)设置Charles的SSL 代理

      1、  回到Charles应用,点击工具栏的Proxy按钮 -- 选择Proxy Settings -- 设置代理端口并勾选上下面的两个复选框,特别是第二个复选框代表开启http代理明文传输。

         2、选择Access Conctrol Setting,在这里可以控制访问设备。点击add可以添加需要抓包设备(pc或移动设备)的ip地址。设置好之后才能保证这些添加上的设备能够被Charles抓包。

        从截图的文字描述可以看到,安装Charles的计算机默认是被包含在访问控制列表的。访问列表默认展示为空,需要用户自己添加需要控制的设备的ip地址。

 3、SSL Proxying Settings设置

        勾选enable SSL Proxying复选框代表开启SSL Proxying代理,并在include栏中添加域名和端口号。include中的列表项代表Charles能够展示这些域名的SSL请求和响应的明文。

        并且说明中也提示了我们Charles要想使用SSL Proxying代理,需要进行SSL Certificates,即证书签名。这个我们在上面已经完成了。

 Stop SSL Proxying按钮可以控制SSL 代理的开关。

 到此,PC端的设置都已经配置好了。

(4)手机端配置网络的代理,并安装Charles证书

        4.1、 手机端配置网络代理

        手机端需要保证连接的wifi是和PC端在同一个局域网。

        手机端进入到设置--WLAN--找到已连接的wifi--长按该wifi,弹出修改网络--点击修改网络,然后设置代理模式为手动--填写服务器主机名和端口后。服务器主机名即PC端的ip地址,端口号即在Charles应用中设置的Proxying 端口号。

        到这一步,PC上就能看到手机端访问网络时的包数据了。但是对于https 加密请求还需要安装SSL 签名证书。

        4.2、 安装Charles CA证书

                Charles应用中点击help--SSL Proxying--点击install Charles...Browser出现弹出提示

弹窗提示我们需要配置设备代理,这个我们在上面已经配置过了 。然后需要在浏览器中输入chls.pro.ssl下载和安装证书。假如你是ios10以后的机型,还需要进入到设置中信任Charles证书。

        4.3、 下载并安装Charles证书

        手机端连接上代理后,(应该是需要在Charles应用中先关闭SSL Proxying代理,否则手机端是无法下载证书的,这里我不太确定是否要执行这一步)在浏览器中输入框输入chls.pro.ssl会弹出弹框,点击下载。

        我当时在安卓手机上下载成功后,直接点击该证书文件显示无法打开。然后我进入到手机设置--安全--更多安全设置--加密和凭据--从存储设备安装--展示了CA证书,VPN和应用用户证书,WLAN证书--不知道安装哪种的情况下,我把这三种类型挨个都选择了,进入到存储之前浏览器下载的证书目录下,点击证书文件,弹出一个弹窗提示为证书命名,命名为Charles即可,然后点击确定即安装成功了。

        这时候你会发现在设置的“加密和凭据”页选择受信任的凭据--再选择用户tab--就能看到Charles Proxy CA证书了。

        并且在“加密和凭据”页点击“用户凭据”,也能看到我们安装的证书。

        4.4、 ios设备进入到设置中信任Charles CA证书

(5)https请求和抓包

        这时候,再访问网络,比如百度随便输入一个内容后点击搜索,就可以再Charles上看到请求和响应包的数据,并且没有出现乱码了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Charles乱码和SSL 代理问题解决 的相关文章

  • JUC三连问

    1 进程和线程的区别 1 进程是资源分配的基本单位 线程是程序执行的最小单位 2 一个进程包括多个线程 3 每个进程都有自己的内存和资源 一个进程中的线程会共享这些内存和资源 每个线程都有单独的栈内存 和寄存器 2 并行和并发的区别 并行指

随机推荐

  • java 数据结构----------堆栈和队列

    队列的基本概念 队列 简称队 也是一种特殊的线性表 队列的数据元素以及数据元素间的逻辑关系和线性表完全相同 差别是线性表允许在任意位置插入和删除 而队列只允许在一端进行插入操作而在另一端进行删除操作 队列中允许插入操作的一端称为队尾 允许进
  • AutoConfigurationImportSelector自动导入过程分析

    AutoConfigurationImportSelector AutoConfigurationImportSelector 类实现 DeferredImportSelector接口 在项目启动过程中 会自动调用其 selectImpor
  • html input框的样式修改

    在html中 往往我们需要修改input中的placeholder默认文字的样式 在这个时候主要用到 在input框中有时想将输入的字和placeholder设为不同的颜色或其它效果 这时就可以用以下代码来对placeholder进行样式设
  • 基数排序C/C++代码实现

    链式基数排序 分配类排序不需要比较关键字的大小 它 是根据关键字中各位的值 通过对待排序记录进行若干趟 分配 与 收集 来实现排序的 是一种 借助于多关键字排序的思想对单关键字排序的方法 基数排序 RadixSorting 是典型的分配类排
  • Tomcat配置与优化(内存、并发、管理)

    一 JVM内存配置优化 在开发当中 当一个项目比较大时 依赖的jar包通常比较多 我们都知道 在应用服务器启动时 会将应用引用到的所有类通过ClassLoader依次全部加载到内存当中 Java的逻辑内存模型大致分为堆内存 栈内存 静态内存
  • 10.机器学习sklearn-------手写数字识别实例

    1 概念介绍 图像识别 Image Recognition 是指利用计算机对图像进行处理 分析和理解 以识别各种不同模式的目标和对像的技术 图像识别的发展经历了三个阶段 文字识别 数字图像处理与识别 物体识别 机器学习领域一般将此类识别问题
  • java作业-----方法重载

    满足方法重载的条件 1 方法名相同 2 参数类型不同 参数个数不同 参数类型的顺序不同 同时 方法的返回值不作为方法重载的判断条件 转载于 https www cnblogs com xinshngqi p 11599814 html
  • cmd 复制文件夹,包括文件夹本身,xcopy复制 指定目录,选定目录复制

    cmd 复制文件夹 包括文件夹本身 或者包括目录本身 或者xcopy复制 指定目录 我们发现 xcopy好像没这个功能 但是可以间接实现选定的目录拷贝 举例 我有个目录 a c a 要复制到 d盘 先第一步 cd d mkdir a xco
  • 整数对最小和

    题目 整数对最小和 输入描述 输入两行整形数组array1 array2 每行首个数字为数组大小size 0
  • C++浅拷贝和深拷贝——使用(代码演示篇)

    浅拷贝 普通类型的成员变量 深拷贝 成员变量是不是有指针类型 数组类型或者其他类的引用的时候 深拷贝 代码演示 define CRT SECURE NO WARNINGS include
  • 使用Python开发一个恐龙跑跑小游戏,玩起来

    相信很多人都玩过 chrome 浏览器上提供的恐龙跑跑游戏 在我们断网或者直接在浏览器输入地址 chrome dino 都可以进入游戏 今天我们就是用 Python 来制作一个类似的小游戏 素材准备 首先我们准备下游戏所需的素材 比如恐龙图
  • k8s flannel vxlan流量抓包分析

    Flannel Vxlan抓包 对于 Kubernetes 集群中的 Pod 由于容器内不便于抓包 通常视情况在 Pod 数据包经过的 veth 设备 docker0 网桥 CNI 插件设备 如 cni0 flannel 1 etc 及 P
  • cms垃圾收集器是如何进行垃圾回收的

    文章目录 CMS 垃圾回收器 核心垃圾回收过程 完整垃圾回收过程 阶段一 初始标记 阶段二 并发标记 Concurrent Mark 阶段三 并发预清理阶段 阶段四 可终止的预处理 阶段五 重新标记 阶段六 并发清理 阶段七 并发重置 CM
  • Lattice FPGA 开发工具Diamond使用流程总结——安装

    Lattice的芯片价格便宜 功耗低 最近项目要用 先来一份开发使用流程 软件安装 加载软件包 如下 下载安装包后 点击Diamond exe 文件 进入安装对话框 逐步点击YES或NEXT 完成路径设置等步骤 如下 到达产品加载选项页面
  • es集成SpringCloud

    es全文检索 feign 集成SpringCloud的使用 1 es的使用 1 1 导包 1 2 es的配置文件 application yml 1 3 创建CourseDoc 1 4 创建CourseDocRepository 1 5 普
  • 基于ubuntu操作系统下的Qt的安装

    1 首先下载安装包 进入官网下载地址 http download qt io 如图所示 顺带说说目录结构 archive 各种 Qt 开发工具安装包 新旧都有 可以下载 Qt 开发环境和源代码 community releases 社区定制
  • Android 复杂首页搭建BaseMultiItemQuickAdapter,详解简单易学

    关于不同类型多布局的展示BaseMultiItemQuickAdapter详解 二 新篇章 对于Android 初学者来说 说到数据展示 相信大家对一定会想到ListView 或者 RecyclerView 但是简单的数据展示这个确实没毛病
  • ubuntu java sdk_ubuntu16.04配置android SDK环境

    对于很多新手来说 在配置任何环境的时候一篇非常好的指导安装方案是最合适不过的 我也是从这个坑慢慢爬出来的 反复的搜索文章反复的测试来配置安装环境 为了大家也为了自己以后的方便 今天就为大家整理一套即完整又详细的Android环境配置步骤 如
  • 云计算和物联网之间是什么关系,主要有什么区别?

    云计算和物联网是当今IT业界的两大焦点 它们有很大的区别 但同时也有着千丝万缕的联系 物联网通过数量惊人的传感器采集到难以计数的数据量 而云计算可以对这些海量数据进行智能处理 云计算是物联网发展的基石 而物联网又是云计算的最大用户 促进着云
  • Charles乱码和SSL 代理问题解决

    在刚接触Charles进行抓包使用时 遇到了两个问题 1 Charles上抓的包出现了乱码 2 Charles开启SSL Proxying代理后出现了手机无法上网或手机和电脑浏览器都无法上网的情况 浏览器提示证书不可用或过期 尝试了很久终于