<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> <link href="01-bootstrap.min.css" type="text/css" rel="StyleSheet"/> <link href="02-docstyle.css" type="text/css" rel="StyleSheet"/> <link href="syntax.css" type="text/css" rel="StyleSheet"/> <title>mitmproxy 0.9 - Overview</title></head><body><div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </a> <a class="brand" href="index.html">mitmproxy 0.9 docs</a> </div><!--/.nav-collapse --> </div> </div> </div> <div class="container"> <div class="row"> <div class="span3"> <div class="well sidebar-nav"> <ul class="nav nav-list"> <li><a href="index.html">Introduction</a></li> <li><a href="install.html">Installation</a></li> <li><a href="howmitmproxy.html">How mitmproxy works</a></li> <li class="nav-header">Tools</li> <li><a href="mitmproxy.html">mitmproxy</a></li> <li><a href="mitmdump.html">mitmdump</a></li> <li class="nav-header">Features</li> <li><a href="features/anticache.html">Anticache</a></li> <li><a href="features/clientreplay.html">Client-side replay</a></li> <li><a href="features/filters.html">Filter expressions</a></li> <li><a href="features/proxyauth.html">Proxy Authentication</a></li> <li><a href="features/replacements.html">Replacements</a></li> <li><a href="features/serverreplay.html">Server-side replay</a></li> <li><a href="features/setheaders.html">Set Headers</a></li> <li><a href="features/sticky.html">Sticky cookies and auth</a></li> <li><a href="features/reverseproxy.html">Reverse proxy mode</a></li> <li><a href="features/upstreamcerts.html">Upstream Certs</a></li> <li class="nav-header">Installing Certificates</li> <li><a href="ssl.html">Overview</a></li> <li><a href="certinstall/firefox.html">Firefox</a></li> <li><a href="certinstall/osx.html">OSX</a></li> <li><a href="certinstall/windows7.html">Windows 7</a></li> <li><a href="certinstall/ios.html">IOS</a></li> <li><a href="certinstall/ios-simulator.html">IOS Simulator</a></li> <li><a href="certinstall/android.html">Android</a></li> <li class="nav-header">Transparent Proxying</li> <li class="active"><a href="transparent.html">Overview</a></li> <li><a href="transparent/linux.html">Linux</a></li> <li><a href="transparent/osx.html">OSX</a></li> <li class="nav-header">Tutorials</li> <li><a href="tutorials/30second.html">Client playback: a 30 second example</a></li> <li><a href="tutorials/gamecenter.html">Setting highscores on Apple's GameCenter</a></li> <li class="nav-header">Scripting mitmproxy</li> <li><a href="scripting/inlinescripts.html">Inline Scripts</a></li> <li><a href="scripting/libmproxy.html">libmproxy</a></li> <li class="nav-header">Hacking</li> <li><a href="dev/testing.html">Testing</a></li> </ul> </div> </div> <div class="span9"> <div class="page-header"> <h1>Overview</h1> </div> <p>When a transparent proxy is used, traffic is redirected into a proxy at the network layer, without any client configuration being required. This makes transparent proxying ideal for those situations where you can't change client behaviour - proxy-oblivious Android applications being a common example.</p> <p>To set up transparent proxying, we need two new components. The first is a redirection mechanism that transparently reroutes a TCP connection destined for a server on the Internet to a listening proxy server. This usually takes the form of a firewall on the same host as the proxy server - <a href="http://www.netfilter.org/">iptables</a> on Linux or <a href="http://en.wikipedia.org/wiki/PF_(firewall)">pf</a> on OSX. When the proxy receives a redirected connection, it sees a vanilla HTTP request, without a host specification. This is where the second new component comes in - a host module that allows us to query the redirector for the original destination of the TCP connection.</p> <p>At the moment, mitmproxy supports transparent proxying on OSX Lion and above, and all current flavors of Linux.</p> </div> </div> <hr> <footer> <p>© mitmproxy project, 2013</p> </footer> </div> </body></html>