IOS – Man in the Middle Network Proxy for iOS that supports SSL

iosNetworkPROXY

I'm trying to do examine some apps and what kind of network traffic they're using on my iPhone.

I've set up Charles (including SSL certificates & provisioning profiles).
Then, I tethered my laptop to my iPad to get a connection, and then shared that internet with my iPhone via WiFi.

For some reason, the apps I'm working with seem to think that they're not online. Safari works with this set up.

What are my options for seamlessly sending network traffic to a Mac for analysis, without jailbreaking?

If it matters, I'm running iOS 5.1 on an iPhone 4 and Mac OS X Lion on the white plastic unibody (Mid-2010) MacBook.

Best Answer

Use mitmproxy. It's proven for this sort of thing. A while back there was some uproar about the app Path uploading the adressbook to its servers. This was what was used to discover it. The guy wrote up how he used it and that's a nice intro on how to install and use mitmproxy.

enter image description here

From the site :

mitmproxy is an SSL-capable man-in-the-middle HTTP proxy. It provides a console interface that allows traffic flows to be inspected and edited on the fly.

mitmdump is the command-line version of mitmproxy, with the same functionality but without the frills. Think tcpdump for HTTP. Features

  • Intercept and modify HTTP traffic on the fly
  • Save HTTP conversations for later replay and analysis
  • Replay both HTTP clients and servers
  • Make scripted changes to HTTP traffic using Python
  • SSL interception certs generated on the fly