当前位置:首页 > 内存 > 正文

charles怎么调大内存(charles总是内存满了)

  • 内存
  • 2024-08-01 14:23:17
  • 7989

一、charles为什么能抓https的包?原理是什么众所周知,http明文传输和https加密是为了防止传输层明文暴露,那为什么抓包工具能抓到呢?
简单来说,这是一次中间人攻击。
我们先看一下Charles的文档。
“Charles是一个中间人-middleHTTPS它可以用作代理,并允许浏览器以纯文本形式查看Web浏览器和SSLWeb服务器之间的通信。
Charles通过充当中间人来实现此目的。Charles不会看到服务器证书,而是动态为服务器生成一个证书,并使用自己的根证书(CharlesCA证书)对其进行签名,如果您将CharlesCA证书添加到您的浏览器中,则浏览器会收到Charles的证书。
首先我们看一下https使用的非对称加密的原理在讲非对称加密之前,我们需要先讲一下对称加密的原理。:对称加密使用相同的密钥进行加密和解密,因为密钥通常是动态生成的,这是一个问题。
这里介绍非对称加密主要用于密钥交换。也称为密钥协商),可以很好地解决这个问题,浏览器和服务器在每次创建新的会话时,使用非对称密钥交换算法协商对称密钥,完成应用数据的加密、解密和验证。每个会话的对称密钥都是不同的(会话不会被重用)(除非您这样做)中间人无法窃取它。
密钥交换过程:服务器的公钥公开,私钥不公开。浏览器首先从服务器获取公钥,然后使用公钥加密自己的私钥,并将其与加密其私钥的请求一起发送到服务器。服务器使用自己的私钥解密密码,获取浏览器的私钥,然后使用浏览器的私钥解密请求。然后使用浏览器的私钥对响应进行加密并将其发送回浏览器(之前已无意中写入服务器)。
中间人攻击首先欺骗服务器并向浏览器发送伪造的公钥以获取浏览器的私钥。这样就完成了浏览器端的解密。服务器端类似。
但是!!!https可以防止中间人攻击,因为服务器的公钥使用了证书。浏览器通常会警告您有关Charles的伪造证书,因此您应该将Charles的证书视为值得信赖。从而实现了中介。
关于iOS9上无法使用Charles抓包的问题。
AT提供的安全优势。
NSAppTransportSecurity

NSAllowsArbitraryLoads


这意味着您无法使用Charles来观察来自您无法控制的应用程序的SSL流量。
参考:常见问题解答•CharlesWebDebugging代理
关于ATS:CocoaKeys
简单来说,iOSATS安全加固。在AboutATS中,您可以看到ATS对证书施加的一些限制。Charles目前无法使用,因为iOS9认为该连接不安全。当前的解决方法是禁用ATS。从长远来看,Charles的证书可能会成为ATS眼中的“安全证书”,或者ATS可能会修改规范本身以将Charles的证书视为安全,但目前看来这两种做法都需要一些时间。
好了,结束了。
如果您满意,请转载并注明出处。