Thursday, January 17, 2013

Monitor HTTP/HTTPS connections on iOS/Android device


This post is basically a guide on how to setup your pc as a proxy to monitor HTTP/HTTPS traffic on an iOS/Android device.

Step 1: Download and install Charles on your pc

http://www.charlesproxy.com/download/latest-release/download.do

You can try the 30 day free trail..

Step 2 :

Check the ip on your pc. Set this as the proxy on your phone, in network settings. Make sure the port is set to 8888 (this is the posrt Charles listens on).

Optional : If you are listening to HTTPS traffic on your phone you need to install the charles certificate on your phone.

see http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/

Step 3 :

Now you can start a recording session in Charles and monitor the web traffic on your phone:) This is an easy way to monitor web traffic from mobile applications.

UPDATE

Since Charles is trial software, I recently switched to using Fiddler2 (Fiddler Web Debugger (v4.4.5.3)).

Setup is similar to Charles but in the case of Fiddler you need to explicitly set permissions in Fiddler allowing remote devices to connect..

Tools -> Fiddler Options -> Connections Tab -> check Allow remote computers to connect :)


1 comment:

  1. +1 for writing.And thanks for sharing...

    Improvement Suggestions:
    [1].
    As a one who don't know what is charlesproxy ,and have some general knowlede in networking have questions. It's better to answer these questions.
    I mean an 'abstract' session about introducing that what is that software does. It's mechanism and how it monitor traffic.

    [2].
    A diagram or packet flow diagram would prefer more. Such a picture worth 1000 words.
    Even experienced reader/code digger would prefer a pictorial representation than verbal text.


    ReplyDelete