Search code examples
androidhttpproxysniffing

How can I connect to a proxy on Android?


I have a Samsung Galaxy S, running on Android 2.2 I want to track all HTTP requests (from both browsers AND apps) with Charles (proxy installed on my computer).

I would like it similar to how it is on the iPhone where you go to settings, wifi, and on the right connection you can select the HTTP proxy settings


Solution

  • You can do it with Wireshark: http://www.wireshark.org/download.html

    Here are instructions for Mac + Android device:

    Launch Terminal and run the following commands:

    cd /dev
    sudo chmod a+r bpf*
    

    Connect to the internet using an Ethernet cable

    Click on the Airport/Wi-Fi icon at the top right of the screen and select Create Network; remember the name you give this network

    Go to System Preferences, open the Sharing pane, highlight (but don’t check) Internet Sharing

    Select Share connection from: Ethernet, To computers using: check AirPort/Wi-Fi

    Click AirPort/Wi-Fi Options, and enter the network name you chose above (it should be displayed automatically, so just click OK)

    Check the Internet Sharing box

    Click Start

    Connect your Android device to the network you just created

    Launch Wireshark

    From the menu, select Capture -> Interfaces. Click on Options next to en1 (or whichever one shows a Wi-Fi icon)

    Click the Capture Filter: button

    If you want, choose one of the filters, such as HTTP TCP Port (80) and click OK

    Click Start