欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

charles 使用原理

shiping1 的头像

Charles使用代理方式截获https的原理分析  

2011-11-13 13:47:01|  分类: 计算机网络 |字号 订阅
 
最 近在使用Charles工具来辅助解决自动化办公方面的问题,在使用的时候发现他能够截获https中的信息,亲们,而且是明文信息,我们知道明文信息都 是通过会话双方协商好的 对称密钥来完成的,而这个密钥按理第三方是没有方面获得的(因为这是一个协商过程,有非对称密钥的保护),然后Charles工具可以获得明文,说明他已 经获得了对称密钥,这是为什么呢????
知识预备:代理方面的知识大家要先看一下,然后分析如下:
首先分析SSL握手的建立过程,对称密钥是不应该被其他中间人(第三人)获知。
然后分析Charles使用的代理。对于一般的http代理是将本地客户端的请求先发给代理,然后由代理向服务器发请求,代理接受到回复后,将其再转发给客户端。
注意:这里面有一个问题就是本地客户端什么时候将请求发给代理??http是应用层的协议,我们知道代理是需要端口的,所以猜测应该是在运输层(在此处就是TCP方式)将其发给代理,这个步骤很关键,因为SSL在协议栈中的位置的问题。
 
最后分析一下https使用代理的情况。首先本地客户端发出https请求,由于在转发前要经过SSL层所以客户端段与代理之间先建立一个https连接,代理获得请求(解密)后,代理与目标服务器之间又建立一个https连接。
来自 http://zhangyongbluesky.blog.163.com/blog/static/183194162011101314137331/
普通分类: