IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)
安装
官网下载
https://www.charlesproxy.com/latest-release/download.do
安装charles文档 流程
上述链接解决下图问题
使用介绍
Charles介绍
上述链接看一至三即可,了解首页各个按钮的作用
charles全面使用教程及常见功能详解(较详细)
上述链接解释界面名词等等
手把手教你Charles抓包工具使用
上述链接介绍弱网测试,包括修改请求、重复发送请求,压力测试等功能
初步代理配置
如何获取代理服务器IP和手机端IP
代理服务器IP
点击help,选中ssl 代理,点击在移动设备或远程浏览器上安装Charles root 证书
弹出弹框
手机端IP
具体步骤
下载好charles后,接下来步骤点击下面这个链接,跟着“3.Charles代理”至“4.1 Web 抓取HTTPS协议”的步骤走,其中3.2步骤Access Control Settings添加手机端IP
Charles安装,配置以及使用教程,适合小白
注意在4.1(2)步,的时候
这里port改为*
关于下载证书
为什么下载charles的ssl证书
会显示<unknown>
默认情况下,charles不能解析https协议的接口,里面的请求和响应数据都是乱码格式,所以我们需要下载ssl证书,来获取里面的数据
完美步骤
打开手机,找到设置,连接同一局域下的网络,找到代理,选择手动,输入主机名和端口号,保存
手机浏览器访问网页,输入chls.pro/ssl,出现证书安装页面,点击下载
下载完成后找到设置在安装证书里面进行证书的安
Charles会弹出弹框
最后在手机上进行点击,就可以在Charles进行抓包
主要问题:手机端http://chls.pro/ssl无法点开
常见无效解决方案
尝试一:
安卓手机chls.pro/ssl无法下载(使用charles)
这个解决方案就是让你检查网络,或者重做上面的步骤,尤其是在Proxy--Access Control Settings中添加:0.0.0.0/0然后重启手机,很多文章都这么指导,但并不能解决问题
尝试二:
ios 配置了代理且使用 chls.pro/ssl 下载不了证书,无法弹出下载证书的提示
这个解决方案就是让你换个下载证书的网站,证书网址:https://www.charlesproxy.com/assets/legacy-ssl/charles.crt
但是下载的证书安装后没有用,因为证书是跟设备对应的,一台设备对应一个
尝试三:
charles问题,chls.pro/ssl 证书无法在小米手机下载 ?(最详细的解决方案,其他手机也可以适用)
这个解决方案有点意思,但是还是没用。它是让你在电脑上打开http://chls.pro/ssl下载.pem文件,把.pem改成.ctr文件,修改后缀名传到手机上(用数据线连接手机,右键该文件,选择“发送到”;手机这边:设置,搜索“证书”,点击CA证书,点击左栏xiaomi 12,找到crt证书),但是chls.pro/ssl这个网站电脑手机都打开不了
IOS有效解决方案
iOS手机无法安装Charles的ssl证书(问题汇总)
安卓有效解决方案
前提:需要一个有root权限的手机(往system目录导入文件),手机可以直接刷root的包。反正就是连接电脑后,在cmd中输入adb devices,能看到对应设备
下载证书或者导出证书
在全英文路径中,新建一个名叫charles的文件夹
打开charles->Help->SSL Proxying->Save Charles Root Certificate...,将证书保存成pem的格式
选择刚刚创建的charles文件夹,然后同路径下会出现一个charles.pem
计算证书hash值并修改证书名称
使用下面的指令获取证书文件的hash值,图中0fd5834就是计算出来的hash值,将charels.pem修改成"hash值.0",如0fd5834.0
openssl x509 -subject_hash_old -in <charles.pem的绝对路径>
注:若“提示'openssl' 不是内部或外部命令,也不是可运行的程序”,需先安装openSSL,配置环境变量
openSSL下载地址:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions
配置完后需要重启电脑
将证书导入/system/etc/security/cacerts/
因为导入system目录,需要remount一下。
adb root
adb remount
adb push C:\Users\xiaomi\Downloads\charles.pem /system/etc/security/cacerts/
导入后可以在cacerts目录下找到刚刚导入的文件
注:若提示“只有阅读权限(类似描述)”,则进行以下操作:
1、cmd输入cd
2、cmd 输入adb shell,然后输入su
3、cmd 输入 cd /system/etc/security, 然后输入ls -l, 可以看到cacerts目录只有读与执行权限,并没有写入的权限
4、cmd输入chmod 777 cacerts
,要求加入写权限
(若被提示Read-only file system
,需要重新挂载系统)
检查手机中是否安装证书
在输入adb shell->su指令之后,cd /system/etc/security/cacerts,然后输入ls查看手机当前证书
也可以在手机“设置-安全-更多安全设置-更多安全设置-加密与凭据-信任的凭据-系统”,看看最后面是有有了新添加的证书,但是这个难翻到
备注:如果文件push不进去,可以拷贝到手机里,给文件添加一下权限(chmod 777 0fd58c34.0),然后再mv
charles模拟弱网环境
https://www.cnblogs.com/lixuefang69/p/14210647.html
相关文章:

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)
安装 官网下载 https://www.charlesproxy.com/latest-release/download.do 安装charles文档 流程 上述链接解决下图问题 使用介绍 Charles介绍 上述链接看一至三即可,了解首页各个按钮的作用 charles全面使用教程及常见功能详解(较详细)…...

七、Lua字符串
文章目录 一、字符串(一)单引号间的一串字符(二)local str "Hello, "(三)[[ 与 ]] 间的一串字符(四)例子 二、字符串长度计算(一)string.len&…...

