在网页中,我们可以借助浏览器开发者工具中的 Network 面板看到网页中产生的所有网络请求和响应内容,然而 App 怎么办呢?要想拦截 App 中的网络请求,就得用到抓包工具了,例如:Charles、Fiddler、mitmproxy 等,我们可以通过这些工具拦截 App 和 API 通信的请求内容和响应内容,如果能从中找到一定的规律,就可以用程序直接构造请求来模拟 API 的请求,从而完成数据爬取。
大部分 App 使用的数据通信协议也是基于 HTTP/HTTPS 的,App 内部一些页面交互和数据通信的背后也都有对应的 API 来处理,例如某个页面呈现的数据几乎都来源于某个 API。其基本过程可以类比网页中的 Ajax 请求和数据渲染,其基本过程是 App 向服务器发起一个 HTTP/HTTPS 请求,然后接收并解析服务器的响应内容,之后将得到的数据呈现出来。
由于篇幅太长,教程将拆分为多篇文章分别讲解,大家先了解一下抓包工具的分类,如果平时你遇到抓包抓不到,首先应该确定自己使用的工具是否正确,不然你折腾一整天也是徒劳的。
一、抓包工具的分类如下:
- 全局抓包工具:Http Analyzer v7、Http debugger pro 用来抓电脑中程序中发出去的包
- 代理抓包工具:Charles、Fiddler 客户端 — 代理服务 — 服务端
- VPN抓包工具:HttpCanary(手机抓包工具) 和代理抓包工具差不多 能抓更多的包
- 网卡抓包工具:WireShark(鲨鱼) 用来抓网卡发出去的包,更加底层
- 手机抓包工具:tcpdump 一般不怎么用
- Hook抓包工具:r0Capture Hook Andriod 系统中的一些关键函数
二、抓包工具的使用
- Charles 的安装配置与使用(待补充)
- mitmproxy 抓包工具的使用(待补充)
- HttpCanary 的安装配置与使用(待补充)
- Fiddler 抓包工具的使用(拓展)(待补充)
© 版权声明
1、本网站的文章内容均来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
2、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
3、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
4、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
2、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
3、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
4、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END