我将如何监控 Pokemon Go 的 Http 请求?
Posted
技术标签:
【中文标题】我将如何监控 Pokemon Go 的 Http 请求?【英文标题】:How would I monitor Pokemon Go's Http requests? 【发布时间】:2016-11-12 19:16:50 【问题描述】:我很想看看 Pokemon Go 提出什么请求以及响应是什么样的,类似于在网站上使用 chrome 开发工具。有什么方法可以像监控网站一样监控安卓应用的请求?
【问题讨论】:
【参考方案1】:其他人已经为此提到了良好的 MITM 代理工具 -- Fiddler、Charles Proxy、Burp 和 MITM Proxy。但是,Pokemon Go 使用Protocol Buffers 进行通信,而不是 XML、JSON 等。这种格式对于人类来说更难使用,因为它不显示具有人类可读键或值的数据。如果没有应用程序和服务器用来解释数据的原始架构 .proto 文件,您将不得不查看原始数据并尝试通过执行不同的请求来理解它,并查看数据如何更改以尝试理解什么不同的领域可能代表。然后,您可以自己构建 .proto 文件,以便以人类可读的方式显示数据。
【讨论】:
【参考方案2】:这是我尝试过几次的路径(但不是专门针对 Pokemon):
-
在您的计算机中安装 mitmproxy:https://mitmproxy.org/
在某个端口启动代理:
mitmproxy -p 3128
在您的设备网络设置中,将其配置为使用代理,并通过手动设置添加您的计算机的 IP 和您启动代理服务器的端口(例如 3128) - 假设您的设备和计算机在同一个 wifi 网络中.
使用您要检查请求的应用
HTTP 请求将显示在 mitmproxy 界面中
【讨论】:
附录:开启mitmproxy后可能需要访问神奇网站“mitm.it”查看HTTPS加密流量。【参考方案3】:这些答案在当时都是完全正确的,但我觉得考虑到一些变化,需要提供一些额外的信息。在 0.31 版中,Pokemon Go 添加了证书固定,这可以防止基本 MITM 代理在不执行以下两种操作之一来取消固定证书的情况下工作。
您可以尝试查找已移除证书固定的 Pokemon GO APK,然后照常执行 MITM 代理
您可以使用诸如http://repo.xposed.info/module/de.rastapasta.android.xposed.pokemongo之类的xposed模块来欺骗
此外,截至目前,protobuf 文件已被相当成功地解码,this one 等项目有助于让嗅探此类流量变得更加容易。
【讨论】:
【参考方案4】:是的,您可以让来自您设备的所有请求都通过您的 PC 并列出。如果你使用 Windows,我建议 http://www.telerik.com/fiddler,对于 Mac 和 Linux https://www.charlesproxy.com/。
【讨论】:
以上是关于我将如何监控 Pokemon Go 的 Http 请求?的主要内容,如果未能解决你的问题,请参考以下文章
具有地理位置的混合应用程序开发,增强现实(如 pokemon go)。是不是可以?
大华简报:2016澳唱片工业协会奖揭晓 Flume横扫5奖/Pokemon GO感恩节百变怪开跑