Charles作为抓包工具中易用性与多功能比较高的抓包工具被运用于多种场景,今天来聊聊如何解决Charles抓取https请求乱码。
1.Charles安装
charles的安装非常简单,我们只需要通过官网安装最新版即可。
charles是收费软件,可以免费试用30天;我们可进行破解。
2.破解
在线破解:https://www.zzzmode.com/mytools/charles/
注册名称随意填写,然后选择自己安装的charles版本号,点击即可生成一个charles.jar包,将生成的charles.jar替换原来安装目录lib下的charles.jar包即可。
3.基本配置
PC端安装证书,打开charles,选择help–>SSL Proxying–> Install Charles Root Ceriticate,点击安装证书,一直点击下一步完成即可成功安装。
web端抓包配置
安装Charles后访问浏览器(谷歌/火狐等)不管放问什么链接都会提示链接不安全,这时就需要安装charles证书。
进入charles,选择help→SSL Proxying→Save Charles Certificate 将charles证书保存到本地。
进入Firefox/Chrome浏览器选择—高级-证书,点击查看证书—导入,选择本地保存的证书,勾选信任,导入即可。
重启浏览器,这时候访问链接可以正常抓包。
手机端抓包配置
手机端设置代理
此时你的手机必须和电脑在同一个网络/wifi里,手机选择和电脑相同wifi—>长按此wifi弹框中选择修改网络—>显示高级选项—>服务器主机名输入框中输入电脑ip地址,服务器端口号填写8888——>保存即可,此时手机和电脑绑定在一起一遍电脑抓手机上请求网络数据
第一次设置成功代理后,随便打开一个需要网络的应用,PC端会自动弹出提示,选择allow允许Charles代理
如果没有弹出提示,也可以在菜单栏中的proxy—Access Control settings中手动将手机和电脑的ip加入其中
手机安装Charles证书
(1)IOS客户端
前提:手机WiFi代理已经设置好,参考前文设置
1、打开Charles,选择help→SSL Proxying→Install Charles Root Certificate on a Mobile Device or Remote Browser
2、手机连接电脑代理,打开safari,输入网址:chls.pro/ssl
3、手机弹出提示:此网站正尝试打开“设置”已向您显示一个配置描述文件。您要允许吗?忽略|允许,选择允许,安装描述文件,并信任
4、iOS10以上的手机需要在:设置→ 通用 → 关于本机 → 证书信任设置→ 找到charles proxy CA证书,打开信任即可
(2)android客户端
方式一:
点击 help–>SSL Proxying–> Install Charles Root Ceriticate on a Mobile Device or Remote Browser,
手机设置好WiFi代理后,在手机浏览器打开下面弹框里提到的链接chls.pro/ssl,下载证书,安装即可(华为手机最好不要用自带的浏览器,因为自带的浏览器下载的证书为pem格式,无法直接安装,我用的百度浏览器)
cer格式的证书下载完可以直接点击安装,安装证书过程中会要求输入锁屏密码
4.设置抓取HTTPS请求
默认charles只可以抓取http协议的包,https的更安全,需要如下配置方可
菜单栏 Proxy–>SSL Proxying Setting–>选择SSL Proxying——>点击add在弹框中port里填写443(443代表通用https端口号), host中的*代表抓取所有地址的包