深入解析Charles抓包工具的工作原理及HTTPS加密通信流程
一、charles简介Charles 是一个 HTTP 代理/HTTP 监视器/反向代理它使开发人员能够查看他们的机器和 Internet 之间的所有 HTTP 和 SSL/HTTPS 流量。 这包括请求、响应和 HTTP 标头其中包含 cookie 和缓存信息。除了CharlesSniffMaster是另一款强大的抓包工具它支持全平台包括iOS、Android、Mac和Windows的HTTPS、TCP和UDP协议抓包。SniffMaster无需设置代理、越狱或root即可实现抓包操作提供了便捷的代理抓包和暴力抓包功能特别适合移动端和桌面端的网络调试。二、相关概念1、对称加密其变成复杂的加密密文发送出去。收信方收到密文后若想解读原文则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密才能使其恢复成可读明文。在对称加密算法中使用的密钥只有一个发收信双方都使用这个密钥对数据进行加密和解密这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是交易双方都使用同样钥匙安全性得不到保证。此外每对用户每次使用对称加密算法时都需要使用其他人不知道的惟一钥匙这会使得发收信双方所拥有的钥匙数量呈几何级数增长密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难主要是因为密钥管理困难使用成本较高。而与公开密钥加密算法比起来对称加密算法能够提供加密和认证却缺乏了签名功能使得使用范围有所缩小。在计算机专网系统中广泛使用的对称加密算法有DES和IDEA等。美国国家标准局倡导的AES即将作为新标准取代DES。2、非对称加密对称加密算法在加密和解密时使用的是同一个秘钥而非对称加密算法需要两个密钥来进行加密和解密这两个秘钥是公开密钥public key简称公钥和私有密钥private key简称私钥。1、乙方生成一对密钥公钥和私钥并将公钥向其它方公开。2、得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。3、乙方再用自己保存的另一把专用密钥私钥对加密后的信息进行解密。乙方只能用其专用密钥私钥解密由对应的公钥加密后的信息。在传输过程中即使攻击者截获了传输的密文并得到了乙的公钥也无法破解密文因为只有乙的私钥才能解密密文。同样如果乙要回复加密信息给甲那么需要甲先公布甲的公钥给乙用于加密甲自己保存甲的私钥用于解密。3、https如何使用对称加密和非对称加密HTTPS的解决方案是这样的用非对称算法随机加密出一个对称密钥然后双方用对称密钥进行通信。具体来说就是客户端生成一个随机密钥用服务器的公钥对这个密钥进行非对称加密服务器用私钥进行解密然后双方就用这个对称密钥来进行数据加密了。4、信任主机采用https的服务器必须从CA Certificate Authority申请一个用于证明服务器用途类型的证书。该证书只有用于对应的服务器的时候客户端才信任此主机。所以所有的银行系统网站关键部分应用都是https 的。客户通过信任该证书从而信任了该主机。其实这样做效率很低但是银行更侧重安全。这一点对局域网对内提供服务处的服务器没有任何意义。局域网中的服务器采用的证书不管是自己发布的还是从公众的地方发布的其客户端都是自己人所以该局域网中的客户端也就肯定信任该服务器。5、HTTPS通信流程客户端的浏览器向服务器传送客户端SSL 协议的版本号加密算法的种类产生的随机数以及其他服务器和客户端之间通讯所需要的各种信息服务器向客户端传送SSL 协议的版本号加密算法的种类随机数以及其他相关信息同时服务器还将向客户端传送自己的证书客户利用服务器传过来的信息验证服务器的合法性服务器的合法性包括证书是否过期发行服务器证书的CA 是否可靠发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过通讯将断开如果合法性验证通过将继续进行第四步用户端随机产生一个用于后面通讯的“对称密码”然后用服务器的公钥服务器的公钥从步骤②中的服务器的证书中获得对其加密然后将加密后的“预主密码”传给服务器如果服务器不要求客户的身份认证在握手过程中为可选用户可以建立一个随机数然后对其进行数据签名将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器如果服务器要求客户的身份认证服务器必须检验客户证书和签名随机数的合法性具体的合法性验证过程包括客户的证书使用日期是否有效为客户提供证书的CA 是否可靠发行CA 的公钥能否正确解开客户证书的发行CA 的数字签名检查客户的证书是否在证书废止列表CRL中。检验如果没有通过通讯立刻中断如果验证通过服务器将用自己的私钥解开加密的“预主密码”然后执行一系列步骤来产生主通讯密码客户端也将通过同样的方法产生相同的主通讯密码服务器和客户端用相同的主密码即“通话密码”一个对称密钥用于SSL 协议的安全数据通讯的加解密通讯。同时在SSL 通讯过程中还要完成数据通讯的完整性防止数据通讯中的任何变化。客户端向服务器端发出信息指明后面的数据通讯将使用的步骤5中的主密码为对称密钥同时通知服务器客户端的握手过程结束服务器向客户端发出信息指明后面的数据通讯将使用的步骤5中的主密码为对称密钥同时通知客户端服务器端的握手过程结束服务器向客户端发出信息指明后面的数据通讯将使用的步骤5中的主密码为对称密钥同时通知客户端服务器端的握手过程结束三、charles抓包原理客户端向服务器发起HTTPS请求Charles拦截客户端的请求伪装成客户端向服务器进行请求服务器向“客户端”实际上是Charles返回服务器的CA证书Charles拦截服务器的响应获取服务器证书公钥然后自己制作一张证书将服务器证书替换后发送给客户端。客户端接收到“服务器”实际上是Charles的证书后生成一个对称秘钥用Charles的公钥加密发送给“服务器”CharlesCharles拦截客户端的响应用自己的私钥解密对称密钥(Charles拿到了对密钥)然后用服务器证书公钥加密发送给服务器。服务器用自己的私钥解密对称密钥向“客户端”Charles发送响应Charles拦截服务器的响应替换成自己的证书后发送给客户端至此连接建立Charles拿到了 服务器证书的公钥 和 客户端与服务器协商的对称密钥之后就可以解密或者修改加密的报文了。对于HTTPS抓包SniffMaster提供了更直接的暴力抓包模式无需中间人代理即可解密HTTPS流量支持指定APP过滤和双向验证爆破简化了抓包流程并提高了效率。

