An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
Go to file
Aldo Cortesi 6175d92583 Minor code cleanup - no need to recreate the master queue. 2011-05-14 12:12:03 +12:00
doc-src Add the 30-second client replay tutorial to the docs. 2011-03-31 11:28:58 +13:00
examples First pass of script hooks for mitmdump. 2011-02-18 12:40:45 +13:00
libmproxy Minor code cleanup - no need to recreate the master queue. 2011-05-14 12:12:03 +12:00
scripts Add a script to generate a contributors list, and use it to make a CONTRIBUTORS file. 2011-03-19 20:34:53 +13:00
test unit test coverage ++ 2011-03-20 18:52:16 +13:00
.gitignore Simple record & playback functionality 2011-02-10 02:59:51 +01:00
CHANGELOG Changelog for 0.4. 2011-03-30 18:27:25 +13:00
CONTRIBUTORS Add a script to generate a contributors list, and use it to make a CONTRIBUTORS file. 2011-03-19 20:34:53 +13:00
LICENSE Initial checkin. 2010-02-16 17:09:07 +13:00
MANIFEST.in Spell-check docs, setup.py fixes, add missing files to manifest. 2011-03-30 12:05:50 +13:00
README.mkd Spell-check docs, setup.py fixes, add missing files to manifest. 2011-03-30 12:05:50 +13:00
mitmdump Add a -n option which tells the tools not to bind a proxy. 2011-05-14 10:44:25 +12:00
mitmproxy Add a -n option which tells the tools not to bind a proxy. 2011-05-14 10:44:25 +12:00
setup.py Spell-check docs, setup.py fixes, add missing files to manifest. 2011-03-30 12:05:50 +13:00
todo Add a stickyauth option. 2011-03-20 17:31:54 +13:00

README.mkd

mitmproxy is an SSL-capable, intercepting 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.

Both tools are fully documentented in the commandline --help flag, and, in the case of mitmproxy, a built-in help page accessible through the ? keyboard shortcut.

Capabilities

  • Intercept HTTP requests and responses and modify them on the fly.
  • Save complete HTTP conversations for later replay and analysis.
  • Replay the client-side of an HTTP conversations.
  • Replay HTTP responses of a previously recorded server.
  • Make scripted changes to HTTP traffic using Python.
  • SSL certificates for interception are generated on the fly.

Download

Releases and rendered documentation can be found on the mitmproxy website:

mitmproxy.org

Source is hosted on github:

github.com/cortesi/mitmproxy

Requirements

  • Python 2.6.x or 2.7.x.
  • openssl. Installed by default on most systems.
  • urwid version 0.9.8 or newer.
  • The test suite uses the pry unit testing library.
  • Rendering the documentation requires countershape.

mitmproxy is tested and developed on OSX, Linux and OpenBSD.

You should also make sure that your console environment is set up with the following:

  • EDITOR environment variable to determine the external editor.
  • PAGER environment variable to determine the external pager.
  • Appropriate entries in your mailcap files to determine external viewers for request and response contents.