⚡ 59 herramientas de desarrollo, siempre actualizadas — cada nueva versión upstream llega a apt en cuestión de horas. Únete al Discord

📅 A partir del , el mirror de apt requerirá una suscripción. Ver precios · 🆓 Existe un espejo gratis para siempre

🕵️ Instalar la última versión de mitmproxy en Debian

Un proxy HTTP interceptor interactivo y compatible con TLS

Última versión: 12.2.3 · actualizado 2026-09-29
FuenteVersión
deb.griffo.io12.2.3 ✅
Debian oficial🚫 no empaquetado
← Volver al inicio
📌 ¿Instalas en una versión concreta? Debian 12 (bookworm) · Debian 13 (trixie) · Debian 14 (forky) · Debian Sid

¿Qué es mitmproxy?

mitmproxy es un proxy HTTP interceptor, interactivo y compatible con TLS, pensado para pentesters y desarrolladores. Apunta hacia él un navegador, un móvil, una CLI o un contenedor entero y cada petición y cada respuesta pasan por donde puedes verlas: cabeceras, cuerpos, tiempos, detalles de TLS. Puedes detener una petición a medio camino, editarla y dejarla seguir, repetirla cien veces o reescribir el tráfico automáticamente con unas pocas líneas de Python. Habla HTTP/1, HTTP/2, HTTP/3, WebSocket y TLS en bruto, y funciona como proxy normal, transparente, inverso, upstream, SOCKS5, WireGuard o de captura local. Un solo paquete te da tres interfaces: mitmproxy, la interfaz de consola interactiva, mitmweb, lo mismo en tu navegador, y mitmdump, la versión de línea de comandos, un tcpdump para HTTP.

🚀 Por qué importa la última versión: el mitmproxy de los archivos oficiales es el 8.1.1, una versión de 2022, y Debian lo sacó por completo de trixie. Todo lo posterior le falta: el modo WireGuard, varios modos de proxy en una sola instancia, el modo de captura local, HTTP/3 completo, importación y exportación HAR, y años de correcciones para las pilas TLS y las rarezas de HTTP/2 de servidores reales. Un proxy interceptor solo sirve si entiende lo que hablan los clientes actuales, y los addons escritos con la documentación de hoy esperan la API de hoy.

⚡ Funciones clave de mitmproxy

🔓 Ve dentro de TLS

mitmproxy genera su propia autoridad de certificación en ~/.mitmproxy/ en el primer arranque y emite certificados al vuelo para cada host que visitas. Confía en esa CA una vez en un cliente y su tráfico HTTPS se vuelve legible, petición a petición.

✋ Interceptar y editar

Pulsa i en la consola, dale un filtro como ~d api.example.com y las peticiones que coinciden se detienen en el sitio. e edita el método, la URL, las cabeceras o el cuerpo, a la deja seguir su camino.

🔁 Repetir lo que sea

r repite una petición desde la consola. Guarda una sesión con -w y reproduce el lado del cliente con --client-replay, o responde a un cliente con respuestas grabadas usando --server-replay.

🐍 Addons en Python

Carga un script con -s script.py y engánchate a cada petición, respuesta, mensaje WebSocket o handshake TLS. Reescribe cabeceras, simula endpoints, quita rastreadores, registra en un archivo: la API de addons es la misma sobre la que están construidas las funciones del propio mitmproxy.

🧭 Todos los modos de proxy

