1.简介

上一篇通过宏哥的介绍想必各位小伙伴或者童鞋们对Charles已经有了一个理性地认识,今天宏哥在从Charles的外貌介绍和分享一下,让小伙伴们或者童鞋们再对Charles有一个感性的认识,今天主要是对Charles的界面进行一个详细的介绍。

2.Charles主界面概览

Charles的主界面分为:①主导航栏、②请求视图导航栏【树状视图和列表视图】、③捕获请求列表、④过滤器、⑤请求内容详情、⑥请求内容导航栏、⑦响应内容详情和⑧响应内容导航栏八部分组成,如下图所示:

3.Charles主界面详解

3.1主导航菜单栏

Charles顶部为主导航菜单栏,菜单导航栏下面为工具导航栏。如下图所示:

3.1.1菜单栏

Charles 的主菜单包括:File、Edit、View、Proxy、Tools、Window、Help。用的最多的主菜单分别是 Proxy 和 Tools。如下图所示:

3.1.2工具栏

工具导航栏中提供了几种常用工具,如下图所示:

下面从左至右依次介绍:

【扫帚】图形按钮:点击之后可清除抓取到的所有请求

【红点】图形按钮:红点亮时表示正在抓取请求,红点灰色时表示当前不在抓取请求状态。此功能是领抓取的数据显示或者不显示的设置。 这个本人认为是charles工具很方便的一个,一般都使其为不显示抓取状态,只有当自己测试的时候的前后,在令其为抓取并显示状态。这样可以快准狠的获取到相关自己想要的信息,而不必在一堆数据请求中去寻找。

【锁头】图形按钮:上锁表示开启了SSL Proxying,打开锁表示没有开启SSL Proxying

【乌龟】图形按钮:灰色时表示网速设置正常,绿色时表示开启慢速网络。此功能宏哥在Fiddler中也介绍过。测试时,会用到网速模拟,具体的在后面功能部分介绍,此处略.....

【六边形】图形按钮:灰色时表示断点未开启,红色时表示正在使用断点

【笔】图形按钮:编辑修改请求,点击后可以修改请求的内容。编辑修改功能,可以对下图中的请求信息进行修改,修改完毕后点击Execute就可以发送一个修改后的请求数据包。

【刷新】图形按钮:重复发送请求,点击后选中的请求会被再次发送

【对勾】图形按钮:验证选中的请求的响应,校验请求的结果。

【扳手】图形按钮:常用功能,包含了 Tools 菜单中的常用功能

【齿轮】图形按钮:常用设置,包含了 Proxy 菜单中的常用设置

3.2请求视图导航栏

1.Charles 主要提供两种查看封包的视图,分别名为Structure和Sequence。如下图所示:

两者区别:

Structure: 此视图将网络请求按访问的域名分类

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

使用时可以根据具体的需要在这两种视图之前来回切换。

2. 显示模式

Charles有两种显示模式,stucture 和sequence。支持来回切换。

(1) Structure形式如下图 优点:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。如下图所示:

(2)Sequence形式如下图 优点:可以看到全部请求,这里的结果以数据请求的顺序来显示,最新的请求显示在最下面。如下图所示:

综上,两种形式各有千秋,structure 适合对单一系列的访问请求从宏观上进行把握,可以快速定位。sequence 适合精确定位内容,因为每条sequence 都有size,status等属性信息,方便快速定位这条结果的价值.

对于我自己来说,更倾向于Charles的第一种树状视图,比fiddler的列表视图好的地方在于:多次刷新后的请求会被归纳到树里面,更加一目了然,用fiddler的时候,有点强迫症的同学,都要点击clear,有木有…

3.3捕获请求列表

Charles 抓取接口后会展示在视图导航栏下,默认是选择的:Structure 视图,当数据多时可采用过滤器过滤。如下图所示:

捕获请求列表展示的是我们抓取的所有的请求,点击【+】后便可以展开该host 域名下的所有请求。点击请求后即可在 “请求内容区” 看见该请求所对应的相应内容。

