Charles:移动端抓包 / windows客户端 iOS手机 / 手机访问PC本地项目做调试

一、背景描述

1.1、本文需求:移动端进行抓包调试

1.2、理解Charles可以做什么

Charles是一款跨平台的网络代理软件,可以用于捕获和分析网络流量,对HTTP、HTTPS、HTTP/2等协议进行调试和监控。使用Charles可以帮助开发人员进行Web开发、调试和测试,同时也可以用于网络安全和隐私保护等方面。

1、捕获和分析网络流量,包括HTTP、HTTPS、WebSocket等数据流。
2、模拟网络环境,如降低带宽、网络延迟等。
3、修改请求和响应数据,包括添加、修改、删除请求头、响应头和正文数据等。
4、编辑和重放网络流量,用于测试和验证Web应用程序的可靠性和安全性。
5、过滤和搜索网络流量,方便用户快速定位相关数据。
6、支持远程代理,可以将Charles设置为代理服务器,通过远程连接实时监控和分析网络流量。

二、 windows客户端Charles配置

Charles下载地址

2.1、系统介绍

Windows 10 家庭中文版

版本号 22H2

2.2、Proxy 配置

Proxy --> Proxy Settings

Port 8888 , 勾选 Enable transparent HTTP proxying , 点击OK

2.3、Charles PC 端 SSL (https)配置

2.3.1、Help --> SSL Proxying --> Install Charles Root Certificate

2.3.2、安装证书

2.3.3、本地计算机 --> 下一步

2.3.4、将所有的证书都放入下列存储(P)--> 浏览 --> 受信任的跟证书颁发机构 --> 确定

2.3.5、下一步

2.3.6、完成

2.3.7、代理设置

2.3.8、port

三、iOS手机端配置

3.1、系统介绍 iOS手机系统 17.0.3

3.2、网络配置

3.2.1、无线局域网

3.2.2、手机须与PC连接同一无线网,点击 “叹号”

3.2.3、点击代理配置

 

3.2.4、选择手动,服务器 输入 pc的 ip 地址,端口 8888

服务器ip地址可以在Charles --> Help --> Local IP Address 找到

3.2.5、手机连接成功后,pc出现弹窗,点击 allow (允许)

3.3、iOS手机安装证书

3.3.1、打开safari浏览器,地址栏输入chls.pro/ssl ,点击允许

3.3.2、iOS手机设置 --> 通用 --> VPN与设备管理

3.3.3、安装

 

3.3.4、点完成 

四、iOS手机端测试

4.1、safari浏览器打开baidu.com

4.2、Charles查看请求

4.3、测试成功,Charles可以给手机浏览器抓包了。

网页、APP、微信小程序...均测试成功。

五、手机访问电脑端本地服务的项目

5.1、Tools --> Map Remote

5.2、勾选 Enable Map Remote , 点击 Add

 

5.3、from 是 访问地址,to 是 目标地址(pc端本地服务的项目)

5.4、手机浏览器 访问 mt.ht.com 即 访问 pc 端 localhost:3000

访问成功

六、过程记录

6.1、Charles为什么需要添加证书

Charles添加证书是为了进行HTTPS请求的监控。
Charles作为一个中间人的角色,当客户端发起HTTPS请求时,返回的证书是Charles的,然后Charles会拿着客户端的请求信息去和真正的服务端交互。这样可以让客户端看到请求的信息和返回的结果。

七、欢迎交流指正。

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

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

相关文章

汽车电子 - AUTOSAR

汽车电子 - AUTOSAR 概念 概念 https://zhuanlan.zhihu.com/p/542653053?utm_id0

解决:使用WileyNJDv5_Template模板时,无法生成pdf文件。

目录 问题: 解决办法: 检查过程: WileyNJDv5-Template模板链接:New Journal Design LaTeX template (wiley.com) 问题: 使用wileyNJDv5_Template模板时候,无法生成pdf文件。无论是使用texlivetexmaker还…

设计模式_模板方法模式

模板方法模式 前言 行为型设计模式 关注对象和行为的分离。 关于父类与子类 调用时候 具体调用的哪一个? 普通方法调用编译时决定左边决定抽象/虚方法调用运行时决定右边决定 介绍 设计模式定义案例模板方法模式父类 定义了业务流程,其中一部分 延…

JAVA项目点赞功能如何实现?如何利用缓存优化?如何防止刷赞?

- 普通的点赞如何实现? - 每个人都见过点赞功能,大家想实现一个点赞功能也简单,比如一个简单的文章点赞逻辑如下: 首先需要建个表,记录下点赞人的id,被点赞文章的id,点赞状态三个关键因素即可&a…

【stm32芯片设置解惑】:stm32F103系列的开漏输出和推挽输出的区别

场景: 大家在开发stm32的时候,不管是标准库开发还是hal库开发,最基础的就是芯片引脚的某某设置,为什么这么设置?这样设置的好处是什么? 问题描述 — 开漏输出和推挽输出的用处和区别 什么是开漏输出&#x…

FPGA实现HDMI输入转SDI视频输出,提供4套工程源码和技术支持

