【爬虫进行时】手机客户端app爬虫抓包(Fiddler)
鉴于目前会常用到爬虫来采集一些数据以支持和解决问题,开贴记录验证出来的好用的methods、tools、problems 和 solutions。
之前有个需求抓b站的数据,由于当时并不会从手机app抓包,而且时间较紧急,没有工夫来细细研究,就只能尽量从网页端来对数据进行爬虫。所幸,大部分的数据网页端都很完备。现在有空了,来研究一下如何从手机客户端的B站app进行抓包。٩(•̤̀ᵕ•̤́๑)
APP数据抓取:
50%的app,通过抓包软件就可以分析出抓取参数并抓取到信息。
30%的app,可能需要适当的反编译,分析出加密算法并抓取到信息。
10%的app,可能加固,需要脱壳,然后反编译,分析出加密算法并抓取到信息。
10%的app,通过各式各样的签名,证书,设备绑定等方法,隐藏加密算法。
总的来说,没有不能抓取的app,只是时间成本的问题。
抓包
抓包有代码经验或APP开发的同学都很容易理解,其实很多APP,走的都是webservice通讯协议的方式,并且由于是公开数据,而且大部分是无加密的。所以只要对网络端口进行监测,对APP进行模拟操作,即可知道APP里面的数据是如何获取的。我们只需要写代码模拟其请求,无论POST还是GET,即可得到该请求所返回的信息。再通过对返回的信息结构化解析,即可得到我们想要的数据。
HOOK技术
HOOK技术是一种走操作系统内核的技术,由于安卓系统是开源的,所以可以借助一些框架修改内核,从而实现你要的功能。HOOK的形式,我们走的是Xposed框架。Xposed是一款可以在不修改任何其他开发者开发的应用(包括系统服务)的情况下,改变程序运行的一个开源框架服务。基于它可以制作出许多功能强大的模块,以此来达到应用程序按照你的意愿运行的目的。如果把安卓手机看做一座城堡,那Xposed可以让你拥有一个上帝视角,城里的运作细节尽收你眼底,还能让你插一手改变城堡的运作规律。什么意思呢?简单的说就是你可以通过他,自动化的控制你的APP。如果将我们的APP开在模拟器上,我们可以通过编码,通过他告诉APP这一步干什么,下一步干什么。你把它理解成类似按健精灵或游戏打怪外挂就可以了。而他每走一步,APP与服务端交互的数据,均可获取下来。这种方式广泛用于一些成熟的APP。比如某信采集。
模拟点击
通过程序模拟人的行为对APP的界面进行点击、滑动等操作,同时可以获取APP的Activity页面上的大部分控件上的文本信息(有一些可能获取不到,Uiautomator本身就获取不到)
————————————————
原文链接:https://blog.csdn.net/zzq900503/article/details/94736168
工具准备:
博主当前常用的进行手机app抓包的工具有fiddler和appium。
【Fiddler安装配置】手机APP端爬虫抓包
1. 下载安装Fiddler。https://www.telerik.com/download/fiddler
2. Fiddler进行配置,Tools - Options,根据提示下载安装证书。配置完关闭fiddler,重新打开即可生效。
a. Decrypt HTTPS traffic 下的下拉框可自己筛选需要监听的HTTPS类别
b.监听端口Fiddler listens on port可以自己设置,默认为8888
3. 手机和PC务必同处一个局域网。电脑cmd使用ipconfig命令查看网络ip配置,记录IPv4的ip地址。
4. 将手机上WiFi进行设置,手动配置代理,ip地址 = 电脑IPv4地址,端口 = fiddler的监听端口8890(如步骤2里设置)
5. 手机浏览器上地址栏输入ip地址+端口,如此案例中为http://10.0.150.246:8890,在手机上下载安装FiddlerRoot certificate证书。(根据手机提示信任该证书)
6. 点开手机端app,在fiddler上监听查看,验证ok,配置步骤完成。
常见问题:
1. 根据步骤全部配置好之后,ios手机上不了网,打不开任何页面,显示连接服务器不安全。
解决办法:iOS 10.3升级之后,安装的证书默认是不启用的,需要手动去开启。【设置 –> 通用 –> 关于本机 –> 证书信息设置】打开Fiddler的证书开关就行了。
2. 打开Fiddler之后,可以抓到手机app的包,但是全是中文乱码。
方法1:勾选Decode或单击黄色长条“Click to decode”进行尝试。
方法2:修改注册表,无论网页charset是gb2312还是utf8均能正常解析: 1. windows桌面搜索“注册表” ;2. HKEY_CURRENT_USER\Software\Microsoft\Fiddler2;3. 右键新建,字符串值,名称为HeaderEncoding,值输入GBK。保存后,重启Fiddler。
【Appium】
(未完,待补充)
【爬虫进行时】手机客户端app爬虫抓包(Fiddler)相关推荐
- python爬虫抖音_Python 爬虫——抖音App视频抓包
APP抓包 前面我们了解了一些关于 Python 爬虫的知识,不过都是基于 PC 端浏览器网页中的内容进行爬取.现在手机 App 用的越来越多,而且很多也没有网页端,比如抖音就没有网页版,那么上面的视 ...
- python爬虫抖音招聘_Python爬虫:抖音App视频抓包
APP抓包 对于 App 来说应用内的通信过程和网页是类似的,都是向后台发送请求,获取数据.在浏览器中我们打开调试工具就可以看到具体的请求内容,在 App 中我们无法直接看到.所以我们就要通过抓包工具 ...
- 使用fiddler对手机APP进行抓包
在做手机或移动端APP的接口测试时,需要从开发人员那里获取接口文档,接口文档应该包括完整的功能接口.接口请求方式.接口请求URL.接口请求参数.接口返回参数.如果当前项目没有接口文档,则可以使用fid ...
- Python 爬虫,推荐一款简单的抓包工具(续)
点击上方"AirPython",选择"加为星标" 第一时间关注 Python 原创干货! 1. 前言 上篇文章发布之后,有小伙伴后台私信我,说文章只涉及到手机端 ...
- 网络爬虫系列(一):chrome抓包分析
网络爬虫系列(一):chrom抓包分析 1.测试环境 2.网页分析 (1) 网页源代码分析 (2) 网络抓包分析 1.测试环境 浏览器:chrome浏览器 网页分析工具 :开发者工具 2.网页分析 ( ...
- appium 九宫格解锁招商银行手机客户端app
之前研究了一段时间的appium for native app 相应的总结如下: appium测试环境搭建 :ht ...
- 对小米手机app进行抓包
工具: Fiddler 小米手机(MIUI 8.5) Win10操作系统 参照 https://my.oschina.net/jhao104/blog/605963 安装Fiddler, 设置Fid ...
- Android App 防止抓包
这篇文章谈谈如何防止 App 被抓包 首先我们要知道常用的抓包方式有 Charles 和 Fiddler.他们通过在手机网络中添加代理的方式,拿到 App 的请求. 如果是 Https 连接的话,我们 ...
- 五、小程序|App抓包-Drony配合Burp实现App定向抓包
小程序|App抓包 Drony配合Burp实现App定向抓包 一.建议google市场下载安装包 下载并安装到安卓手机上,繁体版 https://apps.evozi.com/apk-download ...
最新文章
- 洛谷 P4151 BZOJ 2115 [WC2011]最大XOR和路径
- java paintComponent的一些解读
- 用php程序能消除水印吗,php——水印
- Servlet异常和错误处理示例教程
- C语言中总是从main函数开始执行函数吗?
- 密码学原理与实践第三版pdf_云计算原理与实践PDF电子书下载
- Apache Shiro SessionManager配置详解.
- 第 0001 天:聊聊成长型思维模式者
- [深度学习]什么叫激活函数
- 精确的力量:完美SNES仿真器的一个3GHz追求
- 简单聊一下const
- excel 数据透视表完成分类汇总
- 计算机编程php网页源码水果网上销售系统mysql数据库web结构html布局
- 单片机:红外遥控实验(内含红外遥控介绍+硬件原理+软件编程+配置环境)
- Keystore was tampered with or password was incorrect
- 《非暴力沟通》读后感
- 使用ftp服务上传文件时553报错的解决(绝对有用)
- JS逐页转pdf文件为图片格式
- 办公族如何防治鼠标手?
- EF Power Tool 参数错误 HRESULT:0x80070057 (E_INVALIDARG)) 解决办法