====== 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