使用Charles对安卓手机进行抓包

news2025/3/12 22:25:59

写在前面的话

Charles 介绍

Charles 的主要功能

网络请求拦截与分析

Charles 通过将自己配置成系统的代理服务器,拦截所有通过它的 HTTP 和 HTTPS 请求与响应。开发者可以查看每个网络请求的详细信息,包括请求的 URL、请求头、请求体、响应头、响应体、状态码等,便于调试和分析网络通信问题。

SSL 抓包

Charles 支持 HTTPS 协议的抓包。通过安装 Charles 提供的 CA 证书,Charles 能够解密 SSL/TLS 加密的网络请求,查看明文内容。这对分析第三方应用的网络通讯协议特别有用。

重发和修改请求:开发者可以使用 Charles 修改网络请求的内容,然后重新发送这些请求。这种功能常用于测试接口,模拟不同的请求参数或 HTTP 状态码。

带宽限制

Charles 允许开发者模拟不同网络环境下的带宽、延迟、丢包等网络条件,从而分析应用在不同网络环境下的表现,特别适用于优化移动端应用的网络性能。

会话记录与导出

Charles 能够保存网络抓包会话,便于以后查看和分析。它还支持导出会话为多种格式,如 HAR 文件格式,用于进一步分析或分享。

Charles 的应用场景

移动端开发调试

在开发 Android 或 iOS 应用时,调试应用与服务器的网络通信协议是非常常见的需求。通过配置移动设备的代理为 Charles 的 IP 地址和端口,Charles 可以拦截和分析应用发出的网络请求。这在接口调试、错误定位、网络性能优化等方面尤为有用。

第三方应用分析

Charles 也可以用于分析第三方应用的网络通讯协议。通过配置代理以及 SSL 证书,即可捕获到 HTTPS 请求,并解密查看明文数据。这在逆向工程、协议分析、数据抓取等场景中有较大应用价值。

网络性能调优

利用 Charles 提供的带宽控制功能,开发者可以在不同的网络条件下(如慢速 3G、4G 网络)模拟测试应用的表现,帮助优化网络请求的响应速度、减少延迟,提升用户体验。

注意事项

隐私与法律问题:在使用 Charles 抓包时,要注意遵守相关的法律法规和隐私政策。未经授权抓取他人网络请求,尤其是解密 HTTPS 请求,可能会侵犯隐私和违反法律。

证书信任问题:安装 Charles CA 证书后,部分应用可能会检测到非官方证书而阻止网络请求。在这种情况下,可以考虑使用 Charles 的 SSL Pinning 解除功能,或者尝试其他抓包工具。

Charles使用步骤

下载安装Charles

前往官网下载Charles 官网下载地址

安装对应系统的版本

设置SSL代理

这样就可以对抓取https的链接

启动Chrales,打开 “菜单栏 -> Proxy -> SSL Proxying Settings”

在这里插入图片描述

在PC上安装本地证书

菜单栏 -> Help -> SSL Proxying -> Install Charles Root Cert…
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在安卓设备设置代理

  1. 查看代理IP和端口
    在这里插入图片描述
    在这里插入图片描述

  2. 确保安卓设备和PC在同一个局域网后,修改安卓的WLAN设置

修改红框中的内容,点击保存后,电脑上会出现弹窗,点击"allow"确认。
在这里插入图片描述
3. 准备charles证书

以下方式选一种即可

  • 安卓设备启动浏览器,输入“http://chls.pro/ssl”,下载CA证书
    注意:可能浏览器有网站不安全之类提示。

  • PC浏览器打开,输入“http://chls.pro/ssl”,下载CA证书后复制到安卓设备

  1. 设置CA证书

在安卓设备的设置中搜索“CA证书”,进入CA证书设置。安装上一步准备的CA证书。

在这里插入图片描述


至此,即可在Charles中查看安卓设备的被抓的内容。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2113078.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python和C++多尺度导图

🎯要点 热化学属性观测蒙特卡罗似然比灵敏度分析时间尺度上动力学化学催化反应动力学建模自动微分电化学分析模型反应动力学数学模型渔业生态不确定性模型敏感性分析空间统计地理模型分析技术多维数据表征实现生成艺术图案流苏物体长度比,面积比和复杂度…

闯关leetcode——1.Two Sum

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/two-sum/description/ 内容 Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input w…

MCU5.51单片机的最小系统

1.最小系统的组成部分 晶振电路(时钟),复位电路,电源电路(控制电压,保持稳定),下载电路(外加的,用于烧录程序) 烧录: 通过下载电路,把程序下载到单片机中用于运行 2.晶振电路 电路图: 是晶振 是电容 为了防止晶振起振时产生影响,因此加电容 3.复位电路 电路图: 按按钮RS…

音视频开发之旅(92)-多模态Clip论文解读与源码分析

目录 1. 背景和问题 2. CLIP模型结构 3. 实验效果 4. 源码分析 5. CLIP的局限性和不足 6. 资料 一. 背景和问题 在做分类 检测以及分割任务时,数据的标注非常关键, 比如可用于分类任务的ImageNet数据集共有120万张图片1000个分类, 可用于目标检测和分割任务的COCO数据集…

应用层简单实现udp / tcp网络通信

