Charles抓包的使用

本文详细介绍了Charles的使用,包括原理、HTTP和HTTPS的抓包、手机抓包、参数修改以及模拟网速等功能。在原理部分,解释了Charles作为中间人角色进行抓包的工作方式。在HTTP抓包中,展示了设置系统代理和浏览器代理的步骤。对于HTTPS,说明了安装CA证书以解密流量的过程。此外,文章还提供了Android手机的抓包设置指南,以及如何通过Charles修改请求参数和服务器返回数据。最后,演示了如何利用Charles模拟不同网速环境。
摘要由CSDN通过智能技术生成

转载请注明出处:https://blog.csdn.net/binbinqq86/article/details/80927917

前言

抓包工具有很多,Windows上都是使用Fiddler,但其实Fiddler同时也支持Mac,Linux版本,官网下载地址如下:https://www.telerik.com/download/fiddler
而Mac上大家常用的就是瓷瓶子Charles,它也是全平台支持的,官网下载地址如下:http://www.charlesproxy.com/download/。不过Charles是收费的,但是如果你不付费,每次可以使用三十分钟,然后软件自动退出,每次回到软件界面会有10秒的delay模态窗口提示,相对来说,这个算是非常友好的了,不怎么影响我们使用。今天我们就来讲解一下Charles的简单使用:

原理

想要了解其中原理,首先需要知道HTTPS相关知识,还不了解的同学可以参考我的上一篇文章:https://blog.csdn.net/binbinqq86/article/details/80939838。整个抓包的过程,Charles充当的就是中间人的角色。Charles本身是一个代理工具,如果只是普通的HTTP请求,因为数据本身没有经过再次加密,因此作为代理可以知道所有客户端到服务器的请求内容和服务器返回给客户端的数据内容。而HTTPS由于对传输和数据进行了加密,所以Charles作为中间代理,就需要对客户端伪装成服务器,对服务器伪装成客户端。
客户端一般会对服务器的CA证书做检验(这里我们忽略双向校验的情况),一般浏览器或者手机都内置了很多CA根证书,而大部分网站都是这些知名CA机构颁发的证书,所以我们访问的时候系统帮我们自动校验了证书的合法性,但是比如12306以及我们的Charles证书,系统是默认不信任的,会导致无法访问HTTPS的服务器地址,那么是怎么进行抓包的呢?

  • 第一种是修改https通信代码,比如Android中我们需要实现X509TrustManager接口去自己做一套证书校验,但是并不通用。
  • 第二种就是将私有CA签发的数字证
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值