3.4过滤器—Filter

Charles 快捷过滤器,可直接输入想要的数据进行匹配过滤,这里就不做详解,后面详细讲,如下图所示:

3.5请求内容详情

Charles请求详情跟Fiddler相似,但直观不少,从这里就可以看出Charles的强大之处。

Charles 请求内容区展示某一接口请求的请求内容,可以切换导航栏查看请求的各种详细情况,如下图所示:

导航栏介绍:

Overview:展示当前请求的一个大体情况
content:展示当前请求的具体内容和服务器的相应内容
summary:展示当前请求的大体资源分布情况
chart:以表格形式告诉我们接口响应时间的分布情况
notes:笔记,点击后自己可以对当前请求记录一些东西,方便后续查看该接口的用途,可在overview中查看

3.5.1 overview—请求总览
 

(1)URL(统一资源定位符)

https:协议方案名

M.xxx.baidu.com:服务器地址,这里是DNS可解析的名称。同事也可以是ipv4d地址名,还可以是[0:0:0:0:0:0:0:1]这样用方括号括起来的IPV6地址名。

App/getindexPage:带层次的文件路径。指定服务器上的文件路径来定位特指的资源。

URL——请求url的路径、文件和查询字符串

Status——状态是否已完成

Response Code——响应状态码

Protocol——该seesion使用的协议(Http/https/ftp)

TLS

Protocol——该seesion使用的协议(Http/https/ftp)

Session Resumed——该session恢复

Cipher Suit——密码套件

ALPN——应用层协议协商(Application-Layer Protocol Negotiation,简称ALPN)是一个传输层安全协议(TLS) 的扩展, ALPN 使得应用层可以协商在安全连接层之上使用什么协议, 避免了额外的往返通讯, 并且独立于应用层协议。 ALPN 用于 HTTP/2 连接, 和HTTP/1.x 相比, ALPN 的使用增强了网页的压缩率减少了网络延时。 ALPN 和 HTTP/2 协议是伴随着 Google 开发 SPDY 协议出现的。

Client Certificates——客户端证书

Sever Certificates——服务端证书

Method——该seesion使用的方法(get/post/put等)

Kept Alive——keepalive,是在TCP中一个可以检测死连接的机制。

Content-Type——响应的content-type头

Client Address——客户端地址

Remote Address——远程地址

Tags——标签

Connection

Client Connection——客户端连接

Server Connection——服务端连接

WebSocket

Origin——源头地址

Version——版本

Protocol——协议

Extensions——扩展

Messages Sent——消息发送

Messages Received——消息接收

Control Frames Sent——发送的控制帧

Control Frames Received——接收控制帧

Timing :

Request Start Time——接收到的第一个请求的第一个字节的时间点

Request End Time——发送到客户端的最后一个响应的最后一个字节的时间

Response Start Time——响应开始时间

Response End Time——响应结束时间

Duration——整个请求—响应持续时间

DNS——所有选中的session解析DNS所花费的时间的总和

Connect——所有选中session建立TCP/IP连接所花费的时间总和

TLS Handshake——TLS握手协议

Request——请求耗费时间

Response——响应耗费时间

Latency——延迟

Speed——速度

Request Speed——请求速度

Response Speed——响应速度

Size

Request——请求大小

Response——响应大小

Total——请求+响应字节大小
3.5.2 request—请求头

名词解释:

(1)Appid : 在COM中,安全控制的最小单位是进程,每个进程都有对应的安全控制策略。进程的安全控制策略保存在注册表中,存储位置为:HKCR\AppID\访问权限、启动权限等安全配置信息。开发COM组件时,可以在COM组件对应的CLSID子键下

新建字符串类型的项,名称:AppID,值:该COM组件所在进程的AppID值。

channel:渠道包来源

Contextuuid:设备唯一标识

3.5.3 response—请求结果

