Charles 是常用的网络封包截取工具,在做移动开发时,为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。
Charles 具体的功能介绍如下:
1.过滤网络请求
通常,我们只需要监控向指定目标服务器上发送的请求。对于这种需求,有以下几种办法:
方法一:在 Charles 的菜单栏选择 Proxy->Recording Settings,然后选择 Include ,点击Add,然后填入需要监控的协议,主机地址,端口号等,这样就可以只截取目标网站的请求了。
方法二:在目标网址上右键,选择focus,这样其他的请求就被放到一个叫other host的文件夹里面,也达到了过滤的目的。
方法三:选择sequence视图,在主界面的 Filter 栏中填入需要过滤出来的关键字即可。
通常情况下,我们使用方法一和方法二做一些经常性的封包过滤,使用方法三做一些临时性的封包过滤。
2.截取https请求
如果需要截取分析 Https 协议相关的内容,则需要安装 Charles 的 CA 证书。
首先需要在 Windows 电脑上安装证书。点击 Charles 的顶部菜单,选择 “Help” -> “SSL Proxying”->“Install Charles Root Certificate”,操作如下: