作者:王涛
本文主要介绍了移动端爬虫的工具与方法,作为一个入门的大纲。没有详细介绍的也给出了本人学习过程中借鉴的资料的链接,适合对移动端爬虫感兴趣的同学入门。
一、抓包模拟
基本原理(中间人攻击)
中间人攻击:在中间人攻击中,攻击主机通常截断客户端和服务器的加密通信。攻击机以自己的证书替代服务器发给客户端的证书。通常,客户端不会验证该证书,直接接受该证书,从而建立起和攻击机的安全连接。这样,客户端发送的数据,都会被攻击机获取和解密。
工具介绍
| Fiddler | charles | anyproxy | |
|---|---|---|---|
| 手机安装证书 | 需要 | 需要 | 需要 |
| 支持抓取 | http/websocket/https(单向认证) | http/websocket/https(单向认证) | http/websocket/https(单向认证) |
| 支持平台 | win/mac/linux(受限) | win/mac/linux | win/mac/linux |
| 脚本开发 | Jscript.net | 未知 | js |
具体的报文走向如下
手机上的配置方法(以Fiddler为例,其它类似)
-
准备工作:手机与PC在同一个局域网内(可以连同一个WIFI,或者电脑插入移动WIFI)
-
配置步骤见下:
参考链接: https://blog.csdn.net/gld824125233/article/details/52588275
==特别说明,抓不到报文可能的情况==
1、单向双向 https
https的抓包原理是基于中间人攻击的方式,但是这种方式只适用于单向认证的方式,也就是只是客户端去检验服务端的证书。而双向认证的Https,服务端还会校验客户端的证书。https握手过程如下:
如何检测是双向认证还是单向认证,可以通过wireshark抓包看双方的协商过程,证书的交换是否是双向的。
解决办法:暂时没有好的办法解决这个抓包的问题
