APP爬虫:使用mitmproxy抓包手机APP的配置步骤

1. Mitmproxy 简介

  • Mitmproxy本意为中间人攻击代理;
  • 在爬虫中主要用作抓取 http_connect、request、response 等数据;
  • mitmproxy官方文档地址:https://docs.mitmproxy.org/stable/

【提示】
Mitmproxy 相较于 fillder、wireshark 的不同:
-- mitmproxy 不仅可以截获请求、帮助开发者查看、分析、更可以通过自定义脚本进行二次开发,修改爬虫行为

2. 配置 Mitmproxy

2.1 安装 mitmproxy

brew install mitmproxy

安装好后检查安装情况。

mitmdump --version

得到下图所示内容,表示安装成功。


查看版本号、支持的Python版本、OpenSSL协议等

2.2. 启动 mitmproxy

mitmweb    # mitmproxy有三种启动方式,此处使用的命令可以提供一个web交互界面

【提示】
mitmproxy有三种启动命令:
(1) mitmweb
-- 提供一个web界面;
-- 代理端口:绑定了 *:8080作为代理端口;
-- 交互界面地址:localhost:8081;
(2) mitmproxy
-- 提供命令行界面;
-- 可以通过命令过滤请求;
(3) mitmdump
-- 【TODO】

得到下图,表示启动成功,端口号默认为 8080。


mitmproxy服务器绑定了 *:8080作为代理端口

此时,浏览器自动打开下图页面,这是 mitmproxy 提供的 web 交互界面。


上图为mitmproxy自动打开的web交互界面

2.3. 安装CA证书

第一步,将电脑和手机连到同一个 WiFi 中;

第二步,获取本机的内网IP地址;

ifconfig

得到电脑本机的内网IP地址为 192.168.1.102。


WeChatd8d30030a2bf45bb1071f0f136698471.png

第三步,给手机WiFi配置代理

  • 服务器地址为电脑内网IP地址,端口为8080


    服务器地址为电脑内网IP地址,端口为8080

    第四步,安装证书

使用手机浏览器访问 mitm.it,得到下图。

选择自己的手机系统

我的手机为iPhone,点击 Apple 后得到下图。

31543663396_.pic.jpg

点击允许,开始安装。

安装完成后,得到已验证的提示。

61543663399_.pic.jpg

2.4. 开启证书

手机依次点击:设置 -> 通用 -> 关于本机 -> 证书信任设置,开启 mitmproxy 证书。

微信图片编辑_20200207211352.jpg

注意

  • 有小伙伴反馈,安卓 7.0 以上版本不再信任证书,需要将证书安装到 root 路径下,这导致数据抓包不成功、手机应用网络不通。
  • 博主还没有做过研究,想提示一下安卓 7.0 用户如果遇到这类问题,可以尝试使用模拟器降低安卓版本,看是否能解决问题,有时间的话麻烦把结果给博主反馈一下,谢谢!

2.5 配置完成

此时,mitmweb 页面出现下图内容,红框中的为 mitmproxy 抓取的手机的请求。


红框中的为 mitmproxy 抓取的手机的请求

到这里,就成功完成了 mitmproxy配置。

3. mitmproxy 获取APP数据

参见本博另一篇文章: APP爬虫:mitmproxy 获取 京东APP 数据

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容