Skip to main content

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.