一、工具介绍:
Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).
- 上面的介绍从官网上粘贴过来的,这几句话就这个工具是什么,能干什么事做了一个简单的介绍。首先对于一个新的工具我们第一要义就是先使用他,然后再去研究原理。
二、工具的安装
- 官网下载软件安装,这个没什么好说的,安装好了,是一个30天试用的版本,需要一个破解,window系统上建议替换charles文件夹的一个jar包,可以自行google或者百度,mac上可以使用注册码:
Registered Name: https://zhile.io (这个注册码适用于几乎所有的版本)
License Key: 48891cf209c6d32bf4
三、工具的配置
首先安装证书:
按步骤点击红框,安装证书,安装完成后,需要在mac上配置一下信任该证书。选择始终信任
- 配置一下端口号,可以使用默认的8888端口,也可以填入自己喜欢的端口号;
四、移动设备进行抓包操作:
让手机和电脑处于相同的wifi网络下,对手机的网络进行代理设置。如图所示:
在手机上的红框处,填写电脑的ip和刚才在charles上设置的端口号点击保存,然后根据charles弹出的信息框中对应的网址,手机上根据网址去下载证书,我的手机是ios,下载完了以后在通用中添加信任即可进行http的抓包分析了。
五、配置https的抓包
众所周知目前的一些主流app已经全部替换成为了https了,问这个工具可不可以抓取https请求呢,答案是肯定的,现在我们就开始配置https吧。
-
点击charles上的proxy按钮,如图所示
在这里插入图片描述
进入以后的界面如下图所示:(该界面是我配置好的展示)
在这里插入图片描述
点击add按钮,host填写*,port当然是填写https的443端口了。好像一切都像完美的情况走去了,当我设置后代理,用手机去抓包https的时候,手机上却显示证书不行,https的请求下还是一片红,我首先检查了证书,没问题,继续检查了网络,依然没问题,真的是很煎熬。
六、解决之道
首先还是感谢一下,网络下使用者的一个无私的分享,ios高版本的同学注意了,注意了,注意了,重要的事情说三次,安装完证书以后,需要在设置-->通用-->关于本机-->一下拉到最下方的证书信任设置,点击进去,大家会看到一个关于charles证书的选项,打开后面的switch开关,对根证书启用完全的信任。下面就会发现一切都是那么美好了。
七、截图效果
安装完毕以后必须使用一下看看效果了,光说不练假把式。
成功的获取了https的请求,站在巨人的肩膀上,可能会看的更远,分析一下优秀app的接口设计和一些加密设计,在运用到自己的项目上,也是一种进步。
网友评论