⚡ 59 Entwickler-Tools, immer aktuell — neue Upstream-Releases landen innerhalb von Stunden in apt. Discord beitreten

📅 Ab ist für den apt-Mirror ein Abo erforderlich. Preise ansehen · 🆓 Es gibt einen für immer kostenlosen Spiegel

🕵️ Neuestes mitmproxy unter Debian installieren

Ein interaktiver, TLS-fähiger abfangender HTTP-Proxy

Neueste Version: 12.2.3 · aktualisiert 2026-09-29
QuelleVersion
deb.griffo.io12.2.3 ✅
Offizielles Debian🚫 nicht paketiert
← Zurück zur Startseite
📌 Installation auf einer bestimmten Version? Debian 12 (bookworm) · Debian 13 (trixie) · Debian 14 (forky) · Debian Sid

Was ist mitmproxy?

mitmproxy ist ein interaktiver, TLS-fähiger abfangender HTTP-Proxy für Penetrationstester und Softwareentwickler. Richte einen Browser, ein Smartphone, ein CLI oder einen ganzen Container darauf aus, und jede Anfrage und jede Antwort läuft dort durch, wo du sie sehen kannst: Header, Bodys, Zeiten, TLS-Details. Du kannst eine Anfrage mitten im Flug anhalten, bearbeiten und weiterschicken, sie hundertmal wiederholen oder den Verkehr mit ein paar Zeilen Python automatisch umschreiben. Er spricht HTTP/1, HTTP/2, HTTP/3, WebSocket und rohes TLS und läuft als regulärer, transparenter, Reverse-, Upstream-, SOCKS5-, WireGuard- oder lokaler Capture-Proxy. Ein Paket liefert drei Oberflächen: mitmproxy, die interaktive Konsolen-Oberfläche, mitmweb, dasselbe im Browser, und mitmdump, die Kommandozeilenversion, ein tcpdump für HTTP.

🚀 Warum die neueste Version zählt: das mitmproxy in den offiziellen Archiven ist 8.1.1, ein Release von 2022, und Debian hat es aus trixie ganz entfernt. Alles, was seitdem kam, fehlt dort: der WireGuard-Modus, mehrere Proxy-Modi in einer Instanz, der lokale Capture-Modus, vollständiges HTTP/3, HAR-Import und -Export und Jahre an Korrekturen für die TLS-Stacks und HTTP/2-Eigenheiten echter Server. Ein abfangender Proxy nützt nur, wenn er versteht, was aktuelle Clients sprechen, und Addon-Skripte nach der heutigen Dokumentation erwarten die heutige API.

⚡ Hauptfunktionen von mitmproxy

🔓 Blick ins TLS

mitmproxy erzeugt beim ersten Start eine eigene Zertifizierungsstelle in ~/.mitmproxy/ und stellt für jeden besuchten Host spontan Zertifikate aus. Vertraue dieser CA einmal auf einem Client, und sein HTTPS-Verkehr wird lesbar, Anfrage für Anfrage.

✋ Abfangen und bearbeiten

Drücke i in der Konsole, gib einen Filter wie ~d api.example.com an, und passende Anfragen bleiben stehen. e bearbeitet Methode, URL, Header oder Body, a schickt sie weiter.

🔁 Alles wiederholen

r wiederholt eine einzelne Anfrage aus der Konsole. Speichere eine Sitzung mit -w und spiele die Client-Seite mit --client-replay erneut ab, oder beantworte einen Client mit aufgezeichneten Antworten per --server-replay.

🐍 Python-Addons

Lade ein Skript mit -s script.py und hänge dich in jede Anfrage, jede Antwort, jede WebSocket-Nachricht oder jeden TLS-Handshake. Header umschreiben, Endpunkte mocken, Tracking entfernen, in eine Datei loggen: die Addon-API ist dieselbe, auf der mitmproxys eigene Funktionen aufbauen.

🧭 Jeder Proxy-Modus

