Buscando proxy de depuración HTTP para Mac similar a Fiddler en Windows [cerrado]

240

En trabajos anteriores cuando trabajé en una máquina con Windows, usé Fiddler para ver transacciones HTTP y depuración.

Estoy buscando específicamente monitorear las transacciones HTTP para un sitio ajax en el que estoy trabajando para verificar que el sitio esté haciendo lo que espero. Reescribir HTTP (como lo proporciona Fiddler) es algo agradable, pero no esencial.

¿Alguien puede recomendar algo similar para usar en una Mac?

Doug Harris
fuente
44
Esto se ha cerrado, pero todavía existe, por lo que debe haber agregado: Fiddler ahora está en alfa para las mac os.
boomhauer
1
No sé por qué esto estaría cerrado? Tiene 113 votos a favor. No es como si fuera una pregunta sobre el desbordamiento de la pila.
genxgeek
Lea el razonamiento directamente arriba de estos comentarios: "Las preguntas que buscan recomendaciones de productos, servicios o materiales de aprendizaje no están relacionadas"
Doug Harris
Fireup Fiddler en la máquina de Windows cercana y configure su MAC para proxy sobre la máquina de Windows y ¡listo! todo en tu MAC se verá en Windows :)
Korayem
2
Para su información, para aquellos que realmente se entusiasmaron leyendo el comentario de @boomhauer: Fiddler para OSX todavía está en Alpha, después de haber sido tocado por última vez en julio de 2013, requiere el marco Mono (por lo que básicamente es solo un contenedor para la versión de Windows, no realmente refactorizado para Cocoa), y el lanzamiento tiene la nota: "Nota de Mac: El marco de WinForms en Mac es casi inusitadamente defectuoso. Su mejor opción es ejecutar Fiddler dentro de una máquina virtual Linux o Windows y apuntar la configuración de proxy de Mac a eso ".
Anthony

Respuestas:

130

Use Chrome y navegue a Chrome: // net-internals /

Permite análisis detallados y volcados.

cerebro_en_trabajo
fuente
1
Agradable. ¿Alguna idea de cuándo se agregó a Chrome?
Doug Harris
2
No, lo siento. Solía ​​trabajar con Fiddler en Windows, pero al pasar a una Mac me topé con elementos internos de la red mientras buscaba funciones ocultas de Chrome.
brains_at_work
55
esta herramienta parece "ordenada", pero ¿cómo puede ver la carga útil de la solicitud completa (es decir, los encabezados de solicitud GET?)
genxgeek
AFAIK, esto no ofrece una manera de modificar los datos en tránsito, como lo hace Fiddler con FiddlerScript, AutoResponder y puntos de interrupción. Buena herramienta pero para diferentes propósitos.
iX3
33
Esta herramienta solo parece capturar el tráfico de Chrome. ¿Hay alguna forma de usar esta herramienta para capturar el tráfico http desde / hacia un proceso en particular?
morfeo
71

Encontré a Charles Proxy . Está mucho más cerca de la funcionalidad de Fiddler. No es gratis, pero puede valer la pena el precio.

Doug Harris
fuente
Solo curiosidad: ¿alguien aquí lo usó alguna vez?
Arjan
Lo usé durante una o dos horas después de encontrarlo. La versión de prueba tiene algunas pantallas molestas y una restricción de 30 minutos, pero no creo que sean irrazonables. Estaba buscando encabezados específicos en la respuesta HTTP y pude verlos fácilmente.
Doug Harris
1
Lo bueno de Charles es que está disponible tanto para OSX como para Windows, por lo que si va y viene con frecuencia es una buena herramienta común.
Justin Ohms
55
Una funcionalidad importante que brindan charles (y fiddler y quizás webscarab) es la capacidad de interceptar y modificar solicitudes, incluido el descifrado https.
urban_raccoons
1
Utilizo a Charles para descifrar solicitudes de Instagram, Facebook y otras aplicaciones móviles https. ¡Solo apunte el iPhone Proxy a Charles y puedo ver cómo envían datos y qué datos envían!
Mário Carvalho
35

He usado mitmproxy para interceptar el tráfico HTTP. Es una gran herramienta y puede usarla para depurar dispositivos móviles o cualquier sistema operativo.

eikes
fuente
Me encanta esto! Por cierto, para todos los kiddies de script, en caso de que escriba código en algo que no sea JS sentado en el navegador, esto es EL boleto.
Shane
30

Mi aplicación de Mac favorita para monitorear el tráfico es HTTPScoop , detallo que además de usar tcpdump desde la línea de comandos en esta publicación que escribí en el blog el año pasado .

