mitmproxy

mitmproxy: The Moment You Realize Wireshark Isn’t Enough There’s a point in every engineer’s life when packet capture just isn’t cutting it. You’ve got an app making API calls in the background, or a client that misbehaves only when it thinks no one’s watching. That’s where mitmproxy comes in — and honestly, once you’ve used it, it’s hard to go back. It’s not just a proxy. It’s a window into real-time HTTP and HTTPS traffic, with tools to pause, modify, replay, and break things — intentionally.

OS: Windows / Linux / macOS
Size: 35 MB
Version: 12.1.1
🡣: 39,886 stars

mitmproxy: The Moment You Realize Wireshark Isn’t Enough

There’s a point in every engineer’s life when packet capture just isn’t cutting it. You’ve got an app making API calls in the background, or a client that misbehaves only when it thinks no one’s watching. That’s where mitmproxy comes in — and honestly, once you’ve used it, it’s hard to go back.

It’s not just a proxy. It’s a window into real-time HTTP and HTTPS traffic, with tools to pause, modify, replay, and break things — intentionally. Perfect for debugging weird clients, testing edge cases, or figuring out what your app is quietly doing behind your back.

What Makes mitmproxy So Useful

Feature | How That Actually Helps
——–|———————————————————————-
Man-in-the-Middle TLS | See inside encrypted requests without guesswork
Terminal UI | Instant view of traffic — no waiting, no clutter
Web Dashboard | Prefer a browser? Just run `mitmweb` and it’s all there
Python Scripting | Write quick scripts to rewrite headers, stub responses, log payloads
Request Replay | Resend traffic to test how the server reacts — no clicking needed
Built-in Decompression | No more decoding gzip by hand — it just works
Selective Filtering | Focus on one endpoint, one verb, one host — not the whole flood
Cert Installer | Works with iOS, Android, and weird devices once the cert is trusted

Who Reaches for mitmproxy

– Developers chasing ghost bugs in mobile apps
– QA engineers trying to reproduce a failed request without redoing the whole flow
– Pentesters watching what closed-source apps send home
– Network admins catching unexpected outbound traffic
– Anyone who’s ever muttered, “what the hell is this app actually doing?”

mitmproxy is especially good when curl’s too basic, and Wireshark’s too noisy. It’s that perfect middle ground.

Getting Started Fast

1. Install via:
– macOS: brew install mitmproxy
– Linux: pip install mitmproxy
– Windows: choco install mitmproxy or download binary

2. Run it:
mitmproxy

3. Set your system or device to use 127.0.0.1:8080 as its proxy

4. Visit http://mitm.it to grab the root certificate for TLS traffic

5. Watch the traffic roll in — inspect, edit, drop, replay.

And if you’re more visual:
mitmweb

That’ll launch the web UI with a live dashboard. No extra setup.

Requirements

– OS: Windows, macOS, Linux
– Interface: Terminal (TUI), Web UI, Python scripting
– Extras: Root certificate install needed for TLS visibility
– Footprint: Lightweight; works fine on a laptop or dev VM
– Usage: Great for HTTP(S), not made for raw TCP or weird low-level stuff

Final Thought

This isn’t a shiny corporate monitoring suite. mitmproxy is for engineers — folks who get their hands dirty and want to see exactly what goes in and out. It’s minimal, powerful, and weirdly satisfying to use. When tools get too abstract, mitmproxy brings you right back to what matters: the wire.

📦 Website: https://mitmproxy.org
📘 Docs: https://docs.mitmproxy.org

Other articles

Submit your application