Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How would I monitor Pokemon Go's Http requests?

I would love to see what requests Pokemon Go makes and what the responses look like, similar to using chrome dev tools on a website. Is there any way I can monitor an android app's requests the same way I would monitor a website's?

like image 934
Rob Avatar asked Dec 07 '22 21:12

Rob


2 Answers

Others have already mentioned the good MITM proxy tools for this -- Fiddler, Charles Proxy, Burp, and MITM Proxy. However, Pokemon Go uses Protocol Buffers for communication, not XML, JSON, etc. This format is harder for a human to work with, as it does not show the data with human-readable keys or values. Without the original schema .proto files that the app and server use to interpret the data, you'll have to look at the raw data and try to make sense of it by doing different requests and seeing how the data changes to try to understand what different fields might represent. You can then construct .proto files yourself so the data can be displayed in a human-readable way.

like image 181
Joe Avatar answered Dec 10 '22 13:12

Joe


This is the path I try some times (not specifically to Pokemon, though):

  1. Install mitmproxy in you computer: https://mitmproxy.org/
  2. Start the proxy in some port: mitmproxy -p 3128
  3. In your device network settings, configure it to use a proxy, and with manual settings add the IP of your computer and the port you started the proxy server (e.g. 3128) - assuming your device and computer are in the same wifi network.
  4. Use the app you want to inspect requests
  5. HTTP requests will show up in the mitmproxy interface
like image 36
Filipe Esperandio Avatar answered Dec 10 '22 13:12

Filipe Esperandio