Charles(Windows/Android)入门使用
Posted article-record
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Charles(Windows/Android)入门使用相关的知识,希望对你有一定的参考价值。
一. 介绍以及下载(windows)
Charles是一个HTTP代理/HTTP监视器/反向代理,使开发人员能够查看其机器和Internet之间所有HTTP和SSL/HTTPS流量,这包括请求,响应和HTTP标头(包含cookies和缓存信息)。下载地址
Charles 主要功能
- 支持截取HTTP与HTTPS的网络封包;
- 支持重发请求,方便后端调试;
- 支持修改网络请求参数;
- 支持网络请求截获并动态修改;
- 支持模拟弱网络环境测试。
So 允许我来讲一个主要功能的第一点,也是调试程序最基本最常用的一点(个人见解,勿喷); 接下来就开始看正文。
二. 安装及破解
- 安装还是比较简单的 访问官网 点击DOWNLOAD 一顿行云流水操作,就安装完成。
- 为什么要破解呢,Charles是一个收费软件,如果不破解的话打开应用后一次最多使用30分钟;当然这样的结果不是我们想要的 so 就需要一些特殊手段;
2.1 破解的话 就是需要在网站上下载 charles.jar 文件替换掉 安装包内的此文件 破解文件下载地址
2.2 下载完成后在Charles安装目录下的lib目录 找到之前的 Charles.jar 把新的覆盖粘贴进去 破解完成(未破解的Charles 只能使用半小时 半小时后程序闪退)
三. 下载证书
- 下载pc证书,打开Charles 点击Help--SSL Proxying --Install CharlesRoot Certificate 点击后会出现一个下载证书的页面
点击安装证书--当前用户--存储到受信任的根证书颁发机构
安装android证书 (小米手机为例) 电脑执行以下操作
3.1 电脑打开 chls.pro/ssl 网址下载charles-proxy-ssl-proxying-certificate .pem
文件;然后使用usb传输文件方式下载到手机内;点击设置--WiFi--高级设置--安装证书--找到刚才下载的证书进行安装;
3.2 这是题外话,为什么查看blog有的文章说,手机浏览器访问 chls.pro/ssl 也能下载证书,我们却用pc下载再拉入手机呢;原因就是小米手机网站下载的是文件后缀为.crt的证书,在安装的时候小米识别不了,无法安装;在pc下载的是.pem后缀。
- 注意点:1. Android机型在7.0及以上版本,不再信任基于用户的CA证书,刚好咱们下载的这个证书就是基于用户的CA证书,so 关于小程序或者H5页面无法抓取请求,当然也是有解决的办法,下面就不赘述了 给个地址有兴趣可自行查看;
4.1 这第一种方式需要公司Android大佬的配合,就是要Android在配置文件里加一个类似与CA集,信任用户安装的证书;
4.2 第二种的解决方案思路则是先把证书下载到手机内部,然后将手机权限(root),强制将用户证书转为系统证书;
四. 设置代理端口以及过滤请求
- 回到pc 设置Charles代理服务器的端口 点击proxy -- proxySetting--设置端口 并启动
- 启用http代理,设置可以抓取的请求;(这里没有过滤使用了通配符;稍后说一个简单的过滤方法。)
五. 开始抓包
- 首先保证Android手机与PC同处于一个局域网之下(一个WiFi) 然后PC执行cmd命令
ipconfig
查看本机ip
- 手机链接WiFi设置代理 ip就是与PC相同的ip 端口就是刚刚咱们设置的端口;进入WiFi查看详情,选择代理改为手动,输入上图的ip,端口就是刚才咱们设置的端口8888;
- 看效果(下图中包含一次性过滤请求的方法,比较简单方便)
3.1 使用方法:如果以上配置都已经完成,就可以打开Charles 一边“玩手机”一边工作了;Charles会记录下来你在手机做的操作(每个网络请求);然后根据相应的信息分析或者调试;
以上是关于Charles(Windows/Android)入门使用的主要内容,如果未能解决你的问题,请参考以下文章