热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Charles+shadowrocket(drony)手机APP(Android,IOS)爬虫分析方案

之前在windows上用fiddler来进行分析,由于fiddler没有mac版本,所以现在在mac上面又做了一份charles的文档。WiFi代理的基本配置方法大多数APP直接采

之前在windows上用fiddler来进行分析,由于fiddler没有mac版本,所以现在在mac上面又做了一份charles的文档。


WiFi代理的基本配置方法

大多数APP直接采用WiFi代理配置就可以了。

电脑端,在charles的proxy --> SSL proxying setting 里面打开Enable SSL Proxying 就可以了,在下面的include里面最好加一下*:443

手机端,Android在WiFi下面长按,然后修改代理,将代理改到手动,并修改IP地址到电脑的IP地址,端口到系统配置的默认8888端口。如果找不到这个端口,可以在proxy --> proxy setting里面查看

配置完成之后,如果没有问题,手机上访问的一些APP或者网页就已经可以在charles中查看到了。

但是这里会发现几个问题:



  1. https捕获到的是乱码

  2. 有些APP的请求根本无法捕获到,获取的是一些没用的请求


配置SSL


IOS 配置


电脑端配置

安装一下Install Charles Root Certificate. 点击之后会弹出安装,输入电脑密码之后即可。

安装完了之后也不是就可以了,还需要去钥匙串中将此证书改为始终信任


手机端配置

在配置了WiFi手动代理之后访问 chls.pro/ssl ,之后会自动弹出安装,弹出一堆确认之后就会加载到证书中去。但是当前版本的IOS更新了一个证书策略,需要开启一下,在设置 --> 通用 --> 证书信任设置,在里面把安装进去的新证书装上就可以了。

配置完成之后在charles中就可以看到https里面的相关内容了。


Android 配置

Android配置也是访问 chls.pro/ssl,然后在设置中安装本地证书就可以了。 但是我在Android中遇到了问题,不论怎么安装,charles中都显示证书不正确。查了网上一些说明都说新版本的Android添加的用户证书不能改成授信任证书。 解决方法可以去网上查一下,大多数使用几种:



  1. 使用fiddler+Xposed+JustTrustMe: 这种方法最好使用Android虚拟机安装,实体机上安装很麻烦,容易出错导致手机系统奔溃。

  2. 进入系统命令控制行,将用户证书转为系统证书,然后再授信。

    这两种方案网上都有,如果需要的话可以自行搜索

以上两个完了也解决不了第二个问题,有不少APP是查看不到包的,这种如何解决


Charles 或 fiddler 部分APP包截取不到的解决方案

部分APP无法代理抓包的原因及解决方法

原因: 总结出来就是部分APP没有遵从系统代理,而是自己走了自己的通道,这样这些数据就不从手动代理配置的IP那里走,直接从WiFi传输出去了,这样charles就查看不到了。

解决方法:


IOS

IOS 可以装一个ShadowRocket。将全局请求强制转向代理就可以了。


电脑端配置

电脑端在proxy 里面的 proxy settings 中需要把Socks proxy 打开


手机端配置

下载shadowrocket是个比较麻烦的事情,因为国内的市场是没有这款APP的,需要使用美区账号访问,然后美区账号又比较难弄,经常用的可以去淘宝买一个。 另外一种方法就是使用爱思助手去安装。由于我的手机是测试机,所以无所谓,可以直接装,平常常用的手机还是不要用这种软件比较好,估计会让手机的安全性降低。

IMG_0169

这样配置完成后,记得把WiFi那里的手动代理给关掉,否则可能会出错。 完成之后就能查看到手机上所有的数据包了。


Android

Android可以去下一个drony , 然后在配置里面添加上手动代理地址就可以了。

由于Android SSL 证书配置实在太麻烦了,有需要的可以晚上查找一下配置,在这里就不多写了。


总结

总得来说用


原文链接:https://www.cnblogs.com/yourwilliam/p/charles--shadowrocketdrony-shou-jiappandroidios-pa.html



推荐阅读
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 华为捐赠欧拉操作系统,承诺不推商用版
    华为近日宣布将欧拉开源操作系统捐赠给开放原子开源基金会,并承诺不会推出欧拉的商用发行版。此举旨在推动欧拉和鸿蒙操作系统的全场景融合与生态发展。 ... [详细]
  • EST:西湖大学鞠峰组污水厂病原菌与土著反硝化细菌是多重抗生素耐药基因的活跃表达者...
    点击蓝字关注我们编译:祝新宇校稿:鞠峰、袁凌论文ID原名:PathogenicandIndigenousDenitrifyingBacte ... [详细]
  • 本文详细介绍了 Charles 工具的下载、安装、配置及使用方法,特别针对 HTTP 和 HTTPS 协议的数据抓取进行了说明。 ... [详细]
  • 在iOS开发中,基于HTTPS协议的安全网络请求实现至关重要。HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer)是一种旨在提供安全通信的HTTP扩展,通过SSL/TLS加密技术确保数据传输的安全性和隐私性。本文将详细介绍如何在iOS应用中实现安全的HTTPS网络请求,包括证书验证、SSL握手过程以及常见安全问题的解决方法。 ... [详细]
  • 本文介绍了 NOI Open Judge 6049 购书问题的详细解法,代码简洁易懂,并附有详细的注释和解释。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • Flutter 2.* 路由管理详解
    本文详细介绍了 Flutter 2.* 中的路由管理机制,包括路由的基本概念、MaterialPageRoute 的使用、Navigator 的操作方法、路由传值、命名路由及其注册、路由钩子等。 ... [详细]
  • 检查在所有可能的“?”替换中,给定的二进制字符串中是否出现子字符串“10”带 1 或 0 ... [详细]
  • poj 3352 Road Construction ... [详细]
  • 详解 Qt 串口通信程序全程图文 (4)
    Qt串口通信程序全程图文是本文介绍的内容,本文一开始先讲解对程序的改进,在文章最后将要讲解一些重要问题。1、在窗口中加入一些组合框ComboBox&# ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • 本项目通过Python编程实现了一个简单的汇率转换器v1.02。主要内容包括:1. Python的基本语法元素:(1)缩进:用于表示代码的层次结构,是Python中定义程序框架的唯一方式;(2)注释:提供开发者说明信息,不参与实际运行,通常每个代码块添加一个注释;(3)常量和变量:用于存储和操作数据,是程序执行过程中的重要组成部分。此外,项目还涉及了函数定义、用户输入处理和异常捕获等高级特性,以确保程序的健壮性和易用性。 ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
author-avatar
baiyanan862273
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有