当前位置: 首页 > news >正文

Android 使用Charles抓包显示Unknown

最近开发的一个功能需要抓包验证一下网络请求的结果。

但是在配置完Charles的证书代理等设置后,抓包时显示Unknown。

在网上查了半天资料和文章,最终解决了问题。

以下是在调试抓包环境中遇到的一些问题和解决方法。

1、手机证书的安装

Charles在Mac电脑端的配置大部分网上都有教程,这里不过多介绍,只简单说一下。

在Charles的Mac电脑端要配置端口号和查看本地的IP地址,把IP地址和端口号在手机的WLAN选项里进行代理设置。代理设置为手动。

同时把证书安装在mac电脑上并且在mac电脑的系统设置里要把Charles的证书的所有设置修改为一直信任(Always trust)。

在mac电脑设置完成后,下一步就是在android手机上下载安装Charles的CA证书。

这一步问题最多。

我的华为手机系统自带的浏览器,使用Charles推荐的方法在浏览器输入chls.pro/ssl去下载时,下载不了。

所以我推荐大家在mac电脑上使用Charles把证书Save到电脑本地,在通过邮件的方式最终下载到手机里。

Charles证书在保存时,可以选择pem格式或cer格式。这两种大家最好都下载并传到手机。

因为不同的手机可能对格式要求不一样。

我自己最终不仅把pem格式和cer格式都安装了,同时还把这两个文件都改名成了crt后缀又安装一遍。

在安装时,在华为手机的设置里找到安全->更多安全设置->加密和凭据->从存储设备安装

到这一步会看到页面里有CA证书和WLAN证书。我最后是把这两个全部都安装了,安装CA证书时需要输入一下开机密码。这两个证书安装的内容是一样的,都是从Mac电脑里Charles保存的证书文件。

安装CA证书到这一步就完成了,可以说把能装的证书都装了一遍。

2、Android项目的抓包权限配置

这一步尤为重要。在android 7.0以上的版本,想要让app支持抓包需要在app的网络安全配置文件里进行特殊设置。

文件名一般是network_security_config.xml

内容如下

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true"/>
<debug-overrides><trust-anchors><certificatesoverridePins="true"src="system" /><certificatesoverridePins="true"src="user" /></trust-anchors>
</debug-overrides>
</network-security-config>

大家可以检查一下自己的项目里是否有这个文件,没有的话在项目的xml目录下创建一个就可以。

代码里的内容已经是支持debug抓包模式的代码了。大家直接复制粘贴就可以。

需要注意的是,这个文件配置里写的是debug-overrides,所以在打包时,也要检查打包的buildtype里debuggable要设置成true。

文件设置改好之后,在manifest文件里同样要配置。

<applicationandroid:name="myproject"android:allowBackup="@bool/allow_backup"android:icon="@mipmap/ic_launcher"android:label="@string/app_label"android:networkSecurityConfig="@xml/network_security_config"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"android:allowNativeHeapPointerTagging="false"tools:replace="android:name,android:allowBackup,android:label,android:networkSecurityConfig">

在manifest文件里配置好后,抓包配置就可以生效了。

以上2个步骤完成后,我的华为手机从抓包显示unknown已经变成可以看到抓包内容了。

资料参考:

在MAC上使用Charles抓包HTTPS链接

Android Charles抓包失败

相关文章:

Android 使用Charles抓包显示Unknown

最近开发的一个功能需要抓包验证一下网络请求的结果。 但是在配置完Charles的证书代理等设置后&#xff0c;抓包时显示Unknown。 在网上查了半天资料和文章&#xff0c;最终解决了问题。 以下是在调试抓包环境中遇到的一些问题和解决方法。 1、手机证书的安装 Charles在Mac…...

C++设计模式:桥接模式(Bridge)

什么是桥接模式&#xff1f; 桥接模式&#xff08;Bridge Pattern&#xff09;是一个用来解耦的设计模式&#xff0c;它将抽象层和实现层分离开&#xff0c;让它们可以独立变化。用最简单的话来说&#xff0c;就是让你能够改变抽象的功能和具体的实现&#xff0c;而不需要修改…...