Normal, transparente, inverso (--mode reverse:https://example.com), upstream, SOCKS5, WireGuard para móviles y máquinas virtuales, y captura local de una sola aplicación. Pasa --mode más de una vez para ejecutar varios a la vez.

🌐 Consola, web o sin interfaz

La consola manejada con teclado para una terminal o una sesión SSH, mitmweb en http://127.0.0.1:8081 para una lista de flujos de apuntar y hacer clic, y mitmdump para scripts, trabajos de CI y capturas largas desatendidas.

🚀 Siempre por delante de los archivos oficiales: Debian y Ubuntu congelan las versiones de los paquetes cuando publican una release; este repositorio publica las nuevas versiones upstream normalmente en cuestión de horas. Un simple apt upgrade te mantiene en la última versión.

📦 Instalación desde deb.griffo.io

Ejecutar los comandos

Paso 1: Añadir el repositorio

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

🆓 Existe un espejo gratis para siempre. deb-free.griffo.io sirve paquetes gratis para siempre: sin cuenta, sin suscripción, como máximo 2 meses por detrás del upstream, correcciones de seguridad inmediatas. Ahora mismo incluye cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud y Zed; mitmproxy no está entre ellas, así que hoy el repositorio de arriba es la única forma de instalarlo — pídelo y puede añadirse.

Cómo funciona el espejo gratuito →

🧩 Sobre la opción extrepo. extrepo es la herramienta propia de Debian para repositorios externos: escribe el archivo de sources e instala la clave de firma por ti, comprobándola antes contra metadatos firmados. Este repositorio está registrado en ella como griffo, y el espejo gratuito para siempre como griffo-free, así que en Debian (bookworm, trixie, forky y sid) los comandos de arriba son toda la configuración.

extrepo solo configura el archivo de sources y la clave: las credenciales de una suscripción siguen yendo en /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu no está cubierto, porque extrepo publica metadatos solo para las suites de Debian: allí usa los comandos con sudo o como root.

Paso 2: Instalar mitmproxy

# Instalar la última versión de mitmproxy
sudo apt install mitmproxy

# Un paquete, tres comandos: mitmproxy, mitmweb y mitmdump.
# Trae su propio Python y OpenSSL, así que no arrastra nada más

# Verificar la instalación
mitmproxy --version
mitmdump --version
# Instalar la última versión de mitmproxy
apt install mitmproxy

# Un paquete, tres comandos: mitmproxy, mitmweb y mitmdump.
# Trae su propio Python y OpenSSL, así que no arrastra nada más

# Verificar la instalación
mitmproxy --version
mitmdump --version

Paso 3: Primer arranque

# Arrancar la interfaz de consola, escuchando en el puerto 8080
mitmproxy

# O la interfaz web, que abre http://127.0.0.1:8081
mitmweb

# En otra terminal, enviar una petición a través de él
curl -x http://127.0.0.1:8080 http://example.com

# El primer arranque generó una CA en ~/.mitmproxy/. Con un cliente
# pasando por el proxy, visita http://mitm.it para instalarla en ese
# cliente, o confía en ella en todo el sistema de esta máquina
sudo cp ~/.mitmproxy/mitmproxy-ca-cert.pem /usr/local/share/ca-certificates/mitmproxy.crt
sudo update-ca-certificates
# Arrancar la interfaz de consola, escuchando en el puerto 8080
mitmproxy

# O la interfaz web, que abre http://127.0.0.1:8081
mitmweb

# En otra terminal, enviar una petición a través de él
curl -x http://127.0.0.1:8080 http://example.com

# El primer arranque generó una CA en ~/.mitmproxy/. Con un cliente
# pasando por el proxy, visita http://mitm.it para instalarla en ese
# cliente, o confía en ella en todo el sistema de esta máquina
cp ~/.mitmproxy/mitmproxy-ca-cert.pem /usr/local/share/ca-certificates/mitmproxy.crt
update-ca-certificates

🎯 Ejemplos básicos de uso

Capturar tráfico:

# Escuchar en otro puerto
mitmproxy --listen-port 9090

# Pasar un solo comando por el proxy
HTTPS_PROXY=http://127.0.0.1:8080 curl https://example.com

# Grabar todo en un archivo sin interfaz
mitmdump -w session.mitm

# Mostrar solo las peticiones a un host
mitmdump "~d api.example.com"

# Guardar un archivo HAR para las herramientas del navegador o un informe de error
mitmdump --set hardump=./session.har

Repetir e inspeccionar:

# Abrir una sesión guardada en la consola
mitmproxy -r session.mitm

# Imprimir sus peticiones POST sin arrancar un proxy
mitmdump -n -r session.mitm "~m POST"

# Volver a enviar las peticiones grabadas
mitmdump -n --client-replay session.mitm

# Responder a los clientes con respuestas grabadas en vez del servidor real
mitmdump --server-replay session.mitm

Modos de proxy y addons:

# Proxy inverso delante de un servidor
mitmproxy --mode reverse:https://example.com --listen-port 8443

# SOCKS5 y un proxy normal desde la misma instancia
mitmdump --mode socks5 --mode regular

# WireGuard: escanea el código QR de mitmweb con la app WireGuard del móvil
mitmweb --mode wireguard

# Reescribir tráfico con un addon en Python, p. ej. addon.py con:
#   def response(flow):
#       flow.response.headers["x-seen-by"] = "mitmproxy"
mitmdump -s addon.py

🔧 Integraciones

mitmproxy se sitúa entre las herramientas que ya usas y la red con la que hablan:

  • curl, wget y la mayoría de CLIs: todo lo que respeta HTTP_PROXY y HTTPS_PROXY pasa por mitmproxy con una variable de entorno, y curl -x lo hace comando a comando
  • Navegadores y móviles: pon el proxy en el puerto 8080, abre http://mitm.it e instala la CA para esa plataforma, o usa el modo WireGuard en Android e iOS sin ningún ajuste de proxy
  • Herramientas de desarrollo del navegador: hardump escribe un archivo HAR, y mitmproxy lee archivos HAR con -r, así que una captura va y viene entre él y Chrome o Firefox
  • Addons en Python: los scripts cargados con -s corren dentro del Python incluido en mitmproxy, así que pueden importar la biblioteca estándar y lo que trae mitmproxy, pero no los paquetes instalados para el python3 del sistema
  • Suites de pruebas y CI: mitmdump con --server-replay sirve respuestas grabadas, lo que vuelve repetibles en los tests de integración las APIs de terceros poco fiables

🚀 ¿Por qué elegir deb.griffo.io?

📊 Comparativa de repositorios:
  • Debian oficial: la 8.1.1 de 2022 en bookworm, forky y sid, y nada en absoluto en trixie, la estable actual
  • pipx o pip: actualizado, pero atado al Python del sistema que tengas e invisible para apt
  • El tarball upstream: la misma compilación autónoma que trae este paquete, desempaquetada a mano y actualizada a mano
  • deb.griffo.io: última versión con actualizaciones automáticas

📦 Repositorio de compilación del paquete

Los paquetes de Debian se compilan y mantienen automáticamente en este repositorio de GitHub:

🔗 Paquetes relacionados

También disponibles en deb.griffo.io:

🎯 Ideal para: ver exactamente qué envía una app móvil o una CLI a su backend, depurar redirecciones OAuth y cookies, probar cómo se comporta un cliente ante una API lenta o rota, hacer pruebas de penetración a aplicaciones web y convertir una prueba manual puntual en un script de Python repetible.

📦 Últimas versiones publicadas por este repositorio

❓ Preguntas frecuentes

¿Está mitmproxy en los repositorios oficiales de Debian?

No, mitmproxy no está empaquetado en los archivos oficiales de Debian. Este repositorio es actualmente la única fuente apt y ofrece mitmproxy 12.2.3.

¿Cómo instalo el último mitmproxy en Debian?

Añade el repositorio deb.griffo.io una sola vez con las instrucciones de arriba y ejecuta: sudo apt install mitmproxy. Las nuevas versiones llegan con el sudo apt upgrade habitual.

¿Los paquetes están firmados y cómo se compilan?

Cada paquete está firmado con la clave GPG del repositorio (EA0F721D231FDD3A0A17B9AC7808B4DD62C41256) y se compila a partir de versiones upstream en repositorios públicos de GitHub que cualquiera puede inspeccionar.

¿Qué versiones de Debian son compatibles?

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