mitmproxy
Interactive HTTPS proxy for intercepting, inspecting, modifying, and replaying HTTP traffic.
Technical Architecture & Overview
mitmproxy intercepts HTTP and HTTPS traffic with three interfaces: a terminal UI, a web UI, and the mitmdump CLI for scripted runs. Python addons rewrite traffic on the fly, and replay modes re-send captured or modified requests. Support covers HTTP/1, HTTP/2, HTTP/3, and WebSockets, and the project is free and open source under the MIT license.
Targeted Technical Use Cases
Scriptable traffic interception where automation matters more than the GUI.
Evaluation & Trade-offs
Core Strengths
- +Python addon API enables custom traffic manipulation.
- +Free and open source under the MIT license.
- +Strong protocol coverage including HTTP/3.
Trade-Offs & Limitations
- -HTTPS decryption requires installing the mitmproxy CA certificate on each client.
- -Applications that use certificate pinning reject mitmproxy certificates unless modified.
Defensive Security Application
Verifying that applications enforce trust boundaries correctly by replaying crafted requests.
Frequently Asked Questions
What is mitmproxy?→
mitmproxy intercepts HTTP and HTTPS traffic with three interfaces: a terminal UI, a web UI, and the mitmdump CLI for scripted runs. Python addons rewrite traffic on the fly, and replay modes re-send captured or modified requests. Support covers HTTP/1, HTTP/2, HTTP/3, and WebSockets, and the project is free and open source under the MIT license.
What is mitmproxy used for?→
Scriptable traffic interception where automation matters more than the GUI.
What are the strengths of mitmproxy?→
- +Python addon API enables custom traffic manipulation.
- +Free and open source under the MIT license.
- +Strong protocol coverage including HTTP/3.
What are the limitations of mitmproxy?→
- +HTTPS decryption requires installing the mitmproxy CA certificate on each client.
- +Applications that use certificate pinning reject mitmproxy certificates unless modified.
How is mitmproxy used defensively?→
Verifying that applications enforce trust boundaries correctly by replaying crafted requests.