接口抓包测试工具Charles

摘要:
Charles可以在该客户端的各种程序中监视连接到Internet的所有HTTP通信。1.1.1.安装Charles客户端,打开浏览器,访问Charles官方网站https://1.1.1。charles 1.1.1的虚拟安装。获取移动设备发送的HTTP请求。1.首先将移动设备连接到Charles客户端。输入ipconfig以查看本地无线网络的IP地址,以便移动设备代理配置所需的IP地址和端口号可用。

作用: 1.抓取网络封包 (web/app)

   2.断点替换  -- 请求断点

              -- 响应断点

   3.弱网测试

   4.过滤

   5.黑名单

Charles的原理:

Charles是一款Http代理服务器和Http监视器,当移动端在无线网连接中按要求设置好代理服务器,使所有对网络的请求都经过Charles客户端来转发时,Charles可以监控这个客户端各个程序所有连接互联网的Http通信。

1.1.1. 安装Charles客户端

打开浏览器访问Charles官网https://www.charlesproxy.com/,下载相应系统的Charles安装包,然后一键安装即可。

接口抓包测试工具Charles第1张

1.1.1. 傻瓜式安装charles

1.1.1. 抓取移动设备发送的Http请求.

1、先将移动设备连接到Charles客户端。首先在电脑中输入cmd打开命令行窗口,输入ipconfig查看本机连接无线网络的IP地址,这个地址作为移动设备连接Charles客户端的代理地址,

接口抓包测试工具Charles第2张

2、打开Charles客户端,点击Proxy->Proxy Settings菜单,可以设置移动设备连接到Charles的端口(8888),这样移动设备代理配置需要的ip地址和端口号都有了。

接口抓包测试工具Charles第3张

3、打开手机wifi,设置所连接的wifi的代理网络;wifi代理设置为手动,代理的服务器ip填写上一步骤中查看到的电脑ip,端口填写上一步骤提到的charles的服务端口:

接口抓包测试工具Charles第4张

 注意:移动设备配置之后,第一次通过手机访问手机中的发送请求时,Charles会弹出提示框,提示有设备尝试连接到Charles,是否允许,如果不允许的话,手机发送请求失败,点击Allow允许,这样这个设备的IP地址就会添加到允许列表中,如果错误点击了Deny可以重启Charles会再此提示,或者通过Proxy->Access Control Settings手动添加地址,如果不想每个设备连接Charles都要点击允许的话,可以添加0.0.0.0/0允许所有设备连接到Charles。

4.Charles是通过将自己设置成代理服务器来完成抓包的,勾选系统代理后,本地系统(如果通过浏览器发送请求)发送出去的请求都能被截取下来。因此,如果想只抓取手机APP发送的请求的话,可以不勾选WindowsProxy选项,这样在测试时就不会被本机Http请求所干扰

接口抓包测试工具Charles第5张

5、如果想要抓取浏览器发送的请求包,勾选WindowsProxy选项之后还是抓取失败,可能是浏览器没有设置成使用系统的代理服务器,只要设置成使用系统的代理服务器,或者将浏览器的代理服务器设置成127.0.0.1:8888也可以成功。

1.1.12. 启动手机,打开软件,就可以进行联网抓包测试

Charles提供两种查看封包的页签,一个是Structure(结构),另一个是Sequence(序列),Structure用来将访问请求按访问的域名分类,Sequence用来将请求按访问的时间排序。任何程序都可以在Charles中的Structure窗口中看到访问的域名。

接口抓包测试工具Charles第6张

 接口抓包测试工具Charles第7张

 接口抓包测试工具Charles第8张

1.1.13. 过滤不必要的网络包

在抓取手机发送的请求时,有许多请求包是对图片等不需要关注的资源的请求,我们只想对指定目录服务器上发送的请求进行抓取,这时候就可以通过过滤网络包的方式实现。有两种实现方式:

1)选择Proxy->Recording Settings菜单,然后在include栏添加需要抓取包的指定服务器请求协议、地址、端口号,也可以在exclude栏添加不抓取包的地址。

接口抓包测试工具Charles第9张

接口抓包测试工具Charles第10张

在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:http://blog.csdn.net, 那么只需要在 Filter 栏中填入 csdn 即可。

接口抓包测试工具Charles第11张

 1.1.14. Charles抓包详解

接口抓包测试工具Charles第12张

接口抓包测试工具Charles第13张

Filter : 过滤,可以输入关键字来快速筛选出 URL 中带指定关键字的网络请求

