讲清楚charles抓包原理

本文详细介绍了HTTPS通信中CA、TSL证书、根证书、证书链和证书校验过程。解释了如何通过证书签名验证服务器身份,并解析了Charles抓包原理,包括其伪造证书和中间人攻击的过程。理解这些概念对于网络安全和HTTPs通信至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础概念

1. CA

CA是证书颁发机构,不是随便什么人都能成为证书颁发机构,关键是你颁发的证书要别人认可。别人认可你才会内置你的证书(机构证书,也称根证书)。

2. TSL证书

TSL证书是指用于https通信,客户端验证服务端的合法性的一个数据包。

证书内容

服务提供者的基本信息和证书颁发机构和使用的算法和域名等+该服务的公钥+证书签名

证书签名怎么产生

服务提供者的基本信息先取hash,再用CA机构的私钥加密。

3. 根证书

CA机构的证书,客户端内置(最常见的就是浏览器厂商内置主流机构的证书)

4. 证书链

下级证书的签名是使用上级证书的私钥加密产生的,所以因为这个关联关系形成了一个链条。

5. 证书校验过程

step1 服务端发送自己的证书给客户端
step2 客户端读取证书颁发机构
step3 客户端找到本地对应机构的证书
step4 客户端那机构证书公钥解密服务器证书签名
step5 客户端拿证书信息作hash,与step4解密的内容对比,相等并且基本信息中的域名跟当前访问的域名一致则通过。

charles抓包原理

charles的根证书

charles自己做了一个根证书,你想要用charles抓包,第一步你要内置他发布的根证书。

charles伪造证书

charles用他自己的证书给你服务端的域名做一个证书。

charles作为中间人的流程

step1 拦截客户端请求
step2 发送他伪造的证书给客户端
step3 因为你内置了charles的根证书,所以该证书能校验通过
step4 客户端根charles协商好通信密码开始通信。
step5 charles收到客户端数据用伪造证书的私钥解密
step6 charles使用同样的流程跟你的服务器建立HTTPS加密通道
step7 charles将收到的客户端数据通过建好的通道发给服务器
step8 服务器返回响应数据给charles
step9 charles解密响应数据再加密发给客户端

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GTMYang_R

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值