Charles从入门到放弃

时间:2022-09-20 00:09:49

Charles版本:4.0.2

一、开始


连接方式

  • 方法一:电脑和手机连接同一个wifi
  • 方法二:电脑使用网线连接网络,手机通过USB连接电脑

二、过滤网络请求


1.简单过滤

Charles从入门到放弃

在Sequence模式下,就可以看到Filter,输入要过滤的关键字即可。

2.长期特定的网络封包

Charles从入门到放弃

路径:Proxy->Recording Settings->Include→Add

在编辑框中填入要封的网络请求

3.关注特定的网络请求

Charles从入门到放弃

在想要特定关注的网络请求那行,右键勾选"Focus"即可

三、抓取手机网络包


Charles从入门到放弃

前提:手机,电脑连结的是通一个wifi网络

在菜单栏上选择 Proxy->Proxy Settings,填入代理端口 8888,并勾上 “Enable transparent HTTP proxying” 即完成了代理

查看电脑IP地址

在手机wifi网络中添加代理,输入电脑IP和charles的端口号 8888

抓HTTPS包

1.Mac安装SSL证书
Charles从入门到放弃

在Help→SSL Proxying→Install....

选择后,就会出现证书下载,下载成功后会电脑”钥匙串访问“中看见(这里我已经安装并信任过了),然后双击下载的证书,勾选信任即可。

Charles从入门到放弃

2.手机安装SSL证书
Charles从入门到放弃

在SSL Proxying中勾选Install ...Mobile Device 会弹出一个框,用手机(处于代理状态下)登陆指定的url下载证书即可。

Charles从入门到放弃

这时候你抓https的时候还是发现不行,乱码加unknown(如下图)

Charles从入门到放弃

这时候我们还需要一步操作,就是将想要抓的https加入到SSL代理中,这样才能被Charles识别并解析

Charles从入门到放弃

选择我们要抓的请求,右键选择"Enable SSL Proxying"

这时我们发现不再乱码和unknown了

Charles从入门到放弃

四、网络限速


开发中常备限速,通常对于Chrome我们可以使用浏览器中的"Network中Online修改",下拉还有3G等设置。

Charles从入门到放弃

但是通过代理我们可以做的更全更多

Charles从入门到放弃

在"Proxy→Throttle Settings"中,我们可以给所有的网络限速,也可以通过勾选"Only for selected hosts"限制指定的请求速度

五、修改网络请求内容


Charles从入门到放弃

选中一条网络请求,然后右键选择"Compose",就会出现上图下半部分的框,可以修改几乎任何你可以想到的请求参数,点击"Execute"执行即可

六、修改服务器返回的内容


1.Map Remote(Tools→Map Remote Settings)

Charles从入门到放弃

将网络响应定向至另外一个网络服务,从而达到修改返回内容的目的

2.Map Local(Tools->Map Local Settings)

Charles从入门到放弃

将网络响应定向至本地文件,从而达到修改返回内容的目的

3.Breakpoints替换返回内容(右键->Breakpoints)

Charles从入门到放弃

通过名称也可以看的出来,这个类似于一种断点的功能,代理会在发送请求的时候拦截并断点网络请求,这就为我们修改网络信息提供了便利。

可以编辑请求的参数和返回的参数。

七、反向代理


反向代理(Proxy→Reverse Proxies Settings)也是一个常用的功能,特别是对于本地开发且需要域名的情况下

Charles从入门到放弃

这个截图的意思是 将本地 57689端口映射到www.os.com域名的80端口

