Charles抓包

接口抓包测试工具Charles
Charles是一款Http代理服务器和Http监视器,当移动端在无线网连接中按要求设置好代理服务器,使所有对网络的请求都经过Charles客户端来转发时,Charles可以监控这个客户端各个程序所有连接互联网的Http通信。
安装Charles客户端
打开浏览器访问Charles官网https://www.charlesproxy.com/,下载相应系统的Charles安装包,然后一键安装即可。傻瓜式安装charles
在这里插入图片描述
Charles的功能有?
1.截取http 和https 网络封包(抓包)
2.支持和重发网络请求
3.支持修改网络参数
4.支持网络请求请求并修改
5.支持弱网测试

抓取移动设备发送的Http请求.
1、先将移动设备连接到Charles客户端。首先在电脑中输入cmd打开命令行窗口,输入ipconfig查看本机连接无线网络的IP地址,这个地址作为移动设备连接Charles客户端的代理地址,
在这里插入图片描述
2、打开Charles客户端,点击Proxy->Proxy Settings菜单,可以设置移动设备连接到Charles的端口(8888),这样移动设备代理配置需要的ip地址和端口号都有了。
在这里插入图片描述
3、打开手机wifi,设置所连接的wifi的代理网络;wifi代理设置为手动,代理的服务器ip填写上一步骤中查看到的电脑ip,端口填写上一步骤提到的charles的服务端口:
在这里插入图片描述
4、Charles是通过将自己设置成代理服务器来完成抓包的,勾选系统代理后,本地系统(如果通过浏览器发送请求)发送出去的请求都能被截取下来。因此,如果想只抓取手机APP发送的请求的话,可以不勾选WindowsProxy选项,这样在测试时就不会被本机Http请求所干扰。
在这里插入图片描述
5、如果想要抓取浏览器发送的请求包,勾选WindowsProxy选项之后还是抓取失败,可能是浏览器没有设置成使用系统的代理服务器,只要设置成使用系统的代理服务器,或者将浏览器的代理服务器设置成127.0.0.1:8888也可以成功。
1.1.12.启动手机,打开软件,就可以进行联网抓包测试
Charles提供两种查看封包的页签,一个是Structure(结构),另一个是Sequence(序列),Structure用来将访问请求按访问的域名分类,Sequence用来将请求按访问的时间排序。任何程序都可以在Charles中的Structure窗口中看到访问的域名。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.1.13.过滤不必要的网络包
在抓取手机发送的请求时,有许多请求包是对图片等不需要关注的资源的请求,我们只想对指定目录服务器上发送的请求进行抓取,这时候就可以通过过滤网络包的方式实现。有两种实现方式:
1)选择Proxy->Recording Settings菜单,然后在include栏添加需要抓取包的指定服务器请求协议、地址、端口号,也可以在exclude栏添加不抓取包的地址。
在这里插入图片描述
在这里插入图片描述
在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:http://blog.csdn.net, 那么只需要在 Filter 栏中填入 csdn 即可。
1.1.14.Charles抓包详解
在这里插入图片描述
在这里插入图片描述
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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Charles抓包程序是一种用于调试和分析网络通信的工具。当Charles抓包程序遇到503错误时,意味着在网络通信的过程中发生了服务器错误或服务不可用的情况。503错误是HTTP协议中定义的一种服务器响应状态码,表示服务器当前无法处理请求。罗列以下可能导致Charles抓包程序遇到503错误的常见原因: 1. 服务器过载:当服务器负载过高或资源不足时,会导致服务器无法处理请求,从而返回503错误。 2. 维护或升级:服务器可能处于维护或升级状态,在此期间暂时关闭服务,返回503错误。 3. 服务器程序错误:服务器上的应用程序可能存在错误或bug,导致服务器无法正常处理请求,进而返回503错误。 4. 网络问题:网络连接不稳定、传输中断或DNS解析错误等问题都可能导致Charles抓包程序无法正常连接服务器,最终返回503错误。 当Charles抓包程序遇到503错误时,我们可以进行以下操作: 1. 检查网络连接:确保网络连接正常,尝试重新连接服务器,如果问题仍然存在,那么可能是服务器端的问题。 2. 检查服务器状态:确认服务器是否处于维护状态或资源不足,如果是,则需要等待服务器恢复正常。 3. 确认服务器程序是否正常:如果其他用户可以正常访问该服务器,那么可能是Charles抓包程序的设置或配置有误,可以尝试重新配置或更新Charles抓包程序。 总结来说,当Charles抓包程序遇到503错误,我们需要先确认网络连接正常,然后检查服务器状态和程序是否正常,并尝试适当的解决方法。如果问题仍然存在,可能需要联系服务器管理员或Charles抓包程序的支持团队以获得更进一步的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值