Skip to content

An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.

License

Notifications You must be signed in to change notification settings

ElNiak/mitmproxy

 
 

Repository files navigation

mitmproxy

Continuous Integration Status Codacy Badge autofix.ci: enabled Coverage Status Latest Version Supported Python versions

mitmproxy is an interactive, SSL/TLS-capable intercepting proxy with a console interface for HTTP/1, HTTP/2, and WebSockets.

mitmdump is the command-line version of mitmproxy. Think tcpdump for HTTP.

mitmweb is a web-based interface for mitmproxy.

Updated version from the base project

Motivation: The original project does not support QUIC protocol at transport layer (focus on HTTP3/HTTP over QUIC). This project is an attempt to add support for QUIC protocol in mitmproxy with a transport layer focus. We need to intercept QUIC traffic at the transport layer to analyze the QUIC decrypted packets.

Modifications to the original project are in the following files:

  1. mitmproxy/proxy/layers/quic/_stream_layers.py:

    • Added a new class new connection to BinFuzz Java project.
    • update the _end_packet method of aioquic to handle QUIC packets (now new_end_packet). Now the packet are send to the Java fuzzer. Once the fuzzer is done, the packet is sent to the original method, encrypted and sent to the client/server.
    • update datagrams_to_send method to handle QUIC packets (now new_datagrams_to_send).
  2. mitmproxy/proxy/layers/quic/_client_hello_parser.py:

    • update receive_datagram method to handle QUIC packets (now new_receive_datagram). To see decrypted packets.

Installation

The installation instructions are here. If you want to install from source, see CONTRIBUTING.md.

Documentation & Help

General information, tutorials, and precompiled binaries can be found on the mitmproxy website.

mitmproxy.org

The documentation for mitmproxy is available on our website:

mitmproxy documentation stable mitmproxy documentation dev

If you have questions on how to use mitmproxy, please use GitHub Discussions!

mitmproxy discussions

Contributing

As an open source project, mitmproxy welcomes contributions of all forms.

Dev Guide

Updated version from the base project

About

An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 81.6%
  • TypeScript 13.3%
  • JavaScript 3.6%
  • Less 0.9%
  • HTML 0.3%
  • Kaitai Struct 0.1%
  • Other 0.2%