2012-02-25 00:16:30 +00:00
|
|
|
**mitmproxy** is an SSL-capable man-in-the-middle proxy for HTTP. 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 user interface. Think tcpdump for HTTP.
|
|
|
|
|
|
|
|
Complete documentation and a set of practical tutorials is included in the
|
2012-02-25 00:36:08 +00:00
|
|
|
distribution package, and is also available at mitmproxy.org_.
|
2012-02-25 00:16:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
Features
|
|
|
|
--------
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
- Reverse proxy mode to forward traffic to a specified 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:
|
|
|
|
|
2012-02-25 00:36:08 +00:00
|
|
|
mitmproxy.org_
|
2012-02-25 00:16:30 +00:00
|
|
|
|
|
|
|
Source is hosted on github:
|
|
|
|
|
2012-02-25 00:36:08 +00:00
|
|
|
`github.com/cortesi/mitmproxy`_
|
2012-02-25 00:16:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
Community
|
|
|
|
---------
|
|
|
|
|
|
|
|
Come join us in the #mitmproxy channel on the OFTC IRC network
|
2012-04-09 04:45:42 +00:00
|
|
|
(irc.oftc.net, port 6667).
|
2012-02-25 00:16:30 +00:00
|
|
|
|
|
|
|
We also have a mailing list, hosted here:
|
|
|
|
|
|
|
|
http://groups.google.com/group/mitmproxy
|
|
|
|
|
|
|
|
|
|
|
|
Requirements
|
|
|
|
------------
|
|
|
|
|
2012-02-25 00:36:08 +00:00
|
|
|
* Python_ 2.6.x or 2.7.x.
|
2012-03-11 01:41:03 +00:00
|
|
|
* PyOpenSSL_ 0.12 or newer.
|
|
|
|
* pyasn1_ 0.1.2 or newer.
|
2012-02-25 00:36:08 +00:00
|
|
|
* urwid_ version 0.9.8 or newer.
|
2012-04-03 21:55:14 +00:00
|
|
|
* PIL_ version 1.1 or newer.
|
2012-04-09 03:15:41 +00:00
|
|
|
* lxml_ version 2.3 or newer.
|
|
|
|
|
|
|
|
The following auxiliary components may be needed if you plan to hack on
|
|
|
|
mitmproxy:
|
|
|
|
|
2012-02-25 00:36:08 +00:00
|
|
|
* The test suite uses the pry_ unit testing
|
2012-02-25 00:16:30 +00:00
|
|
|
library.
|
2012-02-25 00:36:08 +00:00
|
|
|
* Rendering the documentation requires countershape_.
|
2012-02-25 00:16:30 +00:00
|
|
|
|
2012-04-09 03:15:41 +00:00
|
|
|
**mitmproxy** is tested and developed on OSX, Linux and OpenBSD. Windows is not
|
|
|
|
supported at the moment.
|
2012-02-25 00:16:30 +00:00
|
|
|
|
|
|
|
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.
|
2012-02-25 00:36:08 +00:00
|
|
|
|
|
|
|
.. _mitmproxy.org: http://mitmproxy.org
|
|
|
|
.. _github.com/cortesi/mitmproxy: http://github.com/cortesi/mitmproxy
|
|
|
|
.. _python: http://www.python.org
|
2012-03-11 01:41:03 +00:00
|
|
|
.. _PyOpenSSL: http://pypi.python.org/pypi/pyOpenSSL
|
|
|
|
.. _pyasn1: http://pypi.python.org/pypi/pyasn1
|
2012-04-03 21:55:14 +00:00
|
|
|
.. _PIL: http://www.pythonware.com/products/pil/
|
2012-04-09 03:15:41 +00:00
|
|
|
.. _lxml: http://lxml.de/
|
2012-02-25 00:36:08 +00:00
|
|
|
.. _urwid: http://excess.org/urwid/
|
|
|
|
.. _pry: http://github.com/cortesi/pry
|
|
|
|
.. _countershape: http://github.com/cortesi/countershape
|