Charles从入门到放弃的更多相关文章

  1. CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维

    前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...

  2. [精品书单] C#/.NET 学习之路——从入门到放弃

    C#/.NET 学习之路--从入门到放弃 此系列只包含 C#/CLR 学习,不包含应用框架(ASP.NET , WPF , WCF 等)及架构设计学习书籍和资料. C# 入门 <C# 本质论&g ...

  3. OpenStack从入门到放弃

    OpenStack从入门到放弃 目录: 为何选择云计算/云计算之前遇到的问题 什么是云计算 云服务模式 云应用形式 传统应用与云感知应用 openstack及其相关组件介绍 flat/vlan/gre ...

  4. Charles 从入门到精通

    特别说明:原文来自唐巧大神的博客 http://blog.devtang.com/2015/11/14/charles-introduction/ Charles 从入门到精通 文章目录 1. 目录及 ...

  5. 绕过校园网的共享限制 win10搭建VPN服务器实现--从入门到放弃

    一.开篇立论= =.. 上次说到博主在电脑上搭建了代理服务器来绕过天翼客户端的共享限制,然而经过实际测试还不够完美,所以本着生命不息,折腾不止的精神,我又开始研究搭建vpn服务器= =... (上次的 ...

  6. 《区块链:从入门到放弃》之obc安装步骤

    obc安装步骤 朋友们可能会好奇,厨师不研究菜谱怎么改研究兵法了,哈哈,我原本是app出身,最近被安排去预研区块链和比特币技术,2个月下来,颇有斩获.期间得到IBM的CC同学指导我一步一步安装obc的 ...

  7. win10搭建代理服务器实现绕过校园网的共享限制--从入门到放弃

    博主所在学校特别坑爹,校园网被电信一家垄断了,而且最恶心的还是电信要求一条网线只能供一台电脑上网,不许接路由器共享网络= =- (还有电信2M价格是380+每年,20m是500每年,而且网速都很慢= ...

  8. WPF从入门到放弃系列第二章 XAML

    本文是作者学习WPF从入门到放弃过程中的一些总结,主要内容都是对学习过程中拜读的文章的整理归纳. 参考资料 XAML 概述 (WPF):https://msdn.microsoft.com/zh-cn ...

  9. Charles从入门到精通

    Charles 从入门到精通 发表于 2015-11-14 12:00 文章目录 1. 目录 2. 简介 3. 安装 Charles 4. 将 Charles 设置成系统代理 5. Charles 主 ...

随机推荐

  1. win10使用技巧之如何打出偏僻字母

    一.背景 有时需要在打出一些希腊字母,诸如ɛ.μ等字符,如果输入法不支持该怎么办呢?在很多国产拼音软件中,都会提供扩展方便用户寻找这类字符,但是如果用户换过一款软件,可能要在一定时间找到这些字符就没那 ...

  2. 吉特仓库管理系统&lpar;开源&rpar;-如何在网页端启动WinForm 程序

    在逛淘宝或者使用QQ相关的产品的时候,比如淘宝我要联系店家点击旺旺图标的时候能够自动启动阿里旺旺进行聊天.之前很奇怪为什么网页端能够自动启动客户端程序,最近在开发吉特仓储管理系统的时候也遇到一个类似的 ...

  3. 【转】重新封装FetchUrl函数一枚,支持COOKIES,喜欢领走~&excl;

    mjj520 发表于 2012-6-2 09:14 唉 cpu超级耗芸豆的 查了下开发文档,fetchurl原来是不算CPU的,是我误导了大家.  发表于 2012-6-1 17:30:17 |只看该 ...

  4. php--opp--2&period;什么是类,什么是对象,类和对象这间的关系

    类的概念:类是具有相同属性和服务的一组对象的集合.它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分.在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属 ...

  5. &grave;npm install --save --save-exact react-native&grave; failed

    当你使用命令行创建一个项目 react-native init  项目名称  后出现以下错误 Installing react-native package from npm... /bin/sh: ...

  6. 学习json-rpc

    最近做一个和SmartHome相关的项目,文档不全不说,连个像样的Demo都没,痛苦!!当然,这是题外话.今天来说说项目中主要用到的通讯协议:json-rpc,简单地说,它是以json格式进行的远程调 ...

  7. map &amp&semi; flatMap 浅析

    我之前一直以为我是懂 map 和 flatMap 的.但是直到我看到别人说:「一个实现了 flatMap 方法的类型其实就是 monad.」我又发现这个熟悉的东西变得陌生起来,本节烧脑体操打算更细致一 ...

  8. pat 1014 1017 排队类问题

    1.用循环模拟时间 2.采用结构体模拟客户和窗口对象 3.合理处理边界,去除无用信息 4.使用自带排序sort()结合自定义功能函数compare()实现排序

  9. python中os模块

    os  模块 操作系统模块,该模块主要处理与操作系统相关的操作 最常用是文件操作:打开.读取 import os os.getcwd() #获取当前执行文件夹路径 ​ os.chdir('dirnam ...

  10. IOS - 执行时 (经常使用函数)

    能够通过NSObject的一些方法获取运行时信息或动态运行一些消息: /*Returns a Boolean value that indicates whether the receiving cl ...