Regulär, transparent, Reverse (--mode reverse:https://example.com), Upstream, SOCKS5, WireGuard für Smartphones und VMs und lokaler Capture einer einzelnen Anwendung. Gib --mode mehrfach an, um mehrere gleichzeitig zu betreiben.

🌐 Konsole, Web oder headless

Die tastaturgesteuerte Konsole für ein Terminal oder eine SSH-Sitzung, mitmweb auf http://127.0.0.1:8081 für eine Flow-Liste zum Klicken, und mitmdump für Skripte, CI-Jobs und lange unbeaufsichtigte Mitschnitte.

🚀 Immer vor den offiziellen Archiven: Debian und Ubuntu frieren Paketversionen beim Release ein. Dieses Repository veröffentlicht neue Upstream-Releases in der Regel innerhalb von Stunden. Ein einfaches apt upgrade hält dich auf der neuesten Version.

📦 Installation aus deb.griffo.io

Befehle ausführen

Schritt 1: Repository hinzufügen

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt update
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update
sudo apt install extrepo
sudo extrepo enable griffo
sudo apt update

🆓 Es gibt einen für immer kostenlosen Spiegel. deb-free.griffo.io liefert Pakete für immer kostenlos — ohne Konto, ohne Abo, höchstens 2 Monate hinter Upstream, Sicherheitsfixes sofort. Derzeit enthält er cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud und Zed; mitmproxy ist nicht dabei, deshalb führt heute nur das Repository oben dorthin — auf Anfrage kann es aufgenommen werden.

So funktioniert der kostenlose Spiegel →

🧩 Zur extrepo-Option. extrepo ist Debians eigenes Werkzeug für externe Repositories: Es legt die Sources-Datei an und installiert den Signaturschlüssel für dich, nachdem es ihn gegen signierte Metadaten geprüft hat. Dieses Repository ist dort als griffo registriert, der für immer kostenlose Spiegel als griffo-free. Unter Debian (bookworm, trixie, forky und sid) sind die Befehle oben damit die gesamte Einrichtung.

extrepo richtet nur die Sources-Datei und den Schlüssel ein; die Zugangsdaten eines Abos gehören weiterhin in /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu wird nicht abgedeckt, denn extrepo veröffentlicht Metadaten nur für Debian-Suites: dort nimmst du die Befehle mit sudo oder als root.

Schritt 2: mitmproxy installieren

# Neuestes mitmproxy installieren
sudo apt install mitmproxy

# Ein Paket, drei Befehle: mitmproxy, mitmweb und mitmdump.
# Es bringt sein eigenes Python und OpenSSL mit, sonst wird nichts nachgezogen

# Installation prüfen
mitmproxy --version
mitmdump --version
# Neuestes mitmproxy installieren
apt install mitmproxy

# Ein Paket, drei Befehle: mitmproxy, mitmweb und mitmdump.
# Es bringt sein eigenes Python und OpenSSL mit, sonst wird nichts nachgezogen

# Installation prüfen
mitmproxy --version
mitmdump --version

Schritt 3: Der erste Start

# Die Konsolen-Oberfläche starten, sie lauscht auf Port 8080
mitmproxy

# Oder die Web-Oberfläche, die http://127.0.0.1:8081 öffnet
mitmweb

# In einem anderen Terminal eine Anfrage hindurchschicken
curl -x http://127.0.0.1:8080 http://example.com

# Der erste Start hat eine CA in ~/.mitmproxy/ erzeugt. Öffne bei
# einem Client hinter dem Proxy http://mitm.it, um sie dort zu
# installieren, oder vertraue ihr systemweit auf dieser Maschine
sudo cp ~/.mitmproxy/mitmproxy-ca-cert.pem /usr/local/share/ca-certificates/mitmproxy.crt
sudo update-ca-certificates
# Die Konsolen-Oberfläche starten, sie lauscht auf Port 8080
mitmproxy

# Oder die Web-Oberfläche, die http://127.0.0.1:8081 öffnet
mitmweb

# In einem anderen Terminal eine Anfrage hindurchschicken
curl -x http://127.0.0.1:8080 http://example.com

# Der erste Start hat eine CA in ~/.mitmproxy/ erzeugt. Öffne bei
# einem Client hinter dem Proxy http://mitm.it, um sie dort zu
# installieren, oder vertraue ihr systemweit auf dieser Maschine
cp ~/.mitmproxy/mitmproxy-ca-cert.pem /usr/local/share/ca-certificates/mitmproxy.crt
update-ca-certificates

🎯 Grundlegende Verwendungsbeispiele

Verkehr mitschneiden:

# Auf einem anderen Port lauschen
mitmproxy --listen-port 9090

# Einen einzelnen Befehl durch den Proxy schicken
HTTPS_PROXY=http://127.0.0.1:8080 curl https://example.com

# Alles ohne Oberfläche in eine Datei schreiben
mitmdump -w session.mitm

# Nur Anfragen an einen Host anzeigen
mitmdump "~d api.example.com"

# Eine HAR-Datei für die Browser-Entwicklertools oder einen Fehlerbericht speichern
mitmdump --set hardump=./session.har

Wiederholen und untersuchen:

# Eine gespeicherte Sitzung in der Konsole öffnen
mitmproxy -r session.mitm

# Die POST-Anfragen daraus ausgeben, ohne einen Proxy zu starten
mitmdump -n -r session.mitm "~m POST"

# Die aufgezeichneten Anfragen erneut senden
mitmdump -n --client-replay session.mitm

# Clients mit aufgezeichneten Antworten statt des echten Servers bedienen
mitmdump --server-replay session.mitm

Proxy-Modi und Addons:

# Reverse-Proxy vor einem einzelnen Server
mitmproxy --mode reverse:https://example.com --listen-port 8443

# SOCKS5 und ein regulärer Proxy aus derselben Instanz
mitmdump --mode socks5 --mode regular

# WireGuard: den QR-Code in mitmweb mit der WireGuard-App eines Smartphones scannen
mitmweb --mode wireguard

# Verkehr mit einem Python-Addon umschreiben, z. B. addon.py mit:
#   def response(flow):
#       flow.response.headers["x-seen-by"] = "mitmproxy"
mitmdump -s addon.py

🔧 Werkzeug-Integrationen

mitmproxy sitzt zwischen den Werkzeugen, die du schon benutzt, und dem Netz, mit dem sie reden:

  • curl, wget und die meisten CLIs: alles, was HTTP_PROXY und HTTPS_PROXY beachtet, läuft mit einer Umgebungsvariable durch mitmproxy, und curl -x erledigt es pro Befehl
  • Browser und Smartphones: den Proxy auf Port 8080 setzen, http://mitm.it öffnen und die CA für die jeweilige Plattform installieren, oder unter Android und iOS den WireGuard-Modus ganz ohne Proxy-Einstellungen nutzen
  • Browser-Entwicklertools: hardump schreibt eine HAR-Datei, und mitmproxy liest HAR-Dateien mit -r wieder ein, ein Mitschnitt wandert also in beide Richtungen zwischen ihm und Chrome oder Firefox
  • Python-Addons: mit -s geladene Skripte laufen im mitgelieferten Python von mitmproxy, sie können also die Standardbibliothek und das importieren, was mitmproxy mitbringt, aber keine Pakete, die für das System-python3 installiert sind
  • Testsuiten und CI: mitmdump mit --server-replay liefert aufgezeichnete Antworten aus und macht wackelige Fremd-APIs in Integrationstests wiederholbar

🚀 Warum deb.griffo.io?

📊 Repository-Vergleich:
  • Offizielles Debian: 8.1.1 von 2022 in bookworm, forky und sid, und in trixie, dem aktuellen Stable, überhaupt nicht
  • pipx oder pip: aktuell, aber an das jeweilige System-Python gebunden und für apt unsichtbar
  • Das Upstream-Tarball: derselbe eigenständige Build, den dieses Paket ausliefert, von Hand entpackt und von Hand aktualisiert
  • deb.griffo.io: neueste Version mit automatischen Updates

📦 Paket-Build-Repository

Die Debian-Pakete werden in diesem GitHub-Repository automatisch gebaut und gepflegt:

🔗 Verwandte Pakete

Ebenfalls verfügbar über deb.griffo.io:

🎯 Ideal für: genau sehen, was eine Mobil-App oder ein CLI an sein Backend schickt, OAuth-Weiterleitungen und Cookies debuggen, testen, wie ein Client mit einer langsamen oder kaputten API umgeht, Penetrationstests von Webanwendungen, und aus einem einmaligen manuellen Test ein wiederholbares Python-Skript machen.

📦 Neueste Releases aus diesem Repository

❓ Häufig gestellte Fragen

Ist mitmproxy in den offiziellen Debian-Paketquellen?

Nein, mitmproxy ist nicht in den offiziellen Debian-Archiven paketiert. Dieses Repository ist derzeit die einzige apt-Quelle und liefert mitmproxy 12.2.3.

Wie installiere ich das neueste mitmproxy unter Debian?

Fügen Sie das deb.griffo.io-Repository einmalig hinzu (Anleitung oben) und führen Sie dann aus: sudo apt install mitmproxy. Neue Releases kommen über das normale sudo apt upgrade.

Sind die Pakete signiert und wie werden sie gebaut?

Jedes Paket ist mit dem GPG-Schlüssel des Repositories (EA0F721D231FDD3A0A17B9AC7808B4DD62C41256) signiert und wird aus Upstream-Releases in öffentlichen GitHub-Repositories gebaut, die jeder einsehen kann.

Welche Debian-Versionen werden unterstützt?

Debian 12 Bookworm, Debian 13 Trixie, Forky und Sid.