前言

我们知道爬虫爬取内容前要先获得数据进行分析, 也就是所谓的抓包. 如果我们爬取某个手机app也需要抓包. 今天我们来解决手机app在电脑抓包的问题.

正文

原理解析

我们手机的app会向远程服务器请求数据, 然后填充到我们的手机app里面, 这也就是为什么手机app每天会有不同的内容, 这些内容就是app实时去远程服务器请求的数据.

这些数据传输的协议基本上是使用http或者https, 格式一般都是json格式. 也就是说和我们电脑打开的网站使用的传输协议一致, 数据格式一致. 这时候我们就可以把app当作是网页端的一个网站.

很多人抓取网站数据时, 会使用大名鼎鼎的fiddler软件. 而我们也是利用这个软件进行抓包.

下图就是整个流程, 说白了就是让手机app被我们的电脑代理, 让数据先经过电脑再流转到服务器. 这样我们就能在电脑上抓包手机app的数据. 前提是电脑手机必须在同一个wifi下面

20201212200236-2021-12-30-09-19-16

设置fiddler

20201212200913-2021-12-30-09-19-29 20201212200949-2021-12-30-09-19-42 20201212201017-2021-12-30-09-19-53

找到电脑的ip地址

20201212201257-2021-12-30-09-20-06 20201212201332-2021-12-30-09-20-18 20201212201409-2021-12-30-09-20-31

设置手机

也是就给我们的手机设置一个代理, 让手机访问代理, 这个代理ip就是我们的电脑ip(192.168.31.45), 代理的端口就是fiddler监听的端口(8889)

20201212201716-2021-12-30-09-20-43 20201212201758-2021-12-30-09-20-55 20201212201853-2021-12-30-09-21-09

下载证书

完成上面的步骤后, 我们在手机浏览器访问 <电脑ip>:<fiddler端口> 就会弹出一个需要下载证书的页面 20201212202102-2021-12-30-09-21-23

下载完成后, 手机的所有请求都会流经电脑, 然后发给服务器. 这样我们就完成了抓包的工作.

疑问: 为什么需要在手机下载一个fiddler的证书? 答: 因为现在大部分都是使用https协议, 也就是说有个ssl加密的过程. fiddler如果想抓取数据, 那么它必须能解密ssl. 所以让手机app使用fiddler的安全证书, 这样fiddler就能监控手机app数据. 对于远程服务器来说, fiddler把自己伪装成一个客户端, 使用从手机app获取的数据与远程服务器通信.

还原手机状态

抓包结束后, 需要手动还原手机状态, 方法如下:

  1. 把手动代理给去掉.

总结

经过以上几步, 我们就可以使用电脑抓包手机的所有app数据, 有利于我们编写爬虫. 总的来说就是把我们电脑当成了代理, 让数据先经过代理再去访问远程服务器.

THE END
开启精彩搜索

历史搜索

用户名或邮箱
密码
用户名
密码
重复密码
邮箱
注册
找回密码
注册 登录
邮箱
邮箱验证码
发送验证码
59秒后可重发
新密码
重复密码
请选择支付方式
余额支付

购买将消耗【10

微信支付
微信扫码支付 0 元
[ 04分50秒 ]
请使用微信扫一扫
扫描二维码支付
支付宝支付
支付宝扫码支付 0 元
[ 04分50秒 ]
请使用支付宝扫一扫
扫描二维码支付
已完成支付
未完成支付

请输入验证码

点击验证码可以刷新

你确认吗?

确认

2024年10月1日

新增

新增