爬取APP

作者: 牛忙啊 | 来源:发表于2019-04-02 15:00 被阅读0次

    开始讲爬取APP的相关工作,本文先将理论,下一篇文章讲实战。

    qingpingshan dot com slash m slash view.php?aid 等于 383988

    首先,给出答案: APP的数据肯定是可以爬取 ,只是抓取APP数据和抓取网页数据时使用的工具和方法有一定的不同。

    我在某网站看到一位作者分析研究了300个APP抓包,得出如下结论:

    50%的APP,通过抓包软件就可以分析出抓取参数并抓取到信息,这种往往比网站的要简单,而且反爬也没有网站多。

    30%的APP,需要适当的反编译,分析出加密算法并抓取到信息。

    10%的APP,已经加固,需要脱壳,然后反编译,分析出加密算法并抓取到信息。

    10%的APP,通过各式各样的签名、证书、设备绑定等方法,隐藏加密算法。

    总的来说,没有不能抓取的APP,只是时间成本的问题。

    我们知道抓取网页数据可以直接在浏览器上查看它的HTTP请求,通过解析HTML结构,或者通过获取接口,甚至需要通过模拟访问网页的方式获取动态的数据。那么首先需要解决的问题就是如何获取APP的请求数据?答案是APP的请求数据是需要通过截获数据传输包的形式进行抓取,比如使用Fiddler截获HTTP、HTTPS的数据,使用Wireshark获取更多的封包信息(Wireshark是一个网络封包分析软件)。

    —般来说,使用Wireshark+Fiddler获取软件大部分的请求数据是没有多大问题的,但是很难获取使用SSL/TLS等加密手段加密过的网络数据。

    下面讲一下要抓取一个APP的数据的流程:

    假设要抓简书APP的数据,请求数据主要有HTTP/HTTPS两个协议类型。这里使用Fiddler软件就可以,HTTP请求的是比较容易获取,HTTPS请求的数据需要在Fiddler上安装证书,安装过程很简单(后面章节会讲如何安装)。

    操作完之后,我们在手机上简书APP的所有操作(请求)的请求数据都会显示在Fiddler上。包括HTTPH/TTPS协议数据都能获得到。

    当然,在必要的时候也可以使用Wireshark获得简书APP的TCP数据。

    通过以上操作可以取得大部分的数据,剩下的就是分析数据的工作。

    拿到这些原始数据之后,我们还需要进行大量的清洗工作,把一些干扰的请求数据排除。

    找出获取我们想要获取的数据的接口。

    当我们拿到这个接口之后,大部分的情况下通过这个接口就可以直接拿到数据,但是也有很多APP也会对接口做一些加密,主要也是在一个参数上做加密。

    要做爬虫这个工作,对于前后端都需要懂。

    对于前端,我们在爬取网站数据时已经知道了。

    对于后端,逆向分析、APP脱壳、通信协议等也是需要掌握的。

    当然,很多东西也不是一撮而就的,需要在不断的实战中提升自己通关的技能(对于反爬虫的人来说就是设关卡的技能)。

    Wireshark和Fiddler简单介绍:

    Wireshark

    Wireshark的前身是Ethereal,2006年因为其创始人Gerald Combs的跳槽而改名为Wireshark。它是一个跨平台的软件,可以在unix系列、linux、mac os、windows等多个平台上面进行网络协议抓包工作。同时他也是一个开源软件,有兴趣的话可以下载源码深入了解。更多内容可以进官网查看 https://www.wireshark.org

    Fiddler

    Fiddler的定位是网页调试工具,能记录所有客户端和服务器的HTTP和HTTPS请求,允许你监视,设置断点,甚至修改输入输出数据。我们还可以为Fiddler安装自己所需的插件,从而更好的利用Fiddler的强大功能。更多内容可以进官网查看 https://www.telerik.com/fiddler

    相关文章

      网友评论

          本文标题:爬取APP

          本文链接:https://www.haomeiwen.com/subject/ehgipqtx.html