mitmproxy
ActiveOverview
mitmproxy is a free and open-source interactive HTTPS proxy that intercepts, inspects, modifies, and replays web traffic including HTTP/1, HTTP/2, HTTP/3, WebSockets, and other SSL/TLS-protected protocols. It serves as a debugging, testing, privacy measurement, and penetration testing tool for developers and security professionals who need to analyze application traffic at the network and TLS layers. The tool supports both explicit proxy mode (where the client is configured to use the proxy) and transparent mode (where traffic is intercepted without client configuration), making it adaptable to various testing scenarios.
Key Features
- Interactive traffic interception - Capture and inspect HTTP/HTTPS traffic in real-time with a command-line or web interface
- Message modification - Intercept specific messages on-the-fly and modify them before they reach their destination
- Traffic replay - Replay captured requests to clients or servers for testing and debugging
- Message prettification and decoding - Decode and format various message types including HTML, JSON, Protobuf, and other protocols
- Transparent and explicit proxy modes - Support for both transparent interception on the same device and explicit proxy configuration
- Python scripting API - Develop custom modules for fine-grained manipulation of requests and responses at different protocol layers
- Certificate authority management - Install and manage mitmproxy's CA certificate for decrypting TLS-encrypted communications
- macOS application interception - Transparently intercept local macOS applications without manual proxy configuration
Pricing
| Plan | Price | Includes |
|---|---|---|
| Open Source | Free | Full access to all features, command-line interface, web interface, Python API, community support |
Platforms & Requirements
mitmproxy runs on macOS, Windows, and Linux. It can be deployed directly on the host or run within OCI containers. macOS 10.x and later versions include native transparent interception support for local applications. The tool requires configuration of browser or device proxy settings in explicit mode, or firewall rules in transparent mode. Some applications that do not follow system proxy settings may require additional firewall configuration to route traffic through mitmproxy.
Integrations & Ecosystem
- Python API for custom scripting
- YAML configuration file support
- OCI container deployment
- Environment variable configuration for applications
- Firewall rule integration for transparent mode
- Certificate installation via mitm.it portal
- HTTP proxy protocol support
- TLS/SSL protocol support
Alternatives
| App | Difference |
|---|---|
| Burp Suite | Commercial tool with advanced security testing features and a larger feature set, though less flexible for custom scripting |
| Fiddler | Windows-focused proxy debugger with a graphical interface, less suitable for transparent interception and Linux/macOS environments |
| Charles Proxy | Commercial HTTP proxy with a GUI, primarily designed for web debugging rather than penetration testing and security research |
| Wireshark | Network packet analyzer that captures lower-level traffic but lacks the application-layer interception and modification capabilities of mitmproxy |
Reputation
mitmproxy is widely recognized as a flexible and powerful tool for security professionals and developers, particularly valued for its transparent interception capabilities and Python scripting API that enable custom traffic manipulation. The tool is praised for its ease of deployment and straightforward configuration, with strong community support and active development. Some users note that transparent mode can be complex to configure on certain systems and that QUIC protocol support presents challenges due to its UDP-based nature. The project maintains a solid reputation in penetration testing and API testing communities for its balance of accessibility and advanced capabilities.
Sources (8)
- https://www.mitmproxy.org
- https://www.synacktiv.com/en/publications/mitmproxy-for-fun-and-profit-interception-and-analysis-of-application-traffic
- https://docs.mitmproxy.org/stable/overview/getting-started/
- https://www.youtube.com/watch?v=7BXsaU42yok
- https://docs.mitmproxy.org/stable/concepts/options/
- https://www.mitmproxy.org/posts/proxy-macos-applications/
- https://oprea.rocks/blog/quick-tip-using-mitmproxy-for-mobile-testing.html
- https://github.com/mitmproxy/mitmproxy/issues/7231