我将如何监控 Pokemon Go 的 Http 请求?
How would I monitor Pokemon Go's Http requests?
我很想看看 Pokemon Go 发出了哪些请求以及响应是什么样的,类似于在网站上使用 chrome 开发工具。有没有什么方法可以像监控网站一样监控 android 应用程序的请求?
这是我尝试过几次的路径(虽然不是专门针对口袋妖怪):
- 在你的电脑上安装 mitmproxy:https://mitmproxy.org/
- 在某个端口启动代理:
mitmproxy -p 3128
- 在您的设备网络设置中,将其配置为使用代理,并通过手动设置添加您计算机的 IP 和您启动代理服务器的端口(例如 3128)- 假设您的设备和计算机在同一个wifi 网络。
- 使用您要检查请求的应用程序
- HTTP 请求将显示在 mitmproxy 界面中
是的,您可以让来自您设备的所有请求都通过您的 PC 并列出它们。如果你使用 Windows 我建议 http://www.telerik.com/fiddler, for Mac and Linux https://www.charlesproxy.com/.
其他人已经提到了用于此的良好 MITM 代理工具 -- Fiddler, Charles Proxy, Burp, and MITM Proxy. However, Pokemon Go uses Protocol Buffers 用于通信,而不是 XML、JSON 等。这种格式对人类来说更难工作with,因为它不显示带有人类可读键或值的数据。如果没有应用程序和服务器用来解释数据的原始模式 .proto 文件,您将不得不查看原始数据并尝试通过执行不同的请求来理解它并查看数据如何变化以尝试理解什么不同的领域可能代表。然后您可以自己构造 .proto 文件,以便可以以人类可读的方式显示数据。
这些答案在当时都是完全正确的,但我觉得鉴于一些变化,一些额外的信息是必要的。在 0.31 版中,Pokemon Go 添加了证书固定,这可以防止基本的 MITM 代理在不执行以下两个操作之一来取消固定证书的情况下工作。
您可以尝试查找已删除证书固定的 Pokemon GO APK,然后像往常一样执行 MITM 代理
你可以使用像http://repo.xposed.info/module/de.rastapasta.android.xposed.pokemongo这样的xposed模块来欺骗
此外,截至目前,protobuf 文件已相当成功地解码,this one 等项目有助于使嗅探此类流量变得相当容易。
我很想看看 Pokemon Go 发出了哪些请求以及响应是什么样的,类似于在网站上使用 chrome 开发工具。有没有什么方法可以像监控网站一样监控 android 应用程序的请求?
这是我尝试过几次的路径(虽然不是专门针对口袋妖怪):
- 在你的电脑上安装 mitmproxy:https://mitmproxy.org/
- 在某个端口启动代理:
mitmproxy -p 3128
- 在您的设备网络设置中,将其配置为使用代理,并通过手动设置添加您计算机的 IP 和您启动代理服务器的端口(例如 3128)- 假设您的设备和计算机在同一个wifi 网络。
- 使用您要检查请求的应用程序
- HTTP 请求将显示在 mitmproxy 界面中
是的,您可以让来自您设备的所有请求都通过您的 PC 并列出它们。如果你使用 Windows 我建议 http://www.telerik.com/fiddler, for Mac and Linux https://www.charlesproxy.com/.
其他人已经提到了用于此的良好 MITM 代理工具 -- Fiddler, Charles Proxy, Burp, and MITM Proxy. However, Pokemon Go uses Protocol Buffers 用于通信,而不是 XML、JSON 等。这种格式对人类来说更难工作with,因为它不显示带有人类可读键或值的数据。如果没有应用程序和服务器用来解释数据的原始模式 .proto 文件,您将不得不查看原始数据并尝试通过执行不同的请求来理解它并查看数据如何变化以尝试理解什么不同的领域可能代表。然后您可以自己构造 .proto 文件,以便可以以人类可读的方式显示数据。
这些答案在当时都是完全正确的,但我觉得鉴于一些变化,一些额外的信息是必要的。在 0.31 版中,Pokemon Go 添加了证书固定,这可以防止基本的 MITM 代理在不执行以下两个操作之一来取消固定证书的情况下工作。
您可以尝试查找已删除证书固定的 Pokemon GO APK,然后像往常一样执行 MITM 代理
你可以使用像http://repo.xposed.info/module/de.rastapasta.android.xposed.pokemongo这样的xposed模块来欺骗
此外,截至目前,protobuf 文件已相当成功地解码,this one 等项目有助于使嗅探此类流量变得相当容易。