Charles:让天底下没有难抓的包。
前言
明天给大家举荐一个我所应用过的抓包工具中最好用的抓包工具 -Charles(音译:查尔斯),它能够抓各端发动的网络申请,我次要用来抓挪动设施上的申请,上次小明就通过这种形式找到了一款付费 App 课程的破绽,咳咳,不开展说了,毕竟 web 端的浏览器网络申请,关上开发者工具就能看到(滑稽)。
下载安装
- 形式一:官网下载
链接:https://www.charlesproxy.com/…
期限:试用 30 天
- 形式二:百度网盘(举荐)
链接: https://pan.baidu.com/s/1p7GJ…
期限: 没有应用限度,附带装置阐明文档(你懂的),举荐应用正版软件。
明码: 关注微信公众号“程序员小明”,回复“查尔斯”即可获取。
配置及应用
第一次启动的时候会提醒主动配置,点击批准即可,当然也能够自定义配置。次要配置全副在 Proxy 这里,端口号默认 8888,也能够本人调整。
接下来,给大家别离介绍一下应用 Charles 抓取浏览器和挪动端网络申请的办法。
浏览器
拿 Mac 举例(如题),须要将以后你连贯的网络配置网页代理(http)、网页平安代理(https),默认 Charles 会主动配置好,如下所示
当然,如果你看到的不是这样,也能够手动配置,其中 127.0.0.1 示意本地地址,端口号依据本人的配置指定。确认好以上配置当前,这时咱们关上百度,却提醒:您的连贯不是私密连贯!
此时肯定要从容沉着,这是示意以后 https 代理证书不被信赖,解决办法如下:
- 关上 Charles,抉择 Help -> SSL Proxy -> Install Charles Root Certificate
- 在弹出的证书窗口中,能够看到该证书已胜利增加,然而此时该证书图标有 叉号,示意依然不被信赖
- 双击此证书,在弹出的 Charles Proxy CA 窗口中,点击“信赖“按钮 -> 应用此证书 -> 抉择”始终信赖“后敞开窗口,应用账号和明码受权后,即可看到此证书 叉号 隐没,示意曾经被信赖。
- 再次关上百度,咱们就能够失常拜访
如果此时 Charles 弹出弹窗提醒是否 allow,抉择 allow 即可。当然,咱们也能够设置全副 https 网络申请都容许抓取
抉择 Proxy -> SSL Proxying Settings,减少一个 Location
Host: *
Port: 443
挪动端(本文重点)
抓取 http 申请
- 同样在电脑上关上 Charles
- 当初须要在手机上配置代理
wifi 设置 - 网络代理,输出电脑的 ip、端口号(默认 8888),可通过ifconfig
查看本机电脑 ip - 保留后,Charles 会弹出弹窗提醒是否 allow,抉择 allow 即可。
如果你应用的手机零碎是 Android,此时,Charles 就能够抓取 http 和 https 的网络申请,而如果你应用的是 iPhone 的 ios 零碎,则目前只能抓取 http 网络申请,接下来咱们看一下 ios 零碎的手机如何抓取 https 的网络申请。
抓取 ios https 申请
家喻户晓,ios 是一个很考究的零碎,首先咱们须要装置证书
抉择 Charles-> Help -> SSL Proxying-> Install Charles Root Certificate on a Mobile Device or Remote Browser,咱们能够看到如下提醒:
小明翻译一下:
- 为你的手机配置 http 代理
关上手机设置的无线局域网(确保手机和电脑在同一 WiFi 下:),点击左边的i,拉到最上面,抉择“配置代理”,代理地址就是弹窗的地址。 - 关上手机浏览器,输出 chls.pro/ssl,下载并装置证书
ios 的证书下载后须要到 设置 -> 通用 -> 形容文件 上来装置证书 - 留神!还没有完结!(多少英雄好汉跌倒在这里)
装置胜利后,实际上咱们并未授信证书, 抉择 设置 -> 通用 -> 对于本机 -> 证书信赖设置 对证书开启齐全信赖!
能够设置不代理计算机的申请(可抉择)
抉择 Proxy -> macOS 勾销勾选则示意不抓取计算机的申请
同理,抉择 Proxy -> Mozilla Firefox 不勾选则不抓取计算机上 Mozilla Firefox 浏览器的申请
这个利用场景次要是只针对挪动端数据抓取时,则这两项就能够不勾选。
Charles 的操作应用明天就介绍到这里,祝贺你!曾经把握了它的 80% 性能,曾经足够日常开发应用,是不是感觉本人又变厉害啦!当然,它还有高端的玩法,比方打断点,批改申请、返回的参数,本次暂不介绍,当前有机会小明再来补充。
本文可转载,但需申明原文出处。程序员小明,一个很少加班的程序员。欢送关注微信公众号“程序员小明”,获取更多优质文章。