一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“Charles抓包流程”。
现在就来开始抓包啦:
1.PC抓包
由于charles会自动配置浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。直接打开网页就可以了。
注意:
(1)Charles支持抓去http、https协议的请求,不支持socket。
(网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket)
(2)防火墙关掉
点击上方的代理—windows代理
电脑charles客户端下载SSL证书
帮助—SSL代理—安装charles证书
将所有的证书都放入下列存储—受信任的根证书颁发机构—下一步—完成
2.手机端抓包
使手机和电脑在一个局域网内,不一定非要是一个ip段,只要是同一个路由器下就可以了。
(1)首先利用cmd -config命令查看自己电脑的ip地址
配置代理服务器
菜单栏上选择“代理—代理设置,
填入代理端口xxxx
勾选启用透明HTTP代理
查看自己本机IP
(2)然后在手机端的wifi代理设置那里去进行相关的配置设置。
这里的代理服务器地址填写为电脑的ip地址,然后端口这里写8888(这个是charles的默认设置),如果自己修改了就写成自己所修改的端口就可以了。
配置完成,会看到一个charles与手机端的连接提示弹窗,选择allow即可。
(3)手机端抓包https
上述1、2步骤,只针对http请求。由于https协议的特殊性,所以要求电脑端和手机端都需要安装下证书,否则会看到返回的数据都是乱码。
第一步:电脑端证书下载
第二步:手机端证书下载
在设备上打开这个网址 http://www.charlesproxy.com/getssl 安装 Charles SSL 证书。
注意,同一个手机对应不同电脑上的Charles都要分别下载证书进行认证,因为手机的证书是和电脑端的Charles一一配对的。
PS:ios手机,需要信任该证书
相关配置
选择Proxy | Proxy Settings,弹出proxy设置选项卡,勾选Enable SSL Proxying,在Location部份选择add,按如下图添加,抓取任意站点、443端口的数据。
3. 抓取的包全部出现unknow的解决方法
代理-SSL代理-启用SSL代理-添加 如图主机和端口都添加*
代理-SSL代理-启用SSL代理-添加 如图主机添加*,端口添加443
如图所示即可完成 解决unknow问题。如果个别情况出现unknow,可能是本身抓包软件存在个别漏抓问题。可以忽略!