【网络工具】Charles 介绍及环境配置

✍个人博客:Pandaconda-CSDN博客
📣专栏地址:http://t.csdnimg.cn/iAmAo
📚专栏简介:在这个专栏中,我将会整理一些工作或学习中用到的工具介绍给大家~

📘Charles 系列其它文章:【网络工具】Charles 实战(上)
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪

一、简介

1. 什么是 Charles?

Charles 中文名叫青花瓷,它是一款基于 HTTP 协议的代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。

2. 工作原理

Charles 本质为 HTTP/HTTPS 代理,代理转发客户端的 HTTP/HTTPS 请求,拦截服务端响应处理后返回给真实客户端。

前置步骤:

  1. 需要运行 Charles 并配置代理

  2. 在客户端上面需要配置代理

具体实现步骤:

  1. 由客户端发送请求

  2. Charles 接收再发送给服务端

  3. 服务端返回请求结果给服务端

  4. 由 Charles 转发给客户单

3. 主要功能

  1. 支持 HTTP 及 HTTPS 代理

  2. 支持流量控制

  3. 支持接口并发请求

  4. 支持重发网路请求

  5. 支持断点调试

4. Charles 的优点

对比 Fiddler 的优点:

  1. Charles 能够支持 linux、MacOs

  2. Charles 支持按域名和按接口查看报文,简洁明了

  3. Charles 支持反向代理

  4. Charles 网络限速可以选择网络类型

  5. Charles 可以解析 AMF 协议

二、下载及安装

1. 下载

下载地址:https://www.charlesproxy.com/latest-release/download.do

默认端口:8888

2. 组件介绍

主页面右侧上方可以看到请求详情,包括 Header,请求参数,Cookies 等信息。右侧下方展示返回结果,如果是 JSON,会自动进行格式化方便查看;如果返回的是图片,还可以显示出图片的预览效果。

主导航栏介绍:

请求栏介绍:

Charles 主要提供两种查看请求的视图,分别名为 “Structure” 和 “Sequence”

  • Structure 视图将网络请求按访问的域名分类(推荐)

  • Sequence 视图将网络请求按访问的时间排序

请求数据栏介绍:

如果点击下面的 "Overview" 按钮,则会显示详细的接口信息。

三、配置方法

1. 前置步骤

前置要求 - 查看主机的 IP 地址:

1. 在 Charles 的页面中点击 "Help" 选项。

2. 点击 "Local IP Address" 选项。

3. 查看主机的 IP 地址。

2. 代理配置

下面默认配置端口为 8888,如果端口冲突,可以改成其它端口。

3. 访问控制

如果不在「IP Range」 客户端 IP 列表里的 IP,则需要根据 "Prompt to allow unauthorized connections" 选项是否勾选,从而判断是否能访问:

  • 如果该选项「勾选」,则不在列表中的 IP 地址想要访问,会询问能否访问。

  • 如果该选项「没有勾选」,则不在列表中的 IP 地址不会访问。

4. 客户端代理设置

4.1 Windows 代理设置

具体步骤:

1. 在 Chrome 浏览器中输入 Chrome://setting

2. 在搜索框中输入 “代理”。

3. 点击 “打开您计算机的代理设置”。

默认开启,若未开启请按下图进行设置:

4. 在手动设置代理中,开启代理。

5. 在地址输入框中输入 Charles 的 IP 地址以及端口。

6. 点击 “保存”,关闭页面。

4.2 MacOS 代理设置

具体步骤:

1. 打开 Charles 页面,点击苹果标志,点击 "系统设置" 选项。

2. 点击 "网络",进入对应网络的 "详情信息" 页面。

3. 点击 "代理" 选项。

4. 打开 "网页代理(HTTP)" 和 "安全网页代理(HTTPS)",然后输入服务器的 IP 地址及端口。

注意:

这里的服务器信息就是前面在 Charles 上面查看的地址和端口。

5. 最后点击 "好" 按钮,保存配置信息。

4.3 MacOS 快捷代理设置

应用场景:

当 MacOS 客户端与运行 Charles 软件工具的电脑是同一台电脑时,可以通过快捷代理设置方式来进行设置。

具体步骤:

打开 Charles 工具后,选择 "Proxy" 菜单中的 "macOS Proxy" 选项。

4.4 IOS 手机代理设置

具体步骤:

  1. 在 IOS 手机中选择 "设置" - "无线局域网" 选项。

  2. 点击已连接的无线网络名称。

  3. 在 HTTP 代理的配置代理中选择 "手动" 选项。

  4. 输入服务器 IP 地址以及端口,点击 "存储" 按钮。

4.5 Android 手机代理设置

具体步骤:

  1. 在 Android 手机中选择 "设置" - "WLAN" 选项。

  2. 长按已连接的无线网络名称,点击 "修改网络"。

  3. 勾选 "显示高级选项"。

  4. 在代理选项中选择 "手动" 选项。

  5. 输入服务器 IP 地址以及端口,点击 "存储" 按钮。

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

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

相关文章

JavaScript基础 第四弹 学习笔记

函数 1、为什么需要函数?可以实现代码复用,提高开发效率。 函数的定义 :函数function,是被设计为执行特定任务的代码块。 函数可以把具有相同或相似逻辑的代码‘包裹’起来,通过函数调用执行这些被“包裹”的代码逻…

万界星空科技电线电缆MES系统实现线缆全流程追溯

MES系统通过高度集成的数据平台,对电线电缆的生产全过程进行实时监控与记录,从原材料入库开始,到生产过程中的各个关键控制点,再到成品出库,每一步操作都被详细记录并可追溯。这种全流程追溯能力主要体现在以下几个方面…

java基础之变量,类型的转换,跟着哔站尚硅谷自学笔记。