Json格式,具体含义参考接口文档。(其中raw是原始数据包的状态)

3.5.4 summary—请求详情
summary—请求详情,包含加载时间等
3.5.5 时间线图表

3.6请求内容导航栏

Charles 请求内容导航栏是对请求内容进行不同的展示,切换至对应展示对应的形式,如下图所示:

导航栏介绍:

Headers:当前请求的头信息
Text:文本形式展示当前接口请求内容
Hex:十六进制展示,一般不使用
JSON:以json格式展示当前接口请求内容
JSON Text:以json text格式展示当前接口请求内容
Raw:源码展示当前接口请求内容

3.7响应内容详情

Charles 响应内容区展示某一接口请求的响应内容,可以切换导航栏查看响应的各种详细情况,如下图所示:

3.8响应内容导航栏

Charles 响应内容导航栏与 “请求内容导航栏” 内容相似,如下图所示:

导航栏介绍:

Headers:响应的头信息
Text:文本形式展示响应内容
Hex:十六进制展示,一般不使用
JavaScript:以JavaScript格式查看响应内容内容
JSON:以json格式查看响应内容内容
JSON Text:以JSON Text格式查看响应内容内容
Raw:源码形式展示响应内容

敲黑板:请求内容导航栏与响应内容导航栏根据不同的接口情况展示的内容也会不一致,但大体都是这些内容。

3.9charles右键菜单

1.在网址/域名上右键可以获得下面菜单,如下图所示:

区域 1 基本操作 :基本的URL复制,文件保存,以及选中文件内搜索
区域 2 重写操作 :重写发送请求(调用接口合适),或者发到gitlist里
区域 3 查看区 :排序之类的
区域 4 设置关注 :可以设置哪些你关心的或者需要忽略的
区域 5 清除区 :垃圾清理使用
区域 6 SSL代理启用 :选择是否启用SSL代理
区域 7 工具区:对应常见工具的入口
区域 8 映射区 :把文件映射到本地或者原创URL

2.在 overview区域 和 contents区域 右键可以获得下面操作的入口,如下图所示:

原理类似上面介绍的,可以对请求和响应的查看格式进行设置;

4.小结

