Charles安装和配置

Charles安装和配置_第1张图片

Charles 是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。

Charles主要功能:

1. 支持SSL代理。可以截取分析SSL的请求。

2. 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。

3. 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。

4. 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。

5. 支持重发网络请求,方便后端调试。

6. 支持修改网络请求参数。

7. 支持网络请求的截获并动态修改。

8. 检查HTML,CSS和RSS内容是否符合W3C标准。

Charles安装:

 去Charles的官方网站(http://www.charlesproxy.com)下载最新版的相应操作系统的Charles安装包安装即可。(跳转门→Download a Free Trial of Charles • Charles Web Debugging Proxy)

Charles的功能很强大,我们这里只介绍几个常用的并且非常实用的功能:

    1. 将Charles设置成系统代理

    2. 截取移动设备上的网络请求包

        2.1手动重复请求(Repeat,Advanced  Repeat)

        2.2手动模拟请求(Compose)

        2.3修改网络请求内容(Compose)

    3. 过滤网络请求

    4. 代理转发

    5. 支持https请求抓包(如果配置了还是抓不到,下面有解决方案)

  • 将Charles设置成系统代理

Windows:

Charles安装和配置_第2张图片

Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容。如果你需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果。

  • 截取移动设备上的网络请求包

在调试移动APP时,需要抓取APP发送的数据包,首先进行设置,Proxy -> Proxy Settings默认端口是8888,根据实际情况可修改。 

Charles安装和配置_第3张图片

查看本机IP地址:Help -> Local IP Addresses

配置手机代理:

可以在Proxy -> Access Control Settings里看到可以访问此代理服务器列表 如果不想每换一个手机都要进行验证,可以配置允许所有手机访问,加入0.0.0.0/0(IPv4)或::/0(IPv6)

Charles安装和配置_第4张图片 

在Charles的菜单栏选择"Proxy"->"Recording Settings",然后选择Include栏,择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了

  • 代理转发

请求转发,把调用方调用的地址转发到你本机地址的程序进行执行。右键 -> Map Remote ...

     Charles安装和配置_第5张图片Charles安装和配置_第6张图片

配置Tools -> Map Romote

Charles安装和配置_第7张图片Charles安装和配置_第8张图片

五. Https请求抓包

默认是看不到https的请求数据的。需要安装证书。

首先,电脑得装个证书 

Charles安装和配置_第9张图片

Charles安装和配置_第10张图片

第一个是手机代理IP和端口号!

第二个是移动端证书下载网址移动端证书配置。

也可以直接到Charles官网下载。

(1)先去官网下载证书,不然会报“无法找到证书”错误(官网注明说该证书在v3.10上会失效,我安装能正常工作...)

官网地址:Legacy SSL Proxying • Charles Web Debugging Proxy

(2)进入Charles-》Help-》SSL Proxying-》Install Charles Root Certificate ,会打开证书,安装进去 

(3)当安装后,可能你看不到在哪里,在右上角的搜索中 输入 cha 则会显示出来,你看到上面是 此根证书不被信任

(4)在证书上右键 - 显示详情 ,展开信任 选择 始终信任,然后点击左上角的关闭,系统会弹出授权提示框,授权同意修改,回到列表,稍等,证书就刷新了

(二)然后,移动设备上安装证书

这里不以ios为例,以Android模拟器为例~~打开模拟器浏览器,在浏览器中输入Charles Web Debugging Proxy • SSL CA Certificate installation,然后会弹出一个界面,让输入证书名字,直接输入charles就ok啦,安装成功后会提示证书安装成功

注:直接在模拟器浏览器打开网址可以安装成功证书,通过网址http://www.charlesproxy.com/assets/legacy-ssl/charles.crt下载,手动安装会报“无法安装证书”错误

(三)最后,Charles添加SSL Proxying

(1)进入Proxy-》SSL Proxying Settings;(2)勾选“Enable SSL Proxying”,并点击下方的Add;(3)在弹出的“Edit Location”中,输入Host和Port都为“*”(看提示这样配置可以抓到所有https的包),然后进行添加;(4)确保模拟器/手机将电脑的IP地址设置为代理,端口号为8888这下就可以愉快的抓https包,https拦截里不再是unknown了

你可能感兴趣的:(运维测试之道,java)