Ted Naleid
fuente
Si conoce Wireshark (o el analizador de paquetes de cacao menos potente): ¿puede comparar HTTPScoop con eso?
Arjan
1
El analizador de paquetes de cacao también es bastante simple. Sin embargo, nunca me di cuenta de cómo filtrar alguna dirección IP específica puerto o servidor, y luego ver tanto la petición y respuesta ... Eso se hace fácilmente en Wireshark. (Sólo tienes que escribir smtpcomo filtro de visualización para ver todo el tráfico que utiliza el protocolo SMTP o. tcp.port == 25Para conseguir todo el tráfico al puerto 25, y sus respuestas O. http and ip.addr == xxxPara conseguir todo el tráfico HTTP hacia y desde algún servidor.)
Arjan
1
httpscoop parecía prometedor, desafortunadamente parece estar abandonado y no pude capturar el tráfico localhost en 10.9.2. El último lanzamiento se remonta a 2009 y el sitio web promociona una próxima versión 2.0 que no parece estar disponible: /
Jean
1
Traté de usar esta aplicación, es horrible en comparación con Fiddler. Quiero capturar todo el tráfico y todos los puertos, todas las interfaces, no el puerto 80 en localhost. Traté de agregar los puertos que quería a través de las preferencias (con la primicia desactivada). Esto no me ayudó, ya que las cosas que quería monitorear estaban en dos interfaces diferentes, por ejemplo lo /
en0
1
El enlace al blog no funciona :(
Reg
19

No es lo que pediste, pero en Firefox, el complemento Live HTTP Headers es todo lo que necesito si quiero editar y reproducir solicitudes, incluido el cambio de la URL y el método HTTP.

Encabezados HTTP en vivo

En Firebug, la supervisión de la red muestra todas las solicitudes y respuestas. Del mismo modo, en Safari, el panel de Recursos del Web Inspector incorporado también cubre la mayoría de mis necesidades. (Habilite el Inspector web a través de las preferencias: Mostrar el menú Desarrollar en la barra de menú ). Chrome y Firefox tienen herramientas similares.

Cuando las cosas se complican, enciendo mi sniffer de paquetes Wireshark . Sin embargo, a diferencia de Fiddler, Wireshark no le permite cambiar los datos y no admite cosas como las respuestas automáticas, como aparentemente lo hace Fiddler.

Para Wireshark, consulte Protocolo de transferencia de hipertexto (HTTP) para obtener información genérica de captura HTTP y Captura de paquetes HTTP para depurar Apache , por ejemplo, algunos filtros de visualización . (Es posible que desee establecer el filtro de captura en " port 80", para mostrar todas las solicitudes a ese puerto y las respuestas de ese puerto. O, para limitar a algún servidor, utilice el filtro de captura " port 80 and host www.google.com".) Me gusta:

# Mostrar solo 404: página no encontrada
http.response.code == 404

# Mostrar solo ciertos métodos HTTP
http.request.method == "POST" || http.request.method == "PUT"

# Mostrar solo javascript
http.content_type contiene "javascript"

Tenga en cuenta que Wireshark puede descomprimir gzip o desinflar cosas codificadas (comprimidas) sobre la marcha por usted. Eso hace que las cosas sean mucho más fáciles de leer ya que la mayoría de los servidores web comprimirán los datos que envían a un navegador.

(En cuanto a los respondedores automáticos: el excelente JS Bin tiene un breve video sobre cómo usarlo para depurar las solicitudes de Ajax. Si no conoce JS Bin, primero vea el video de introducción).

Arjan
fuente
1 de Firebug - Me encanta su herramienta de monitorización de red
Josh
Lo intenté pero no pude hacer una nueva solicitud a una url diferente (en el mismo dominio) y no pude encontrar cómo (desde un GET a un POST, por ejemplo).
Purefan
@Purefan, sin más detalles no podemos ayudar; funciona para mí, mira la captura de pantalla que acabo de agregar. Es posible que se haya encontrado con mozdev.org/bugs/show_bug.cgi?id=25831
Arjan el
7

Además de Charles (ya mencionado), también me gusta el complemento HttpFox para Mozilla Firefox. Al igual que Charles, puedes usarlo tanto en Mac como en Windows. Es más liviano que Charles porque vive en el navegador, útil para la resolución rápida de problemas. Aquí hay información de la página HttpFox:

HttpFox monitorea y analiza todo el tráfico HTTP entrante y saliente entre el navegador y los servidores web.

Su objetivo es llevar la funcionalidad conocida de herramientas como HttpWatch o IEInspector al navegador Firefox.

La información disponible por solicitud incluye:

  • Encabezados de solicitud y respuesta
  • Cookies enviadas y recibidas
  • Parámetros de Querystring
  • Parámetros POST
  • Cuerpo de respuesta

Y una captura de pantalla:

Captura de pantalla del complemento HttpFox para Mozilla Firefox

Chris W. Rea
fuente
Esto no es compatible con las versiones más recientes de Firefox (Firedox 57 y Firedex Deveolper Edition 57)
Promather
6

No es un proxy, pero ayuda a depurar HTTP:

Simplemente inicie un escaneo en la interfaz en la que va a tener el tráfico HTTP, ejecute el tráfico y luego detenga el escaneo y escriba "HTTP" como la cadena de filtro. Luego podrá inspeccionar todos los paquetes de la conversación HTTP. Con la vista de Detalles de paquete abierta, puede abrir la sección HTTP y permanecerá abierta entre paquetes.

Es una gran herramienta y no requiere que cambie el proxy del navegador. Por otro lado, no puede ayudar con el tráfico HTTPS ya que está encriptado. (Aunque puede descifrar las conexiones SSL que usan RSA )

w00t
fuente
2
Solo una actualización: Wireshark es una molestia en OS X. Requiere X11, que ya no está incluido en OS X, por lo que terminas usando unos 200 MB de disco juntos.
Marko Bonaci
2
Solo una actualización de la actualización de @MarkoBonaci, Wireshark 2.x ahora funciona muy bien en OSX y eliminó la necesidad de X11.
0x7c0
@MarkoBonaci: solo debes instalar con qt.
arcseldon
5

Llego tarde, pero uso Paros Proxy . Está en Java, entonces, multiplataforma. Aunque si prefiere que se empaquete como una aplicación, hay una aquí en la parte inferior.

Abhinav Gupta
fuente
2

Parece que el GlimmerBlocker gratuito puede hacer parte del truco.

Por supuesto, puede bloquear todo tipo de contenido y transformar las respuestas antes de que el navegador las reciba. Pero, de hecho, puede modificar tanto las solicitudes como las respuestas . Y aunque no es una depuración verdadera, también ofrece registro. Por lo tanto, podría satisfacer las necesidades básicas :

Hay 4 tipos de scripts que se ejecutan dentro de GlimmerBlocker, y algunos objetos solo se definen para algunos de los tipos de scripts:

  • proxy global: establece la configuración del proxy global y puede probar, por ejemplo, el nombre de la ubicación, la red AirPort.
  • solicitud de modificación: esto puede cambiar la URL solicitada, enviar una respuesta de redireccionamiento al navegador o enviar texto / html al navegador.
  • expansión de palabras clave [Solo Safari, AvB]
  • transform: modifica la respuesta recibida por el servidor web antes de que se envíe de vuelta a Safari [o cualquier navegador configurado para usar el proxy proporcionado por GlimmerBlocker, AvB].

(También se puede usar para incluir varios scripts de Greasemonkey en la respuesta recibida, sin usar un complemento de Greasemonkey, como bloquear Flash sin instalar ningún complemento).

Arjan
fuente
GlimmerBlocker es una herramienta interesante, pero diferente de lo que estoy buscando. He reeditado la descripción original para eliminar los ejemplos de reescritura y aclarar que simplemente estoy buscando monitorear el tráfico y no transformarlo.
Doug Harris
2

Puede configurar fácilmente Fiddler para Mac utilizando Parallels según las instrucciones de su sitio.

La única advertencia es que debe configurar manualmente la configuración de su red para que apunte a la dirección IP de la máquina virtual, pero en realidad no es tan importante.

aleemb
fuente
77
No lo llamaría "fácilmente": requiere comprar e instalar un servidor vm y un sistema operativo completamente diferente.
James Moore
Tengo 5 entradas en esta información sobre herramientas y solo una de ellas es el formato IPv4. ¿Cuál debo elegir? :)
Alex Sorokoletov
1
Puede usar un software de virtualización gratuito, como VirtualBox de Oracle, junto con una VM de modern.ie si desea ejecutar un sistema operativo Windows (después de 90 días, debe reiniciarse), un pedido no demasiado alto para alguien con las habilidades necesarias ejecutar un proxy de depuración web avanzado
iX3
Si esta pregunta estaba abierta, alguien debería mencionar Fiddler para Mac - telerik.com/download/fiddler usando Mono framework ...
Mars Robertson
Y no está funcionando para mí en macOS
tom10271
1

jMeter también podría ser útil; está diseñado para probar el rendimiento de carga en servidores web, pero aún puede hacer lo que necesita. jMeter está escrito en Java, por lo que puede descargar un archivo .jar que se ejecutará en Mac, Windows o Linux.

Evie
fuente
1

El analizador de paquetes de cacao es muy útil.

actuosus
fuente
44
¿Cómo es útil? Una versión de las notas de los acantilados sería de gran ayuda
Journeyman Geek
El analizador de paquetes de cacao pudo capturar con éxito el tráfico HTTP, pero no realiza la reconstrucción de solicitud / respuesta :(
Jean
1

Si está tratando con tráfico de aplicaciones o integraciones de API de terceros que pasan por Internet público, debe probar Runscope (del cual, divulgación completa, soy cofundador). Captura las solicitudes HTTP a cualquier URL, le brinda una buena vista de flujo para la depuración y facilita compartir solicitudes individuales con otros.

John Sheehan
fuente
0

También puedes probar APIKitchen . Le ayuda a depurar y probar las API HTTP y cualquier solicitud en general. También tiene una versión fuera de línea para probar en sus redes internas. No es necesaria la instalación.

Kontinuity
fuente