mitmproxy is a set of tools that provide an interactive, SSL/TLS-capable intercepting proxy for HTTP/1, HTTP/2, and WebSockets.
The mitmproxy project’s tools are a set of front-ends that expose commonunderlying functionality. When we talk about “mitmproxy” we usually refer to any of the three tools - theyare just different front-ends to the same core proxy.
mitmproxy is an interactive, SSL/TLS-capable intercepting proxy with a console interface for HTTP/1, HTTP/2, and WebSockets.
mitmweb is a web-based interface for mitmproxy.
mitmdump is the command-line version of mitmproxy. Think tcpdump for HTTP.
Distribution packages can be found on themitmproxy website.Development information and our source code can be found in ourGitHub repository.
mitmproxy is a console tool that allows interactive examination andmodification of HTTP traffic. It differs from mitmdump in that all flows arekept in memory, which means that it’s intended for taking and manipulatingsmall-ish samples. Use the?
shortcut key to view, context-sensitivedocumentation from anymitmproxy screen.
mitmweb is mitmproxy’s web-based user interface that allowsinteractive examination and modification of HTTP traffic. Likemitmproxy, it differs from mitmdump in that all flows are kept inmemory, which means that it’s intended for taking and manipulatingsmall-ish samples.
mitmdump is the command-line companion to mitmproxy. It providestcpdump-like functionality to let you view, record, and programmaticallytransform HTTP traffic. See the--help
flag output for completedocumentation.
mitmdump -w outfile
Start up mitmdump in proxy mode, and write all traffic tooutfile.
mitmdump -nr infile -w outfile"~m post"
Start mitmdump without binding to the proxy port (-n
), read all flowsfrom infile, apply the specified filter expression (only match POSTs),and write to outfile.
mitmdump -nC outfile
Start mitmdump without binding to the proxy port (-n
), then replay allrequests from outfile (-C filename
). Flags combine in the obvious way,so you can replay requests from one file, and write the resulting flowsto another:
mitmdump -nC srcfile -w dstfile
See theclient-side replay section for more information.
mitmdump -s examples/simple/add_header.py
This runs theadd_header.py example script, which simply adds a newheader to all responses.
mitmdump -ns examples/simple/add_header.py -r srcfile -w dstfile
This command loads flows fromsrcfile, transforms it according tothe specified script, then writes it back todstfile.