spark3.x之后时间格式数据偶发报错org.apache.spark.SparkUpgradeException

3.x之后如果你去处理2.x生成的时间字符串数据&#xff0c;很容易遇到一个问题 Error operating ExecuteStatement: org.apache.spark.SparkUpgradeException: You may get a different result due to the upgrading of Spark 3.0: Fail to parse 20200725__cb90fcc3_8006_46…...

spring boot框架漏洞复现

spring - java开源框架有五种 Spring MVC、SpringBoot、SpringFramework、SpringSecurity、SpringCloud spring boot版本 版本1: 直接就在根下 / 版本2:根下的必须目录 /actuator/ 端口:9093 spring boot搭建 1:直接下载源码打包 2:运行编译好的jar包:actuator-testb…...

下载安装Android Studio

&#xff08;一&#xff09;Android Studio下载地址 https://developer.android.google.cn/studio 滑动到 点击下载文档 打开新网页 切换到english ![](https://i-blog.csdnimg.cn/direct/b7052b434f9d4418b9d56c66cdd59fae.png 等待一会&#xff0c;出现 点同意后&#xff0…...

三、计算机视觉_08YOLO目标检测

0、前言 YOLO作为目前CV领域的扛把子&#xff0c;分类、检测等任务样样精通&#xff0c;本文将基于两个小案例&#xff0c;用YOLO做检测任务&#xff0c;看看效果如何 1、对图片内容做检测 假设我有一张名为picture.jpeg的图片&#xff0c;其内容如下 我将图片和代码放到了同…...

uniapp关闭sourceMap的生成,提高编译、生产打包速度

警告信息&#xff1a;[警告⚠] packageF\components\mpvue-echarts\echarts.min.js 文件体积超过 500KB&#xff0c;已跳过压缩以及 ES6 转 ES5 的处理&#xff0c;手机端使用过大的js库影响性能。 遇到问题&#xff1a;由于微信小程序引入了mpvue-echarts\echarts.min.js&…...

uniapp首页样式,实现菜单导航结构

实现菜单导航结构 1.导入字体图标库需要的文件 2.修改引用路径iconfont.css 3.导入到App.vue中 <style>import url(./static/font/iconfont.css); </style>导航区域代码 VUE代码 <template><view class"home"><!-- 导航区域 --><…...

uniapp-vue2引用了vue-inset-loader插件编译小程序报错

报错信息 Error: Vue packages version mismatch: - vue3.2.45 (D:\qjy-myApp\admin-app\node_modules\vue\index.js) - vue-template-compiler2.7.16 (D:\qjy-myApp\admin-app\node_modules\vue-template-compiler\package.json) This may cause things to work incorrectly.…...

Git命令大全(超详细)

Git 是一个分布式版本控制系统&#xff0c;用于跟踪计算机文件的更改&#xff0c;并协调多个用户之间的工作。下面是一份较为详细的 Git 命令大全&#xff0c;涵盖了从初始化仓库到日常使用中常见的操作。 1. 初始化与配置 设置用户信息: git config --global user.name &quo…...

【机器学习】机器学习学习笔记 - 监督学习 - 逻辑回归分类朴素贝叶斯分类支持向量机 SVM (可分类、可回归) - 04

逻辑回归分类 import numpy as np from sklearn import linear_modelX np.array([[4, 7], [3.5, 8], [3.1, 6.2], [0.5, 1], [1, 2], [1.2, 1.9], [6, 2], [5.7, 1.5], [5.4, 2.2]]) y np.array([0, 0, 0, 1, 1, 1, 2, 2, 2])# 逻辑回归分类器 # solver&#xff1a;求解器&a…...

常见的数据结构---数组、链表、栈的深入剖析

目录 一、数组&#xff08;Array&#xff09; 二、链表&#xff08;Linked List&#xff09; 三、栈&#xff08;Stack&#xff09; 四、总结 数据结构是算法的基石&#xff0c;是程序设计的核心基础。不同的数据结构适用于不同的场景和需求&#xff0c;选择合适的数据结构能…...

