美文网首页优秀案例
Charles - 手机网络抓包

Charles - 手机网络抓包

作者: 十二书 | 来源:发表于2018-01-18 20:45 被阅读89次

    貌似常用的手机网络抓包软件有 Charles 和 Fiddler。除了界面差异外,

    • Charles 理论上收费,Fiddler 免费;
    • Charles 做网络数据替换比较好写(Map Remote/Local),而 Fiddler 的替换条件要用正则表达式去匹配;
    • Charles 可以在网络请求头后面增加定制数据(Rewrite),Fiddler 不确定有没有。

    Map Remote/Local 和 Rewrite 都在 Tools 菜单里面。

    1. Map Remote/Local
      Map Remote/Local 可以设定匹配条件,然后将匹配条件的网络请求的响应,用其他的网络数据代替(Remote),或者用本地文件代替(Local)。
      支持用“*”做匹配符。
      大致如下图:


      local.png remote.png
    2. Rewrite
      Rewrite 的作用,是在网络请求头后面追加一些数据。当然,除了 Add Header,还有更强大的功能。
      设置和效果,如下图:


      Rewrite 设置.png Rewrite 效果.png
      1. 不要代理 PC 网络
        打开 Charles 以后,默认也会代理 PC 的网络。调试手机的时候,挺烦人的。可以关掉。


        不代理 PC 网络.png
    Fiddler 设置不代理 PC 网络.png

    还有一个网络相关的小工具,SwitchHosts!,可以方便的在 PC 上设置 host。工具截图如下,其中左边是替换为的 IP,右边是要被替换的服务器地址:

    SwitchHosts!.png

    设置完后,可以通过 Charles 查看,目标服务器都会被设置的 hosts 代替。


    Charles HTTPS 抓包的小坑

    1. 下载手机的SSL证书。这一步很关键,你需要点击help -》SSL Proxying-》Save Charles Root Certificate,然后选择目录,保存一个类似于这样的“charles-ssl-proxying-certificate.pem”文件。

    2. 给手机安装证书。将证书导入手机后,打开手机的文件管理器,找到charles.pem,点击安装。
      也可以尝试通过连接 Charles 代理后,浏览器输入 chls.pro/ssl 下载。然后通过 设置 -> 安全隐私 之类的页面,安装证书

    3. 切记在 Charles 软件上打开 SSL Proxy setting

    image.png

    然后就可以用 Charles 抓 HTTPS 包了。

    相关文章

      网友评论

        本文标题:Charles - 手机网络抓包

        本文链接:https://www.haomeiwen.com/subject/pawioxtx.html