相关新闻

数字化时代的能源与碳排放管理解决方案:智碳能碳管理平台

数字化时代的能源与碳排放管理解决方案:智碳能碳管理平台

数字化时代的能源与碳排放管理解决方案:智碳能碳管理平台青岛智碳未来科技有限公司 | zhitancloud.com | demo-ems.zhitancloud.com▲ 智碳能碳管理平台 综合看板(统一口径的经营视图)一、政策牵引:数字化…

2026/11/6 15:57:13 阅读更多 →
Intel AX210 Mini PCIe无线网卡升级实战:Wi-Fi 6E与蓝牙5.3性能飞跃

Intel AX210 Mini PCIe无线网卡升级实战:Wi-Fi 6E与蓝牙5.3性能飞跃

1. 项目概述:一张卡带来的无线革命最近在折腾一台老旧的迷你主机,想把它打造成客厅的影音中心。机器本身性能尚可,但原装的无线网卡还是802.11n时代的产物,蓝牙版本更是老旧,传个大文件或者想连接个蓝牙手柄玩游戏&…

2026/11/6 3:28:54 阅读更多 →
XUnity自动翻译器终极指南:5分钟让Unity游戏秒变中文版

XUnity自动翻译器终极指南:5分钟让Unity游戏秒变中文版

XUnity自动翻译器终极指南:5分钟让Unity游戏秒变中文版 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语Unity游戏的语言障碍而烦恼吗?XUnity.AutoTranslator是一个功能强…

2026/11/5 16:23:24 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/6 15:21:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/7 12:08:40 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/6 22:01:11 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/6 22:01:11 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/7 12:08:40 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/6 22:01:09 阅读更多 →

日新闻

周新闻

月新闻