前端开发:构建高质量用户体验的全方位指南(含实际案例与示例)

前端开发&#xff1a;构建高质量用户体验的全方位指南&#xff08;含实际案例与示例&#xff09; 在当今数字化时代&#xff0c;前端技术不仅是网页和应用的门面&#xff0c;更是连接用户与数字世界的桥梁。一个高质量的前端开发项目不仅能够提升用户体验&#xff08;UX&#…...

Istio_05_Istio架构

Istio_05_Istio架构 ArchitectureControl PlanePilotCitadelGalley Data PlaneSidecarIstio-proxyPilot-agentMetadta Exchange Ambient Architecture 如: Istio的架构(控制面、数据面) Gateway: Istio数据面的出/入口网关 Gateway分为: Ingress-gateway、Egress-gateway外部访…...

MongoDB集群分片安装部署手册

文章目录 一、集群规划1.1 集群安装规划1.2 端口规划1.3 目录创建 二、mongodb安装&#xff08;三台均需要操作&#xff09;2.1 下载、解压2.2 配置环境变量 三、mongodb组件配置3.1 配置config server的副本集3.1.1 config配置文件3.1.2 config server启动3.1.3 初始化config …...

摄像头测距原理

以下是测距摄像头分类的 Markdown 格式输出&#xff0c;方便直接复制使用&#xff1a; 测距摄像头分类 1. 立体视觉&#xff08;Stereo Vision&#xff09;摄像头 原理&#xff1a;模仿人眼成像&#xff0c;利用两台摄像头获取不同视角的图像&#xff0c;通过视差计算场景深…...

基于centos7.9使用shell脚本部署k8s1.25平台

k8s 环境初始化安装Harbor安装k8s安装istio和kubevirt 使用脚本部署k8s1.25版本平台&#xff0c;网络插件使用flannel &#xff0c;容器运行时ctr&#xff0c;部署包括harbor仓库&#xff0c;服务网格、kubevirt服务等 使用的centos7.9资源配置如下&#xff1a; 主机IP资源ma…...

11.29周五F34-Day10打卡

文章目录 1. 问问他能不能来。解析答案:【解析答案分析】【对比分析】【拓展内容】2. 问题是他能不能做。解析答案:【解析答案分析】3. 问题是我们能否联系得上她。(什么关系?动作 or 描述?)解析答案:【解析答案分析】【对比分析】4. 我们在讨论是否要开一个会。解析答案:…...

龙迅#LT8612UX适用于HDMI 转 HDMIVGA应用领域,分辨率高达4K60HZ,内置程序,方便调试!

1. 描述 LT8612UX 是一款 HDMI 转 HDMI&VGA 转换器&#xff0c;可将 HDMI2.0 数据流转换为 HDMI2.0 信号和模拟 RGB 信号。它还输出 8 通道 I2S 和 SPDIF 信号&#xff0c;可实现高质量的 7.1 通道音频。 LT8612UX 使用最新的 ClearEdge 技术&#xff0c;除了原始的 HDMI…...

C#学写了一个程序记录日志的方法(Log类)

1.错误和警告信息单独生产文本进行记录&#xff1b; 2.日志到一定内存阈值可以打包压缩&#xff0c;单独存储起来&#xff0c;修改字段MaxLogFileSizeForCompress的值即可&#xff1b; 3.Log类调用举例&#xff1a;Log.Txt(JB.信息,“日志记录内容”,"通道1"); usi…...

Amazon Corretto 17全链路优化指南:从底层原理到企业级实践

Amazon Corretto 17全链路优化指南&#xff1a;从底层原理到企业级实践 【免费下载链接】corretto-17 Amazon Corretto 17 is a no-cost, multi-platform, production-ready distribution of OpenJDK 17 项目地址: https://gitcode.com/gh_mirrors/co/corretto-17 Amazo…...

AI专著生成新方法:借助工具,轻松搞定学术专著撰写

