热门标签 | 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



推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了新款奇骏的两个让人上瘾的功能,分别是智能互联系统和BOSE音响。通过对新款奇骏的配置和功能进行评测,探讨了这两个新增功能的使用体验和优势。此外,还介绍了新款奇骏的其他配置和改进,如增加的座椅和驾驶辅助系统,以及内饰的舒适性提升。对于喜欢音响的消费者来说,BOSE音响的升级也是一个亮点。最后,文章提到了BOSE音响的数字还原能力,以及7座版无法配备BOSE音响的原因。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
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社区 版权所有