好了,到此宏哥就将Charles工具常用的基本上全都讲解和分享完了,今天时间也不早了,就到这里!感谢您耐心的阅读~~

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(3)-再识Charles的更多相关文章

  1. 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下

    1.前言 今天的理性认识主要就是讲解和分享Fiddler的一些理论基础知识.其实这部分也没有什么,主要是给小伙伴或者童鞋们讲一些实际工作中的场景,然后隆重推出我们的猪脚(主角)-Fiddler. 1. ...

  2. 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(7)-Fiddler状态面板-QuickExec命令行

    1.简介 Fiddler成了网页调试必备的工具,抓包看数据.Fiddler自带命令行控制,并提供以下用法.Fiddler的快捷命令框让你快速的输入脚本命令. 除了输入默认命令,也可以自定义命令,你可以 ...

  3. Fiddler系列教程2:手机抓包图文教程

    上篇Fiddler教程,我们教了大家Fiddler安装配置及如何使用Fiddler进行基本的Http抓包及模拟请求,今天给大家介绍下如何使用Fiddler进行手机抓包. 运行环境为Windows 10 ...

  4. Charles 抓包使用教程

    将 Charles 设置成系统代理 Charles 主界面介绍 过滤网络请求 截取 iPhone 上的网络封包 截取 Https 通讯信息 模拟慢速网络 修改网络请求内容 给服务器做压力测试 修改服务 ...

  5. 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(4)-会话面板和HTTP会话数据操作详解

    1.简介 按照从上往下,从左往右的计划,今天就轮到介绍和分享Fiddler的会话面板了. 2.会话列表 (Session list) 概览 Fiddler抓取到的每条http请求(每一条称为一个ses ...

  6. 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(5)-Fiddler监控面板详解

    1.简介 按照从上往下,从左往右的计划,今天就轮到介绍和分享Fiddler的监控面板了.监控面板主要是一些辅助标签工具栏.有了这些就会让你的会话请求和响应时刻处监控中毫无隐私可言.监控面板是fiddl ...

  7. 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(6)-Fiddler状态面板详解

    1.简介 按照从上往下,从左往右的计划,今天就轮到介绍和分享Fiddler的状态面板了. 2.状态面板概览 Fiddler的状态面板概览,如下图所示: 3.状态面板详解 Fiddler底端状态栏面板详 ...

  8. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(15)-Fiddler弱网测试,知否知否,应是必知必会

    1.简介 现在这个时代已经属于流量时代,用户对于App或者小程序之类的操作界面的数据和交互的要求也越来越高.对于测试人员弱网测试也是需要考验自己专业技术能力的一种技能.一个合格的测试人员,需要额外关注 ...

  9. charles抓包的使用教程

    // Charles 从入门到精通:(http://blog.csdn.net/donwei8/article/details/51647752) //抓包工具:Charles-断点修改 教程 (ht ...

  10. Fiddler手机抓包图文教程

    上篇Fiddler教程,我们教了大家Fiddler安装配置及如何使用Fiddler进行基本的Http抓包及模拟请求,今天给大家介绍下如何使用Fiddler进行手机抓包. 运行环境为Windows 10 ...

随机推荐

  1. Resilience4J通过yml设置circuitBreaker

    介绍 Resilience4j是一个轻量级.易于使用的容错库,其灵感来自Netflix Hystrix,但专为Java 8和函数式编程设计. springcloud2020升级以后Hystrix被官方 ...

  2. C/S、B/S、Web的介绍(Web应用开发)

    文章目录 1.C/S结构介绍 2.B/S结构介绍 3.Web介绍 3.1 .什么是web? 3.2 .Web的工作原理 3.3 客户端应用技术 3.4 服务端应用技术 1.C/S结构介绍 Client ...

  3. 学习ASP.NET Core Blazor编程系列八——数据校验

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  4. JDK中自带的JVM分析工具

    目录 一.业务背景 二.Jdk-Bin目录 三.命令行工具 1.jps命令 2.jinfo命令 3.jstat命令 4.jstack命令 5.jmap命令 四.可视化工具 1.jconsole 2.v ...

  5. jQuery $.fn.extend()方法类插件

    一.为JQuery原型扩展新的属性和方法,然后在JQuery的实例对象上调用 在 jQuery 中,我们可以使用$.fn.extend()方法来定义一个方法类插件.方法类插件就是首先你使用 jQuer ...

  6. awk模式pattern

    awk模式pattern 再来回顾下awk的语法 awk [option] 'pattern[action]' file ... awk是按行处理文本,刚才讲解了print动作,现在讲解特殊的patt ...

  7. 如何在Spring Boot开启事务

    说到事务,那什么是事务呢? 事务(Transaction),一般是指要做的或所做的事情. 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行. ...

  8. MySQL数据库的性能分析 ---图书《软件性能测试分析与调优实践之路》-手稿节选

    1  .MySQL数据库的性能监控 1.1.如何查看MySQL数据库的连接数 连接数是指用户已经创建多少个连接,也就是MySQL中通过执行 SHOW  PROCESSLIST命令输出结果中运行着的线程 ...

  9. Linux内存泄露案例分析和内存管理分享

    作者:李遵举 一.问题 近期我们运维同事接到线上LB(负载均衡)服务内存报警,运维同事反馈说LB集群有部分机器的内存使用率超过80%,有的甚至超过90%,而且内存使用率还再不停的增长.接到内存报警的消 ...

  10. Go语言核心36讲50

    作为拾遗的部分,今天我们来讲讲与Go程序性能分析有关的基础知识. Go语言为程序开发者们提供了丰富的性能分析API,和非常好用的标准工具.这些API主要存在于: runtime/pprof: net/ ...