List HTTP requests from android phone List HTTP requests from android phone android android

List HTTP requests from android phone


Charles Web Debugging Proxy will allow you to do what you want. It is an HTTP proxy application that runs on Windows, OS X, and Linux.

You will need your phone and computer to be connected to the same LAN, and to adjust your phone's Wi-Fi settings to use a proxy, pointing it to your computer's IP address with port 8888. Then, all web traffic to/from your phone will travel via your computer and be visible in Charles.

You will be able to see the full details of any HTTP requests and responses (URL, headers, body etc.), the only limitation being encrypted traffic, but by installing the Charles SSL certificate on your phone you can access this as well.

Since this is just an HTTP proxy, it doesn't require a rooted device.

The only downside I can see is that it is licensed software ($50US for a single user license), but the 'free trial' does not expire - the app simply closes after it's been open for 30 minutes, if I recall correctly.

For most devices (Android 4.0 upwards I'm guessing), the proxy can be set like this:

  1. Go to Wi-Fi settings
  2. Long press on desired network
  3. Select 'Modify network'
  4. Check 'show advanced options'
  5. Set
    • Proxy: Manual
    • Proxy hostname: {your computer's IP address}
    • Proxy port: 8888
  6. Save


I finally figured it out, and got the API I was interested in. It is done in a few simple steps: Tether your internet connection to your phone, Connect your phone to the newly created wireless ad-hoc network, make wireshark capture your requests.

For tethering you have to set up a wireless network so your phone can connect to it. You do this using CMD, and view network connections in windows. You might also have to open the device manager for troubleshouting. I'll run you through it step by step


1- Start CMD in Admin mode so that it has all the permissions that are needed. Then type the following code (trying to start our hostednetwork):

netsh wlan set hostednetwork mode=allow ssid=networkname key=networkpassnetsh wlan start hostednetwork

if it works, move on to step 2. Otherwise, you'll have some troubleshooting to do. Sadly enough, there is not one easy way to do this. First view your networkconnections, and find your wifi, right click and disable it. Then go to device manager, head over to network adapters, and uninstall everything with virtual in it, these are virtual hosts, which make your CMD requests fail. You can enable your wifi again. Now wait a few minutes, and then try the first part again. If it still doesn't work, reboot your pc, and repeat this step. It seems like a hassle, and it is, but it's the only way i found out to do it.

2- view your network connections and right click on it, choose properties. Now head over to the sharing tab, enable sharing your connection with others. Now look for wifi networks on your phone and select your network name and type your password. (connect to internet with your phone):

You should be able to browse the internet with your phone now. If not, i do not know what to do. Try a browser first to check for your internet connection because some apps are blocked in this setting. This is for security reasons (you wouldn't want someone to raid your banking app).

3- Download wireshark, install it, start capturing. Now make the requests you want to trace on your phone. Then stop capturing. You can now click on protocol, to arrange all the requests, you only have to check HTTP protocol. You can see the url on the right. (checking the HTTP request)


Summary: We made our phone connect to the PC for using the internet. The PC makes all the requests to external servers and sends it results back to the phone. The requests made by the pc (thus both for the pc itself and the phone) can be viewed by wireshark.


ACTUALLY . . .using USB reverse tethering to provide network to phone and running wireshark on pc is probably the easiest way to do this.See here:http://foldingair.blogspot.ie/2013/11/debug-your-android-applications-by.html

  • Disable mobile and wifi network on phone.
  • Connect phone to pc on usb.
  • Enable internet pass-though on pc.
  • In phone network settings enable USB tethering.

I have added a seperate answer because I think this is the easiest and possibly most direct answer to this question. No need for rooting phone/router or installing proxies.

Please note I have not tried this (as I have combination of rooted prones or access to capture from network router) however it looks like a good method. Next time I find myself root/router-less I will be trying it out. Instructions for windows look easier than those for linux.