一、常见网络接口总结 1、创建 socket 文件描述符 (TCP/UDP, 客户端 服务器) int socket(int domain, int type, int protocol); domain:AF_INET:网络通信,AF_LOCAL:本地通信 type:UDP:SOCK_DGRAM&…

AI是不是真的能落地应用,未来看看这三个行业

大家好,我是凡人,最近也被GPT-4o刷爆了朋友圈,各种对OpenAI新布局的猜想也是层出不穷。GPT-4o再次将多模态交互拉到了新高度,一放出就颠覆了原有 AI 给传统行业带来新冲击。 还有不了解GPT-4o 的同学,可以查看我上一篇…

Java异常体系----深入讲解

JAVA异常体系 1.error 错误 程序无法处理的异常, 它是由JVM产生和抛出的,比如OutOfMemoryError.ThreadDeath等 示例: public class Test {public static void main(String[] args) {run();}public static void run(){run();} }堆栈溢出,…

828华为云征文|基于华为云Flexus云服务器X实例部搭建Halo博客平台

华为云征文|基于华为云Flexus云服务器X实例部搭建Halo博客平台 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、Halo介绍2.1 Halo 简介2.2 Halo 特点 三、本次实践介绍3.1 本次实践简…

Linux日志-journal日志

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux 系统中的日志是记录系统活动和事件的重要工具,它们可以帮助管理员监视系统状态、调查问题以及了解系统运行…

Linux Debian12安装原生版微信

1.原生版微信下载地址: https://archive.ubuntukylin.com/software/pool/partner/找到weixin,2022年05月23日最新版本,weixin_2.1.4_amd64.deb,下载。 2.微信安装: sudo dpkg -i weixin_2.1.4_amd64.deb3.登陆即可。…

如何在3DMAX中实现大规模项目的地形建模?

在房地产开发项目的环境建模过程中,我们对斜坡和不平坦地形进行建模是一项具有挑战性的任务。 我们已经制定了两种方法来纠正这一点。首先,让我告诉你,我们并没有想过如何使用NURBS来实现这一点,我们通常坚持使用多边形&#xff…

ueditor视频上传

修改video.js中uploadBeforeSend方法 位置: 修改为: uploader.on(uploadBeforeSend, function (file, data, header) {//这里可以通过data对象添加POST参数const token =******//根据各自项目情况,获取到存储的tokenheader[X_Requested_With] = XMLHttpRequestheader[Aut…

气膜场馆:乡村振兴中的健康与经济新引擎—轻空间

随着乡村振兴战略的深入推进,气膜场馆作为新兴建筑形式,正在为农村地区带来全新的发展机遇。它不仅是乡村百姓锻炼身体的好去处,更是带动当地经济发展的强劲动力。 首先,气膜场馆为农村地区的居民提供了更多运动健身的机会。与传统…

Redis 缓存深度解析:穿透、击穿、雪崩与预热的全面解读

Redis 缓存深度解析:穿透、击穿、雪崩与预热的全面解读 一 . 什么是缓存 ?二 . 使用 Redis 作为缓存三 . 缓存的更新策略3.1 定期生成3.2 实时生成 四 . 缓存预热、缓存穿透、缓存雪崩、缓存击穿4.1 缓存预热4.2 缓存穿透4.3 缓存雪崩4.4 缓存击穿 Hello , 大家好 …

2025届计算机毕业设计:如何构建Java SpringBoot+Vue个人健康档案管理系统?

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

全能AI神器!工作效率提升80倍!Zmo.ai带你玩转AI做图!

今天,我要给大家介绍一款神器:Zmo.ai。 这个平台简直是做图神器,集多种功能于一身,让你像专业人士一样轻松创建和编辑图像,不需要任何美术与设计基础,真的非常适合我们这些“手残党”! 我们只需…

香港服务器机房托管:优化全球访问体验的最佳选择

在当今全球化的商业环境中,出海企业面临着前所未有的挑战与机遇。为了在全球范围内高效运营,确保公司内部系统、网站及应用的顺畅访问成为了企业成功的关键。尤其是当企业需要同时服务国内管理团队与海外客户时,如何选择一个既能降低国内访问…

数字化平台跨界融合增值:新起点与新机遇

亲爱的朋友们,在这个快速发展的数字化时代,有一个重要的趋势正站在新起点上,那就是数字化平台跨界融合增值。 新起点的基石技术基础夯实:如今,5G 网络已经全面普及,物联网技术也在深度发展,再加…

AI编程辅助工具先锋:豆包MarsCode

在科技日新月异的今天,AI正以不可阻挡之势渗透到各行各业,其中编程辅助领域也正经历着一场前所未有的变革。随着AI技术的不断成熟与应用深化,编程辅助工具正逐步从简单的代码补全、语法检查,迈向更加智能化、个性化的全方位辅助&a…

【Python 学习】Numpy的基础和应用

目录 1 数组基础1.1 Numpy简介1.2 Numpy数组基础1.3 创建数组1.3.1 使用np.array()函数生成数组1.3.2 利用内置函数产生特定形式的数组1.3.2.1 简单内置函数1.3.2.2 特殊内置函数 1.3.3 生成随机数组 1.4 数组的数据类型1.5 数组的迭代1.6数组的索引和切片1.6.1 一维数组的索引…