乐趣区

关于java:安利一个Mac下好用的抓包工具Charles

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% 性能,曾经足够日常开发应用,是不是感觉本人又变厉害啦!当然,它还有高端的玩法,比方打断点,批改申请、返回的参数,本次暂不介绍,当前有机会小明再来补充。

本文可转载,但需申明原文出处。程序员小明,一个很少加班的程序员。欢送关注微信公众号“程序员小明”,获取更多优质文章。

退出移动版