@_小沫 感觉好像没get到点子,如下面这段话:
截获真实客户端的HTTPS请求,伪装客户端向真实服务端发送HTTPS请求
接收真实服务器响应,用Charles自己的证书伪装服务端向真实客户端发送数据内容
我的意思是, 如果Charles作为中间商能代替client与服务器进行通信, 那是不是可以理解Charles==client = true? 那么Charles代替客户端收收发消息的话, 为啥还存在Charles解析不了的包?
我猜测下, 是不是这样的原因: 如果Android没有root, 那么在Android执行https请求的时候, android系统ssl验证用的是系统证书, 而不是用户证书(Charles证书已经安装在用户证书列表里) , 然后当Android请求发出后, Charles发现自己识别不了, 然后原封不动的把请求包转发给了服务器(这个时候Charles扮演纯代理), 服务器返回给客户端数据包时, Charles无法解析,一个是显示unknown, 一个是转发给客户端?
请问是这样吗?
浅谈Charles抓包原理类似Charles这样的抓包工具,对于高效程序员是必不可少的;本文不会介绍Charles的安装及使用,主要是浅显的探讨其抓包原理;Charles的安装及使用相关内容可以参考以...