0基础学java-day13
一、包装类 1. 包装类的分类 1) 针对八种基本数据类型相应的引用类型【对象】—包装类 2) 有了类的特点,就可以调用类中的方法。 3) 如图: 2 包装类和基本数据的转换 3 案例演示 Integer01.java package com.hspedu.wrapper;/*** author 林然* version 1.0*/ p…...
好题记录:
好题记录: 1:2:3:三级目录 1: 下面代码的结果是:( ) 下面代码的结果是:( )#include <stdio.h> int main() {int arr[] {1,2,3,4,5};short *p (short*)arr;int i …...
web前端之JavaScrip中的闭包
MENU 闭包--笔试-11defineReactive函数,利用闭包封装Object.defineProperty()闭包--节流函数--笔试-10闭包的定义JavaScript闭包的9大经典使用场景 闭包–笔试-11 function fun() { var n 9; // js 中强行给一个未声明的变量赋值,// 程序不会报错// 并…...

Windows下命令行启动与关闭WebLogic的相关服务
WebLogic 的服务器类型 WebLogic提供了三种类型的服务器: 管理服务器节点服务器托管服务器 示例和关系如下图: 对应三类服务器, 就有三种启动和关闭的方式。本篇介绍使用命令行脚本的方式启动和关闭这三种类型的服务器。 关于WebLogic 的…...

LeetCode Hot100 169.多数元素
题目: 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 方法一:哈希表 class Solution {public int…...

数据结构:堆的实现思路
我们之前写过堆的实现代码:数据结构:堆的实现-CSDN博客 这篇文章我们了解一下堆到底是如何实现的 1.堆向下调整算法 现在我们给出一个数组,逻辑上看做一颗完全二叉树。我们通过从根节点开始的向下调整算法可以把它调整成一个小堆 向下调…...
结合 DBSCAN 示例代码介绍 DBSCAN
前文为JoyT的科研之旅第一周——科研工具学习及论文阅读收获-CSDN博客 DBSCAN 介绍 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,它能够识别出任意形状的簇,并有效地处理噪声…...

vscode 调试jlink
文章目录 软件使用说明1、启动GDB Server2、下载gdb3、vscode配置4、调试 软件 vscodejlink - (JLinkGDBServer.exe)gcc-arm-none-eabi-10-2020-q4-major (arm-none-eabi-gdb.exe) 使用说明 vscode通过TCP端口调用JLinkGDBServer通过jlink连接和操作设备,vscode不…...

微前端实战:打造高效、灵活的前端应用架构
文章目录 一、微前端简介二、微前端的优势1. 高度模块化2. 独立部署3. 易于扩展4. 技术栈无关5. 独立升级 三、微前端的原理四、微前端案例思路《微前端实战》编辑推荐内容简介作者简介目录前言/序言 随着互联网行业的快速发展,前端应用的规模和复杂度也在不断增加。…...

csv文件EXCEL默认打开乱码问题
这里讨论的问题是,当用记事本打开带有中文字符的csv正常时,用excel打开却是乱码。 简单概括就是:编码问题,windows的 excel打开csv文本文件时,默认使用的是系统内的ANSI,在中文环境下就是GB2312。如果写文件…...
C语言之实现贪吃蛇小游戏篇(2)
目录 🎇测试游戏test.c 🎇游戏头文件包含&函数声明snake.h 🎇游戏实现snake.c 🎇测试游戏test.c #define _CRT_SECURE_NO_WARNINGS 1 #include "snake.h" void test() {int ch 0;do{Snake snake { 0 };//创建…...
Comparator接口
Comparator接口 Comparator 是 Java 中用于比较对象的接口。它允许开发者实现自定义的比较逻辑,以用于对对象进行排序或者确定它们的顺序。 主要方法: Comparator 接口中包含一个抽象方法: int compare(T o1, T o2):用于比较两…...
SELinux refpolicy详解(9)
接前一篇文章:SELinux refpolicy详解(8) 三、refpolicy内容详解 上一回讲解了refpolicy源码根目录下的build.conf文件的前一部分内容。本回继续讲解其后一部分。 2. build.conf 文件路径:refpolicy源码根目录/build.conf。 文…...

零基础上手,秒识别检测,IDEA研究院发布全新T-Rex模型
目标检测作为当前计算机视觉落地的热点技术之一,已被广泛应用于自动驾驶、智慧园区、工业检测和卫星遥感等场景。开发者在研究相关目标检测技术时,通常需熟练掌握图像目标检测框架,如通用目标检测框架 YOLO 系列,旋转目标检测框架…...
python每日一题——20旋转图像
题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]]…...

云计算生成式 -给你不一样的音乐推荐新体验
目录 摘要: 正文: 一、亚马逊云与生成式 AI 结合的展望/总结 二、我用亚马逊云科技生成式 AI 产品打造了什么,解决了什么问题 三、未来云端技术发展趋势的见解 四、云端技术未来需要解决的问题 1、如何保护数据安全和隐私? …...

Zabbix 6.0部署+自定义监控项+自动发现与自动注册+部署zabbix代理服务器
Zabbix 6.0 Zabbix 6.0一、关于zabbix1、什么是zabbix2、zabbix工作原理3、zabbix 6.0 特性4、zabbix 6.0 功能组件 二、Zabbix 6.0 部署1、 部署 zabbix 服务端(1) 部署 Nginx PHP 环境并测试(2) 部署数据库(3) 编译安装 zabbix server 服务端(4) 部署 Web 前端,进…...
Docker 简介及其常用命令详解
Docker 简介及其常用命令详解 Docker 自推出以来,已成为开发和运维领域的重要工具。它简化了应用的部署、测试和分发过程,使得容器化技术成为现代软件开发的标准实践。本文将为您提供Docker的基础介绍以及其常用命令的详细讲解。 什么是Docker…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...