目录 1、前言免责声明 2、我目前已有的SDI编解码方案3、设计思路框架核模块解析设计框图IT6802解码芯片配置及采集ADV7611解码芯片配置及采集silicon9011解码芯片配置及采集纯verilog的HDMI 解码模块RGB888转YUV422SPMTE编码SDI模式图像缓存SPMTE SDIGTXGV8500 4、vivado工程1-…

途虎养车上市、京东养车“震虎”,如何突围汽车后市场?

“汽车后市场第一股”终于来了! 赶在十一黄金周之前,途虎养车股份有限公司(09690.HK,下称“途虎养车”)于9月26日挂牌港交所,开盘价为28港元/股,与发行价持平;IPO首日报收29.50港元/股,涨幅5.3…

Mac中使用virtualenv和virtualenvwrapper

Virtualenv 介绍 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题;亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。 因此,我们需要对于不同的工程使…

机器学习笔记 - 基于pytorch、grad-cam的计算机视觉的高级可解释人工智能

一、pytorch-gradcam简介 ​Grad-CAM是常见的神经网络可视化的工具,用于探索模型的可解释性,广泛出现在各大顶会论文中,以详细具体地描述模型的效果。Grad-CAM的好处是,可以在不额外训练的情况下,只使用训练好的权重即可获得热力图。 1、CAM是什么? CAM全称Class Activa…

在PyCharm中添加anaconda环境

本文略过创建anaconda环境的部分~ 下文默认anaconda环境已经创建好 1. 点击新建项目 2. 1)修改项目名称 2)选择 “Previously configured interpreter” 曾经配置的解释器 3)选择“Add Interpreter” 添加新的解释器 3. 选择 “A…

DKMS 动态管理 Linux 内核模块

DKMS Dynamic Kernel Module Support (DKMS) 是一个用于动态管理 Linux 内核模块的框架。它能够在内核升级时自动重新编译和安装相应的内核模块,以保证其与新内核版本的兼容性。本文档将介绍 DKMS 的使用方法和基本原理。 背景 我们都知道,如果要使用…

asp.net电影院选座系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net电影院选座系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言开发 asp.net电影院选座系统1 二、功能介…

react高阶成分(HOC)实践例子

以下是一个使用React函数式组件的高阶组件示例,它用于添加身份验证功能: import React, { useState, useEffect } from react;// 定义一个高阶组件,它接受一个组件作为输入,并返回一个新的包装组件 const withAuthentication (W…

记录极致CMS非富文本标签调用不改变格式

问题 在前台如何输出这三行是换行的 前台调用{$jz[hhl]}就变成这样了“这是第一行这是第二行这是第三行” 除了富文本还有没有什么可以实现这样的呢? 方法 {foreach explode("\n",$jz[hhl]) as $v} {if($v)} {$v} {/if} {/foreach}

前端框架Vue2.0+Vue3.0学习笔记01

一、Vue技术_课程简介 1、前端框架小白 2、熟练掌握Vue2 3、轻松玩转Vue3 ①、vue基础 ②、vue-cli ③、vue-router ④、vuex ⑤、element-ui ⑥、vue3 二、Vue技术_Vue简介 1、Vue是什么? 一套用于构建用户界面(把你拿到手里的数据&#xf…

Hudi SQL DML

本文介绍SparkSQL提供的几个数据操作语言(DML)操作,用于与Hudi表交互。这些操作包括插入、更新、合并和删除Hudi表中的数据。 1.Insert Into 使用INSERT INTO语句使用Spark SQL将数据添加到Hudi表中。以下是一些示例: INSERT INTO <table> SELECT <columns> F…

航拍飞行器经营商城小程序的作用是什么

航拍人群越来越越多&#xff0c;一款靠谱的装备往往能达到预期效果&#xff0c;随着互联网信息传播度加深&#xff0c;也吸引了大批同样的爱好者加入航拍序列。 对航拍飞行器企业/经营商来说&#xff0c;市场增幅下也带来了不少商机&#xff0c;然在实际销售及客户赋能方面还是…

[软考中级]软件设计师-计算机网络

网络设备 物理层 物理层不能隔离广播域和冲突域 中继器&#xff0c;集线器 集线器可看成是特殊的多路中继器 数据链路层 可以隔离冲突域不能隔离广播域 网桥&#xff0c;交换机 交换机是多端口的网桥 网络层 可以隔离广播域和冲突域 路由器 应用层 网关 协议簇 …

JVM Optimization Learning(四)

目录 一、调优 1、基础概念 2、什么是调优&#xff1f; 3、调优&#xff0c;从规划开始 4、调优案例 一、调优 1、基础概念 吞吐量&#xff1a;用户代码执行时间 /&#xff08;用户代码执行时间 垃圾回收时间&#xff09; 响应时间&#xff1a;STW越短&#xff0c;响应…

JavaScript循环语句(for、while)

目录 一、前言 二、for循环 1. for循环的基本语法和使用方法 2. 循环变量的初始化、条件判断和迭代方式 3. 嵌套for循环的概念和应用场景 4. for-in循环和for-of循环的用途与区别 5. 常见for循环的应用案例 三、while循环 1. while循环的基本语法和使用方法 2. 循环条…