专栏首页Python编程与实战当你写爬虫抓不到APP请求包的时候该怎么办?【初级篇】

当你写爬虫抓不到APP请求包的时候该怎么办?【初级篇】

前言

文中均为 Android 环境下,实战中可以尝试降低 APP 版本或是尝试抓一下 iOS 版 APP 的包(如果有),但不建议太过依赖 iOS 版 APP

背景:

在逛v2ex的时候看到一个这样的求助帖:

最近在抓包一个 APP:淘最热点 一款新闻 APP 抓不到新闻列表内容 只抓到了新闻图片 其他同类型的 APP 也抓过 没出现这种问题 用的 charles 抓的,证书设置没问题 不知道是不是这个 APP 的新闻列表走了其他协议 有大佬帮忙抓下看看嘛。

分析:

看起来这位同学是遇到了一个APP的请求不走代理,以至于出现抓包时看不到关键的请求的问题,我们先来把这个APP装上,抓个包看看具体情况吧。

抓到的包里确实没有看到新闻列表的请求,除了图中的这些部分以外全都是图片以及CONNECT请求。

Tips:Fiddler在这个地方可以移除图片、CONNECT类型的请求等干扰项哦。

如果抓不到包的话就没法继续写爬虫了,那么这种情况应该怎么办呢?

不要慌,看完这篇文章后你就能轻松通杀90%以上无法通过直接设置系统代理就抓到包的APP。

这里说两种非常简单的方案吧:

1、使用强制全局代理

这里选用Proxy Droid这个工具来实现强制全局代理的效果。注意:需要有ROOT权限才能使用

Proxy Droid的原理是通过iptables将所有TCP连接重定向到代理服务器上,强制性地让APP的HTTP请求通过代理。

在安装Proxy Droid时可以选择clone一份GitHub仓库的代码然后自己编译安装,也可以选择直接在应用商店下载安装,推荐在GooglePlay上下载。

在其他应用商店比如UpToDown和ApkHere上也可以下载到。(安装完之后记得要给它ROOT权限)

使用方法很简单,设置好系统代理后打开Proxy Droid并设置好代理服务器的IP和端口,然后点击开启按钮。

此时再抓包就能抓到这个APP的列表页请求了。

2、使用V**抓包

如果使用强制全局代理方案的时候发现APP内请求速度明显变慢很多或是完全无效的话,可以尝试一下使用V**抓包,这里使用Packet Capture来实现。注意:这个APP不需要ROOT权限

Packet Capture的原理是在本地创建一个V**,使所有请求都从V**中流过,从而实现不适用代理抓包的效果。(这个APP不是开源的,且处理部分都是调用的so库,APP本身只是一个壳而已,想要看代码的话需要有一定的Android逆向知识和经验)

因为没有开源,所以这个APP只能在应用商店里下载,推荐在GooglePlay上下载,酷安也是有的。

界面展示:

Tips:使用Packet Capture抓包时可以只看某个APP的请求,设置方式如下:

点击图中画框的图标,会出现一个搜索界面,输入你要抓包的APP名并点击一下就会开始抓包了。

会过滤掉其他无关APP的请求,只保留你想要的这一个APP的。

那么我们来试试它的效果吧,打开抓包后,在淘最热点的新闻列表里随便翻几下页。

然后切回Packet Capture。

可以看到已经抓到很多请求包了。

找一个大小比平均值小的点进去看看(因为这里有图片,一般缩略图的大小和来源都比较相似,排除掉这些就是需要的那个API的请求了)。

轻松地抓到了它的列表页请求。

不过Packet Capture的缺点也很明显,因为只有手机上的APP,并且没有能从PC上连接的工具或接口。

所以如果被抓包的APP在短时间内发出的请求过多,想要找到需要的那一个就是一件很令人头疼的事情了。

好了,学会了这两招的你,现在可以通杀90%以上抓不到包的APP了。

作者:Loco 来源:知乎

本文分享自微信公众号 - Python编程与实战(pthon1024),作者:Loco

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • APP逆向神器之Frida【Android初级篇】

    说到逆向APP,很多人首先想到的都是反编译,但是单看反编译出来的代码很难得知某个函数在被调用时所传入的参数和它返回的值,极大地增加了逆向时的复杂度,有没有什么办...

    Python编程与实战
  • Flask 高并发部署方案详细教程!

    虽然标题写的是 Flask,但是下面这个教程不仅仅只适用于 Flask, 还适用于其他Python web 框架,记得帮忙点赞!

    Python编程与实战
  • 全面拥抱 FastApi — 多应用程序项目结构规划

    FastAPI最近比较火,自从看到这款框架后就一直在关注着。据官方文档上的介绍它是一个并发性可以和 NodeJS 以及 Go 相媲美的 web 框架,具有强大的...

    Python编程与实战
  • 提供APP开发技术与提供APP开发服务还真不是一回事?

    现如今APP开发早已被大家熟悉了解,这是好事,让更多的人懂APP。但我们发现一个奇怪的事情,西安APP开发公司在不断增加,随后又很快消失。这是什么原因呢?

    西安弈聪软件公司
  • APP加固方案需稳定与安全并重

    很多开发者没有意识到APP的安全隐患可能会严重损害他们的利益,加固可以帮助他们规避很多风险;

    腾讯云@移动安全
  • 小程序发展解决了什么问题?

    对于app,一般用户都会安装这些比较常用,比如微信、支付宝,还有一个购物APP、一个地图、一个游戏,而那些使用频率低却又是刚需的长尾APP的处境就非常尴尬。用户...

    微宝阁
  • 一个好的新闻App,需要...

    单平台的APP必定让企业舍弃用户,跨平台才是王道。对于中小企业来说,开发自己的APP就意味着需要配置IOS和android的程序员,根据开发难度需要的人员数量不...

    齿轮易创说互联网
  • 怎样让你的移动APP人尽皆知?

     一、狠抓实用性,多关注用户的生活细节。   从用户的生活细节着手,发现未被满足的需求,再尝试植入产品。如星巴克推出的EarlyBird,下载后可以设定时间提醒...

    人称T客
  • 看手机APP大数据如何解析中国女性汽车消费者

    奥美中国与易观国际日前联合发布了调研报告《新手相之捕获女车主》,从208万女性样本中进行APP数据分析,描绘了一组中国女性汽车消费者的人物画像。 中国已经成为不...

    小莹莹
  • 程序媛爬取了 5 个 APP 的 4220 个数据,解读过去的一年到底过得怎么样!

    2018年刚刚过去了,在这2019年的开始,我要以一个数据分析er的身份通过我记录了一整年的5个APP,来看看我这一年到底过得怎么样!

    CDA数据分析师

扫码关注云+社区

领取腾讯云代金券