Overview : 查看这次请求的详细内容,例如耗时详细列车了请求开始时间、结束时间,响应开始时间、结束时间,总耗时、DNS耗时、网络延时等。

对于Size也详细列出了请求头大小、响应头大小、压缩比例等内容。 

URL:进行网络请求的链接;

Status:当前状态,complete表示请求完成;

Responce Code:返回码。不同的接口,不同的请求结果,返回码都不同;

Protocol:使用的协议;

Method:请求方式,如GET请求,POST请求等;

Kept Alive:判断当前是否正在链接(活跃);

Content-Type:发送的内容类型,如这里用的是XML文本,以UTF8的方式发送;

Client Address:客户端的IP地址;

Remote Address:远程服务器的IP;

Timing: 

Request Start Time:请求开始的时间;

Request End Time:请求结束的时间;

Response Start Time:返回开始的时间;

Response End Time : 返回结束的时间;

Duration : 总时间;

Size: 

Request Header :请求的头部大小;

Response Header:返回的头部大小;

Request : 请求发送的大小;

Response:返回数据的大小;

Total:所有数据大小;

Request Compression : 请求压缩;

Response Compression : 返回压缩;

Request : 查看请求内容(底下的Headers,Query String,Cookies,Raw。)

Headers:发送请求的头部信息;

Query String : 发送参数列表;

Cookies: 浏览器缓存;

Raw:发送的原生数据,包括了头部和参数;

Reponse : 查看响应内容

Headers:是返回的头部信息;

Text:返回信息(除去头部)后的文本;

Hex:返回信息的16进制表示;

XML:我返回的数据是XML。如果你返回的是JSON,这里就会显示JSON;

XML Text:如果你返回JSON,这里会显示JSON Text;

Raw:返回的所有原生数据,包括头部;

Summary: 查看发送数据的一些简要信息(主机,状态码,数据的类型,header和body大下,加载时间,总时间)

Chart: Summary中简要信息以图表形式展示

Notes: 其他信息

1.1.1. Charles常用的功能总结

charles抓包详解

免责声明:文章转载自《接口抓包测试工具Charles》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python3 --virtualenv的使用方法解决 i18n properties文件中文必须是unicode的问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux网络编程-socket(1)

 上面是对应的IpV4的地址结构: sin_len整个结构的大小 sin_family协议族,对应Tcp固定为AF_INET,除了tcp协议外还支持unix域协议等 sin_port socket通信的端口 sin_addr是一个无符号的32位的网络字节地址 上面的结构体仅仅支持IPv4地址协议,如果支持其他协议咱办了,后面引入了通用协议的地址协议 在...

【FPGA总线篇章一】FPGA大话总线之AXI总线

欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 11 在介绍AXI之前,先简单说一下总线、接口以及协议的含义 总线、接口和协议,这三个词常常被联系在一起,但是我们心里要明白他们的区别。 总线是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由由数据线、地址线、控制线等构成。 接口是一种连接标准,又常常被称之为物理接口。 协议是传输数...

每个文件之间延迟启动批处理bat方法之一

每个文件之间延迟启动批处理bat方法之一 知识点:xp程序中通过ping 127.0.0.1 -n 20 来实现延时操作,ping本地地址20行。            win7中通过timeout 20 来实现延时20秒。 新建批处理bat文件,  .txt→.bat 改扩展名或txt里另存为.bat就可以 例B是路径名包含空格类的需要用引号" "否则会...

win7怎样开启loopback接口(环回网卡)

本地loopback口用于和vmware通信,vmware桥接到Loopback网卡 https://jingyan.baidu.com/article/046a7b3eef6d69f9c27fa9ea.html 进行网络实验时,如果有个loopback环回网卡做帮助,实验会事半功倍。win7中开启loopback并不像xp中那样简单,笔者在自学cisco...

模拟各种网络环境

作者最近要release一个Android版本, 在网络测试时却遇到了难题。没有各种网络环境。然后网上有Facebook/atc来模拟各种网络。然后各种安装让我望而却步。 我知道IOS是用Network Link Conditioner(NLC)来测试,能否在Android也可以尝试一下呢。 结果让人振奋。将过程分享一下,也许能帮到有跟我一样遇到这种问题的...

Python集成开发环境(IDE:Integrated Development Environment): PyCharm

原文地址:https://www.runoob.com/python/python-install.html IDE下载安装 PyCharm 是由 JetBrains 打造的一款 Python IDE,支持 macOS、 Windows、 Linux 系统。 PyCharm 功能 : 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测...