Recomendaciones de programas CLI para archivos HAR
Para trabajar con archivos .har (HTTP Archive) desde la línea de comandos, no existe una única herramienta, sino un ecosistema de programas especializados según lo que necesites hacer: analizar el rendimiento, extraer datos, generar informes o convertir el archivo. A continuación, te detallo las mejores opciones.
Si buscas una herramienta versátil y moderna para el análisis detallado de archivos .har, te recomiendo especialmente haranalyzer. Está escrita en Go, es multiplataforma y ofrece potentes capacidades de filtrado.
🏆 Recomendación principal: haranalyzer (Análisis General)
haranalyzer es una herramienta de línea de comandos excelente para un análisis profundo. Te permite procesar archivos grandes y aplicar filtros complejos para obtener justo la información que necesitas [citation:1].
- Lenguaje de consulta avanzado: Puedes filtrar por método HTTP, código de estado, tiempo de respuesta, tamaño, URL y tipo de contenido. Por ejemplo, una consulta como
method:GET AND status:200-299 AND time>1000es totalmente válida [citation:1]. - Múltiples formatos de salida: Puedes ver los resultados en texto plano en la consola, o exportarlos a JSON o CSV para procesarlos con otras herramientas o hojas de cálculo [citation:1].
- Análisis con IA: Incluye una función experimental para enviar el análisis a la API de Anthropic y obtener perspectivas impulsadas por IA sobre los cuellos de botella de rendimiento [citation:1].
- Instalación: Requiere Go 1.20 o superior y se compila desde el código fuente [citation:1].
📊 Tabla comparativa: Otras herramientas según tu necesidad
Para que elijas la herramienta que mejor se adapta a tu tarea específica, he preparado esta comparativa:
| Herramienta (CLI) | ¿Para qué sirve? | Caso de uso ideal | Instalación típica |
|---|---|---|---|
harwise [citation:2] |
Generar pruebas funcionales, informes HTML, colecciones de Insomnia o suites de curl a partir de un HAR. | Equipos de testing y QA que quieran automatizar la creación de pruebas de API o comparar el rendimiento entre dos versiones de una app. | npm install -g harwise |
jq (conocimiento previo) [citation:3][citation:9] |
Procesar el archivo HAR como el JSON que es. Ideal para extraer campos muy específicos con precisión quirúrgica. | Usuarios que dominan la línea de comandos y necesitan consultas ad-hoc o integrar la extracción de datos en scripts de shell complejos. | sudo apt install jq (Debian/Ubuntu), brew install jq (macOS) |
har-x [citation:7] |
Análisis rápido con generación de resúmenes JSON, tablas CSV y gráficos de visualización. | Desarrolladores o analistas de ciberseguridad que buscan una visión general rápida del tráfico y sus métricas, con la opción de generar gráficos. | pip install -r requirements.txt (desde el código fuente) |
harf [citation:10] |
Rastrear cómo fluyen los datos (IDs, nombres, etc.) a través de las diferentes peticiones de un HAR. | Desarrollo de scripts de prueba de rendimiento (por ejemplo, con Locust) donde es crucial entender las correlaciones entre peticiones. | pip install harf |
workhar [citation:4] |
Extraer todas las respuestas JSON de un HAR a archivos individuales para editarlas y luego volver a inyectarlas. | Creación de mocks de API o edición masiva de respuestas para pruebas, sin tener que tocar el archivo HAR original manualmente. | npm install -g workhar |
har-api-extract [citation:6] |
Extraer y formatear de manera limpia las peticiones a APIs (REST y GraphQL) para su análisis posterior. | Preparar datos de tráfico de red para alimentar a un modelo de lenguaje grande (LLM) o para una revisión manual enfocada exclusivamente en las APIs. | npm install -g har-api-extract |
pcap2har-go [citation:8] |
Convertir una captura de red (archivo .pcap) en un archivo .har. | Análisis de tráfico de red de aplicaciones o servicios donde no tienes el archivo HAR directamente, sino la captura de paquetes. | Compilación desde fuente (requiere Go y libpcap) |
💡 Ejemplo práctico con jq
A veces, la herramienta más simple es la más poderosa. Como los archivos HAR son JSON, jq es un aliado formidable. Por ejemplo, para listar todas las URLs solicitadas y su código de respuesta en un archivo, podrías usar:
jq '.log.entries[] | {url: .request.url, status: .response.status}' tu-archivo.har
Este comando extrae y muestra solo la URL y el estado de cada entrada, lo que es increíblemente útil para una inspección rápida [citation:8][citation:9].
En resumen, mi recomendación es:
- Para análisis y filtrado potente: Comienza con
haranalyzer. - Para testing y generación de código:
harwisees tu mejor opción. - Para consultas rápidas y personalizadas: Aprende a usar
jq; no te arrepentirás.
Espero que esta guía te sea de gran ayuda. Si tienes un caso de uso más concreto (por ejemplo, "necesito extraer todas las llamadas GraphQL"), no dudes en preguntarme. ¡Estoy aquí para ayudarte!