Files
fn_registry/bash/functions/cybersecurity/query_mitm_flows.md
T
2026-06-02 21:50:23 +02:00

4.3 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
query_mitm_flows function bash cybersecurity 1.0.0 impure query_mitm_flows(file_or_glob: string, filter?: string, har?: string, mitmdump?: string) -> void Consulta capturas .mitm guardadas con mitmproxy: vuelca los flujos que coinciden con un filtro de mitmproxy a stdout, o exporta la captura a HAR. Acepta uno o varios archivos .mitm (incluyendo globs expandidos por el shell). Autodetecta mitmdump en PATH y $HOME/.local/bin.
bash
cybersecurity
mitmproxy
web-proxy
query
har
capture
traffic
proxy
network
false error_go_core
name desc
file_or_glob Ruta a un archivo .mitm o glob expandido por el shell (ej. ~/captures/traffic-*.mitm). Acepta múltiples archivos como argumentos posicionales.
name desc
filter Expresión de filtro mitmproxy (ej. '~m POST & ~u /api', '~c 500', '~d example.com'). Si se omite, vuelca todos los flujos.
name desc
har Ruta de salida para exportar en formato HAR (--set hardump=OUT). Si se omite, el volcado va a stdout.
name desc
mitmdump Ruta al binario mitmdump. Si se omite, autodetecta en PATH y luego en $HOME/.local/bin/mitmdump.
Vuelca los flujos capturados a stdout (modo default) o exporta a un archivo HAR (con --har); informa la ruta de exportación en stderr al terminar. Exit code de mitmdump propagado. false
bash/functions/cybersecurity/query_mitm_flows.sh

Ejemplo

source bash/functions/cybersecurity/query_mitm_flows.sh

# Volcar todos los flujos de una captura
query_mitm_flows ~/captures/traffic-20260602.mitm

# Filtrar solo peticiones POST a /api (glob expandido por el shell)
query_mitm_flows ~/captures/traffic-20260602-*.mitm --filter "~m POST & ~u /api"

# Ver solo respuestas con código 500
query_mitm_flows session.mitm --filter "~c 500"

# Exportar a HAR para abrir en el Network tab del browser DevTools
query_mitm_flows ~/captures/traffic-20260602.mitm --har salida.har

# Exportar a HAR con filtro aplicado
query_mitm_flows session.mitm --filter "~d example.com" --har example_flows.har

# Especificar mitmdump manualmente (ej. en un venv de Python)
query_mitm_flows session.mitm --mitmdump ~/.venv/bin/mitmdump --filter "~m POST"

Cuando usarla

Cuando hayas capturado tráfico HTTP/HTTPS con mitmproxy y necesites consultarlo después sin abrir una interfaz interactiva: filtrar flujos específicos por método, dominio, URL o código de respuesta, o exportar la captura a HAR para análisis posterior en herramientas externas (browser DevTools, Insomnia, Postman). Úsala desde scripts de análisis automatizados o pipelines de revisión de seguridad.

Gotchas

Sintaxis de filtros mitmproxy — los filtros se pasan como expresión entre comillas:

Operador Significado Ejemplo
~u <regex> URL (path + query) ~u /api/login
~d <regex> Dominio del host ~d example.com
~m <método> Método HTTP ~m POST
~c <código> Código de respuesta ~c 500
~bq <regex> Body del request ~bq password
~bs <regex> Body del response ~bs token
~t <regex> Content-Type ~t application/json
~s Solo respuestas ~s
~q Solo requests ~q

Combinar con & (AND), | (OR), ! (NOT). Ejemplos:

  • "~m POST & ~u /api" — POST a rutas /api
  • "~c 500 | ~c 503" — errores de servidor
  • "~d example.com & !~u /static" — todo de example.com excepto estáticos

Globs: el shell expande el glob antes de pasar los argumentos a la función. Pasar ~/captures/traffic-*.mitm sin comillas para que el shell expanda; con comillas el glob llega literalmente y fallará si el archivo no existe.

Inspección interactiva: para navegar los flujos con UI, usar mitmweb -r <file> (web) o mitmproxy -r <file> (TUI), no esta función. Esta función es para consulta programática y scripting.

Múltiples archivos con -r: mitmdump acepta varios flags -r y concatena los flujos en orden. El filtro se aplica sobre el conjunto completo.

HAR y filtros juntos: al usar --har con --filter, solo los flujos que pasen el filtro se exportan al HAR.