我将如何监控Pokemon Go的Http请求?



我很想看看Pokemon Go提出了什么请求以及响应是什么样子的,类似于在网站上使用chrome开发工具。有什么方法可以像监控网站一样监控 android 应用程序的请求?

其他人已经提到了很好的MITM代理工具——Fiddler,Charles Proxy,Burp和MITM Proxy。但是,Pokemon Go使用Protocol Buffers进行通信,而不是XML,JSON等。这种格式对人类来说更难使用,因为它不显示具有人类可读键或值的数据。如果没有应用和服务器用于解释数据的原始架构 .proto 文件,则必须查看原始数据,并尝试通过执行不同的请求并查看数据如何变化来理解它,以尝试了解不同字段可能表示的内容。然后,您可以自己构造 .proto 文件,以便以人类可读的方式显示数据。

这是我

尝试过几次的路径(虽然不是专门针对口袋妖怪):

  1. 在您的计算机中安装mitmproxy:https://mitmproxy.org/
  2. 在某个端口中启动代理:mitmproxy -p 3128
  3. 在您的设备网络设置中,将其配置为使用代理,并使用手动设置添加计算机的 IP 和启动代理服务器的端口(例如 3128) - 假设您的设备和计算机位于同一 wifi 网络中。
  4. 使用要检查请求的应用
  5. HTTP 请求将显示在 mitmproxy 接口中

这些答案在当时都是完全正确的,但我觉得鉴于一些变化,一些额外的信息是必要的。在 0.31 版本中,Pokemon Go 添加了证书固定,这可以防止基本的 MITM 代理在不执行以下两件事之一来取消固定证书的情况下工作。

  1. 您可以尝试查找已删除证书固定的口袋妖怪GO APK,然后像往常一样执行MITM代理

  2. 您可以使用 xpose 模块(例如 http://repo.xposed.info/module/de.rastapasta.android.xposed.pokemongo)来欺骗

此外,到目前为止,protobuf文件已经相当成功地解码了,像这样的项目有助于使嗅探这样的流量变得相当容易。

是的,您可以让来自设备的所有请求通过PC并列出它们。如果你使用Windows,我建议 http://www.telerik.com/fiddler,适用于Mac和Linux https://www.charlesproxy.com/。

最新更新