⚡ 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 Ubuntu

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 ✅
Ubuntu oficial8.1.1 🛑
← Volver al inicio

¿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

🆓 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 →

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:
  • Ubuntu oficial: la 8.1.1 de 2022 en universe para noble, questing y resolute, y la todavía más antigua 6.0.2 en jammy
  • 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 Ubuntu 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 Ubuntu?

Sí, pero el archivo oficial de Ubuntu trae mitmproxy 8.1.1, mientras que este repositorio ofrece mitmproxy 12.2.3, recompilado pocas horas después de cada versión upstream.

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

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 Ubuntu son compatibles?

Ubuntu 22.04 Jammy, 24.04 Noble, 25.10 Questing y 26.04 Resolute.