变量 变量的介绍以及使用 1.变量的数据类型:基本数据类型:4类8种整数:byte short int long 浮点数:float double字符型:char布尔型:boolean引用数据类型:类 数组 接口 枚举 注解2.概述&#xf…

云南合续-马来西亚水环境项目考察单位

2024年恰逢中马建交50周年,中华环保联合会为进一步加强双方生态产业合作与交流,拟定于9月23日-29日组团赴马来西亚开展水环境项目考察,同期举办“2024中马水务合作论坛”,引领国内先进环保技术、装备、产能“走出去”。

hung 之 Android llkd

目录 1. llkd 简介 2. 原理 2.1 内核活锁 2.2 检测机制 2.3 为什么 persistent stack signature 检测机制不执行 ABA 检查? 2.4 为什么 kill 进程后,进程还存在就能判定发生了内核 live-lock? 3. 代码 3.1 内核 live-lock 检查 3.2 …

verilog刷题笔记

1、选择器实现方式 (1)case语句,注意default (2)if-else语言,注意else,有优先级 (3)三元运算符 ? : 2、阻塞赋值/非阻塞赋值都是过程性赋值&a…

使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试

前言 首届YashanDB「迁移体验官」开放后,陆续收到「体验官」们的投稿,小崖在此把优秀的投稿文章分享给大家~今天分享的用户文章是《使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试》(作者:尚雷)&#xff0c…

提交(git-add git-commit git-push)

当修改好一个功能的时候,可以提交到远程仓库,这样就等于更新了一次版本,那么下次改修了文件的话,是跟这个版本做对比的 git status, 查看文件修改情况,git add 假如你只想提交1个文件,那么直接…

硬件开发——SD/MMC/eMMC

硬件开发——SD/MMC/eMMC 小狼http://blog.csdn.net/xiaolangyangyang 1、引脚定义 2、时钟频率 eMMC的速度模式有: SDR50:26M/52MHS200:200MHS400:400M 详细信息见如下表格: 3、协议 Read Data Write Data No Data …

beego框架_golang web框架_使用介绍

beego简介 beego是一个用于快速开发Go应用的http框架,由Go语言方面的技术大牛设计。beego可以用来快速开发API、Web、后端服务等各种应用,是一个RESTful的框架,主要设计灵感来源于tornado、sinatra、flask这三个框架,但结合了Go本…

Linux 安装多个jdk,切换使用

一、下载jdk 先去oracle官网下载jdk安装文件(我需要下载旧版本的jdk) https://www.oracle.com/ 二、安装jdk 1、将下载的jdk安装文件解压到想要安装的目录下 tar -xzvf jdk-8u202-linux-x64.tar.gz2、修改环境变量 vim /etc/profile export JAVA_HOME/usr/java/jdk1.…

Java代码批量处理sql语句

背景:数据源迁移,目标数据源和原始数据源的语法不同,要把建表语句全都改成新的语法。 一个个sql文件去替换实在是麻烦,可以把原始的sql文件放在一个文件夹,然后用程序一跑,改完语法的sql语句就放在新的文件…

基于Llama Index构建RAG应用

前言 Hello,大家好,我是GISer Liu😁,一名热爱AI技术的GIS开发者,本文参与活动是2024 DataWhale AI夏令营;😲 在本文中作者将通过: Gradio、Streamlit和LlamaIndex介绍 LlamaIndex 构…

只用 CSS 能玩出什么花样?

在前端开发领域,CSS 不仅仅是一种样式语言,它更像是一位多才多艺的艺术家,能够创造出令人惊叹的视觉效果。本文将带你探索 CSS 的无限可能,从基本形状到动态动画,从几何艺术到仿生设计,只用 CSS 就能玩出令…

MySQL的索引、事务

MySQL的索引 索引的概念 索引是一个排序的列表,在列表当中存储索引的值以及索引值对应数据所在的物理行。 索引值和数据是一一映射的关系。 索引的作用 使用索引之后就不需要扫描全表来定位某行的数据 加快数据库查询的速度。 索引可以是表中的一列也可以是多…

WsgiDAV:强大的 WebDAV 解决方案

一、软件介绍 WsgiDAV 是一款卓越的开源 WebDAV 服务器和客户端库,由 Python 精心编写而成。它为用户搭建了一座通过 HTTP/HTTPS 协议访问和管理远程文件系统的便捷桥梁。 WsgiDAV 的核心是一个严格遵循 WebDAV 标准的中间件,能够与任何 WSGI 兼容的 W…

Python语法大全

#前言: 关于此篇博客主要是关于对Python语法的总结,有过C语言学习经历的人看的会更加通俗易懂!(当然没学过C的理解起来也是很容易)知识点言简意赅,内容全面,多有代码解释!且有多处实…

【数据结构】--- 栈和队列

前言 前面学习了数据结构的顺序表、单链表、双向循环链表这些结构;现在就来学习栈和队列,这里可以简单的说栈和队列是具有特殊化的线性表 一、栈 1.1、栈的概念和结构 栈是一种遵循先入后出逻辑的线性数据结构。 栈是一种特殊的线性表,它只允…

表格竖向展示

最近在做手机端web页面,页面中需要有个表格来显示数据,但是由于数据太多页面太窄,table展示横向滑动的话感觉很丑。所以让表格竖向显示了 具体页面如下: 实现代码:当然代码里面绑定的数据啊什么的你都可以修改为自己的内容&#…

PyTorch高级特性与性能优化

PyTorch高级特性与性能优化 引言: 在深度学习项目中,使用正确的工具和优化策略对于实现高效和有效的模型训练至关重要。PyTorch,作为一个流行的深度学习框架,提供了一系列的高级特性和性能优化方法,以帮助开发者充分利…