====== Introduction ======
The mitmproxy project’s tools are a set of front-ends that expose common underlying functionality.
**mitmproxy** is an interactive man-in-the-middle proxy for HTTP and HTTPS with a console interface.
**mitmdump** is the command-line version of mitmproxy. Think tcpdump for HTTP.
**mitmweb** is a web-based interface for mitmproxy.
Documentation, tutorials and distribution packages can be found on the mitmproxy website.
===== Features =====
* Intercept HTTP & HTTPS 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 <
* Transparent proxy mode on OSX and Linux <
* Make scripted changes to HTTP traffic using Python <
* SSL/TLS certificates for interception are generated on the fly <
* And much, much more… <
====== Links ======
===== General =====
[[https://mitmproxy.org/]]\\
====== Docs ======
[[https://docs.mitmproxy.org/stable/]]\\
[[https://docs.mitmproxy.org/stable/concepts-options/]]\\
[[https://docs.mitmproxy.org/stable/concepts-modes/]]\\
====== Files and Directories ======
===== General Files and Directories =====
^ File or Directory ^ Description ^
| ''~/.mitmproxy/'' | //mitmproxy// configuration directory. |
===== Configuration Files =====
^ File or Directory ^ Description ^
| ''~/.mitmproxy/common.conf'' | The configuration file with options common to all //mitmproxy// command line tools. |
| ''~/.mitmproxy/mitmdump.conf'' | The configuration file with options specific to the //mitmdump// command line tool. |
| ''~/.mitmproxy/mitmproxy.conf'' | The configuration file with options specific to the //mitmproxy// command line tool. |
| ''~/.mitmproxy/mitmweb.conf'' | The configuration file with options specific to the //mitmweb// command line tool. |
====== Getting Help ======
//mitmdump// Manual pages:
user@host:~$ man mitmdump
//mitmproxy// Manual pages:
user@host:~$ man mitmproxy
//mitmweb// Manual pages:
user@host:~$ man mitmweb
Command line help:
user@host:~$ mitmdump --help
user@host:~$ mitmproxy --help
user@host:~$ mitmweb --help
Command line options:
user@host:~$ mitmdump --options
user@host:~$ mitmproxy --options
user@host:~$ mitmweb --options
Interactive help in //mitmproxy//:
?
====== Install ======
To install //mitmproxy// on Debian:
root@host:~$ apt-get -y install mitmproxy
====== Configuration ======
The configuration parameters in the [[#configuration_files|Configuration Files]] use the exact same format as the command line options, documented in the manual page, just without the ''--'' prefix.
Example: Setting the output of all //mitmproxy// command line tools to verbose:
user@host:~$ vi ~/.mitmproxy/common.conf
File contents:
verbose=true
Example: Enabling the event log of the //mitmproxy// command line tool, setting its operation mode to //reverse proxy// and giving the upstream server to connect to as a parameter:
user@host:~$ vi ~/.mitmproxy/mitmproxy.conf
File contents:
eventlog=true
reverse=https://www.bityard.org
====== Usage ======
===== General Usage =====
//mitmdump//:
root@host:~$ mitmdump
//mitmproxy//:
root@host:~$ mitmproxy
//mitmweb//:
root@host:~$ mitmweb
The //mitmweb// command line tool starts a webserver listening at ''http://:8081/'' to which a browser connection should be opened.
===== Command Line Parameters =====
FIXME
===== Navigation =====
FIXME
===== Example Usage =====
FIXME
===== Status Check =====
None
====== Recipies ======
====== Known Issues ======
None