Network Extension: captura tráfico de Mac sin configurar proxy

Imagen de portada de Network Extension: captura tráfico de Mac sin configurar proxy

5 min de lectura

Proxyman ya es compatible con Network Extension 🎉

Captura el tráfico HTTP/HTTPS de apps y scripts de tu Mac, incluidas las apps que ignoran el proxy del sistema. No necesitas configurar un proxy en cada app.

En este artículo veremos:

  • El problema del modo proxy normal.
  • Cómo Network Extension ayuda a capturar el tráfico que falta.
  • Cómo activarla y usar tus herramientas de depuración habituales.
  • Cómo solucionar errores SSL en Node.js, Ruby y Python con Automatic Setup.

Network Extension está en BETA y se desactiva por defecto. Requiere Proxyman PRO y macOS 26 o posterior.

1. El problema del modo proxy normal

El modo proxy normal funciona configurando un proxy HTTP/HTTPS en macOS. Las apps que siguen esta configuración envían sus solicitudes a través de Proxyman.

Sin embargo, algunas apps y bibliotecas no usan el proxy del sistema:

  • Solicitudes que faltan: el tráfico de tu navegador puede aparecer, mientras que las solicitudes de un script o de un servidor backend no aparecen.
  • Configuraciones de proxy separadas: Node.js, Ruby, Python y las herramientas de línea de comandos pueden necesitar su propia configuración de proxy, según la biblioteca.
  • Cambios en el código: algunas bibliotecas exigen pasar la dirección del proxy directamente en el código.
  • Configuración repetida: cambiar a otro proyecto o a otra biblioteca HTTP puede obligarte a configurar el proxy de nuevo.

La solicitud sigue llegando al servidor, pero se salta Proxyman. Configurar cada biblioteca a mano lleva tiempo y puede provocar errores.

2. Solución: Network Extension ✅

Network Extension captura las conexiones HTTP/HTTPS a nivel de sistema y las envía a través de Proxyman. Puede capturar solicitudes incluso cuando la app ignora la configuración de proxy de macOS.

  • No hace falta introducir una dirección de proxy en cada app.
  • No hace falta cambiar el código de tu app solo para enviar solicitudes a través de Proxyman.
  • Ejecuta cURL sin el flag --proxy, como se muestra en la captura de pantalla de arriba.
  • Sigue usando tus apps y scripts con normalidad mientras Proxyman captura sus solicitudes.

Esto se llama proxy transparente: macOS se encarga de enrutar las conexiones, así que la app no necesita gestionar el proxy por sí misma.

Creado sobre la API oficial Network Extension de Apple

  • Usa la API oficial de proxy transparente Network Extension de Apple.
  • Se ejecuta como una extensión de sistema de macOS nativa, desarrollada y mantenida por Proxyman.
  • Firmada con nuestro certificado Developer ID de TablePlus Inc y notarizada por Apple.
  • Se instala y se aprueba desde los ajustes estándar de extensiones de macOS.

Nuestro objetivo es una captura rápida y eficiente con las API de red nativas de Apple, con menos configuración antes de empezar a depurar.

Network Extension se encarga de la captura del tráfico. Para leer el contenido HTTPS, tu app debe seguir confiando en el certificado de Proxyman, y SSL Proxying debe estar activado para la app o el dominio.

3. ¿Qué puedes hacer con Network Extension?

Captura tráfico HTTP/HTTPS de cURL con Proxyman Network Extension sin el flag --proxy
Captura tráfico HTTP/HTTPS de cURL con Proxyman Network Extension sin el flag --proxy

Las solicitudes capturadas funcionan con las mismas herramientas de Proxyman que ya usas:

  • 🔎 Inspecciona solicitudes y respuestas: lee las URL, los parámetros de consulta, las cabeceras, las cookies y los cuerpos. Comprueba el estado de la respuesta y los datos que devuelve el servidor.
  • 🧹 Filtra el tráfico: céntrate en la app o el dominio que quieres depurar y oculta de la lista las solicitudes no relacionadas.
  • 📁 Map Local: devuelve una respuesta guardada para probar distintos datos sin cambiar tu backend.
  • ✍️ Breakpoint: pausa una solicitud o una respuesta, edítala y comprueba cómo gestiona tu app el cambio.
  • ⚙️ Scripting: aplica tus propias reglas para modificar solicitudes y respuestas durante las pruebas.

Es útil cuando quieres:

  • Inspeccionar las llamadas a la API que hace un servidor backend local.
  • Comprobar qué envía un script de Ruby o Python a un servicio.
  • Capturar el tráfico de una app de Mac que no tiene configuración de proxy.
  • Depurar solicitudes de varias apps sin configurar cada una por separado.

4. Cómo activar Network Extension

  1. Descarga y abre la última versión de Proxyman para macOS.
  2. Abre Settings → Network Extension.
  3. Activa Enable Network Extension y haz clic en Install and Enable si aparece.
Activa Enable Network Extension en Settings de Proxyman
Activa Enable Network Extension en Settings de Proxyman
  1. Sigue los mensajes de macOS para activar Proxyman en System Settings → General → Login Items & Extensions → Network Extensions.
  2. Haz clic en Allow cuando macOS pida añadir la configuración de red.
  3. Mantén Proxyman abierto y haz una solicitud nueva desde tu app o script.

Para inspeccionar HTTPS:

Algunas cosas que conviene recordar:

  • Reinicia las apps que ya estaban abiertas antes de activar la extensión, para que abran conexiones nuevas.
  • Desactiva Enable Network Extension en Settings cuando quieras dejar de capturar tráfico de esta forma.
  • Esta función captura el tráfico de las apps de tu Mac. Para un iPhone o un dispositivo Android, sigue la guía de configuración de dispositivos correspondiente.

Para ver todas las capturas de pantalla de la instalación, consulta la documentación de Network Extension.

5. Solución de problemas: errores SSL en Node.js, Ruby o Python

Problema

Tu script muestra un error de SSL o de certificado después de activar la inspección HTTPS.

  • Estos entornos de ejecución pueden usar su propia configuración de certificados.
  • Confiar en el certificado autofirmado de Proxyman en macOS puede no ser suficiente para la biblioteca que uses.
  • Network Extension envía el tráfico a través de Proxyman, pero no configura automáticamente la confianza en el certificado en todos los entornos de ejecución.

Solución: usa el script de Automatic Setup ✅

El Automatic Setup de Proxyman prepara la configuración de proxy y de certificados para las bibliotecas compatibles.

  1. Abre Proxyman → Setup → Automatic Setup.
  2. Haz clic en Open New Terminal.
  3. Acepta el mensaje de permisos si hace falta.
  4. Ejecuta tu script o reinicia tu servidor backend en esa nueva terminal.
  5. Mantén SSL Proxying activado para la app o el dominio y vuelve a intentar la solicitud.

Notas:

  • La configuración se aplica a la sesión de terminal abierta por Proxyman.
  • Un script o servidor que se ejecute en otra terminal no usará esos ajustes. Deténlo y ejecútalo en la nueva terminal.
  • Automatic Setup no modifica tus archivos de configuración de shell habituales.
  • Si usas Automatic Setup para capturar tráfico, puedes desactivar Network Extension y seguir ejecutando tu código en la terminal configurada.

Si el error continúa, consulta la guía de solución de problemas de Automatic Setup.

Artículos relacionados

Noah Tran
Noah Tran

Empieza a capturar con Network Extension

Prueba Network Extension con Proxyman PRO en macOS 26 o posterior e inspecciona las solicitudes de tus apps y scripts de Mac.

Descargar Proxyman para macOS