撰写学术专著&#xff0c;研究者们通常面临着如何在“内容深度”与“覆盖广度”之间取得平衡的挑战。这种平衡往往成为了许多学者的一大难题。从内容深度的角度看&#xff0c;专著的核心思想应该具备足够的学术分量&#xff0c;除了要清晰表述“是什么”&#xff0c;更需深入探…...

HY-Motion 1.0在元宇宙中的应用:虚拟世界角色动画生成

HY-Motion 1.0在元宇宙中的应用&#xff1a;虚拟世界角色动画生成 1. 元宇宙里&#xff0c;角色为什么需要“活”起来 打开一个元宇宙应用&#xff0c;你看到的可能是一个精致的虚拟空间&#xff0c;但真正让人愿意停留的&#xff0c;从来不是静态的场景&#xff0c;而是能动…...

TinyGPSPlusPlus:嵌入式NMEA解析库深度指南

1. TinyGPSPlusPlus&#xff1a;面向嵌入式系统的可定制化NMEA解析库深度解析1.1 库定位与工程价值TinyGPSPlusPlus 是一款专为资源受限嵌入式平台&#xff08;尤其是Arduino生态&#xff09;设计的轻量级、高可定制化的NMEA协议解析库。其核心工程价值在于&#xff1a;在极小内…...

为什么你的BUCK电路不稳定?峰值电流模式Fm增益的5个关键影响因素

为什么你的BUCK电路不稳定&#xff1f;峰值电流模式Fm增益的5个关键影响因素 在电源设计领域&#xff0c;BUCK电路的稳定性问题一直是工程师们头疼的难题。尤其是采用峰值电流模式控制的BUCK转换器&#xff0c;其调制器增益Fm的合理设置直接关系到整个系统的动态响应和稳定性。…...

基于OpenStack的毕业设计:从零搭建私有云平台的入门实战与避坑指南

最近在帮学弟学妹们看毕业设计&#xff0c;发现不少同学对云计算方向很感兴趣&#xff0c;尤其是想用OpenStack做个私有云平台。但一上手就懵了&#xff0c;组件多、文档杂&#xff0c;环境动不动就崩&#xff0c;最后时间都花在折腾部署上了。我自己当初也踩过不少坑&#xff…...

STM32L0待机模式唤醒后程序跑飞?用LL库/HAL库正确处理系统复位与初始化

STM32L0待机模式唤醒后的系统复位陷阱与实战解决方案 引言&#xff1a;被忽视的唤醒后世界 当你按下STM32L0的唤醒按键&#xff0c;看到电流表指针从微安级跳回毫安级&#xff0c;内心是否涌起一阵成就感&#xff1f;但紧接着&#xff0c;OLED屏幕不再刷新&#xff0c;蓝牙模块…...

Realistic Vision V5.1 虚拟摄影棚面试实战:解析Java八股文中的系统设计题

Realistic Vision V5.1 虚拟摄影棚面试实战&#xff1a;解析Java八股文中的系统设计题 最近在帮朋友准备后端开发的面试&#xff0c;发现一个挺有意思的现象。大家聊起Java八股文&#xff0c;尤其是系统设计题&#xff0c;总觉得有点枯燥&#xff0c;像是在背标准答案。什么“…...

Easegress全方位监控指南:构建云原生流量可观测性系统的终极方案

Easegress全方位监控指南&#xff1a;构建云原生流量可观测性系统的终极方案 【免费下载链接】easegress A Cloud Native traffic orchestration system 项目地址: https://gitcode.com/gh_mirrors/eas/easegress Easegress是一个强大的云原生流量编排系统&#xff0c;专…...

FaceFusion零基础换脸教程:5分钟搞定高清AI换脸,保姆级手把手教学

FaceFusion零基础换脸教程&#xff1a;5分钟搞定高清AI换脸&#xff0c;保姆级手把手教学 1. 前言&#xff1a;为什么选择FaceFusion 想试试AI换脸但被复杂的安装步骤劝退&#xff1f;FaceFusion可能是目前最简单易用的换脸工具。这个全新一代AI换脸工具无需安装&#xff0c;…...