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

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