Wireshark vs Firebug vs Fiddler - ¿pros y contras? [cerrado]

91

Recientemente, me encontré con un problema en el que una aplicación CGI no responde. El síntoma es que Firefox muestra:

Transfiriendo datos desde localhost ...

Pero la cosa es que no puedo ver ningún tráfico desde el panel Net de Firebug, y el navegador permanece en el mismo escenario para siempre.

Estoy pensando en las formas de depurar esta aplicación, pero no puedo ver el código fuente ni ninguno de sus componentes Java / C ++ compilados, por lo que considero que un nivel de diagnóstico de red HTTP es un buen comienzo.

Tengo poca experiencia en Fiddler y Wireshark, solo me pregunto si obtendrán mejores comentarios / estadísticas en el nivel de red HTTP. He escuchado que Wireshark es avanzado, pero posiblemente podría introducir un gran volumen de tráfico, por lo que a los administradores del sistema no les gusta mucho. En este momento creo que Firebug no me muestra suficiente información.

Necesito recopilar información para poder enviarla al cliente como prueba.

Michael Mao
fuente
3
No recomendaría a Charles porque solo un desarrollador trabaja en él. ¿Qué pasa si deja de trabajar en la aplicación o lo atropella un autobús? Además, parece que no responde a las solicitudes de soporte. Gastaría mis $ 50 en otro lugar. En cuanto a Fiddler , el soporte es un poco mejor, pero pueden tomarse su tiempo porque es una herramienta gratuita. ¿Qué me queda? Probablemente proxy de Wireshark o Mitm.
MasterJoe
1
@ testerjoe2 mitm proxy es lento como f * ck y no tan bueno como Fiddler.
baburao

Respuestas:

82

Wireshark, Firebug, Fiddler hacen cosas similares: capturar el tráfico de la red.

  • Wireshark captura cualquier tipo de paquete de red. Puede capturar detalles de paquetes debajo de TCP / IP (HTTP está en la parte superior). Tiene filtros para reducir el ruido que captura.

  • Firebug rastrea cada solicitud que hace la página del navegador y captura los encabezados asociados y el tiempo necesario para cada etapa de la solicitud ( DNS, recepción, envío, ... ).

  • Fiddler funciona como un proxy HTTP / HTTPS. Captura cada solicitud HTTP que realiza la computadora y registra todo lo asociado a ella. Permite cosas como convertir variables de publicación a un formulario de tabla y editar / reproducir solicitudes. No captura, de forma predeterminada, el tráfico de host local en IE; consulte las preguntas frecuentes para obtener una solución.

mikek3332002
fuente
41

El beneficio de WireShark es que posiblemente podría mostrarle errores en niveles por debajo del protocolo HTTP. Fiddler le mostrará errores en el protocolo HTTP.

Si cree que el problema está en alguna parte de la solicitud HTTP emitida por el navegador, o simplemente está buscando más información con respecto a con qué está respondiendo el servidor, o cuánto tiempo tarda en responder, Fiddler debería hacerlo.

Si sospecha que algo puede estar mal en el protocolo TCP / IP utilizado por su navegador y el servidor (o en otras capas por debajo de eso), vaya con WireShark.

Abadía de Macy
fuente
2
De hecho, Wireshark puede descubrir problemas de servidor proxy y nat, también se puede utilizar tanto en el cliente desde el que está conectado como en el servidor.
Glenner003
33

Ninguno de los anteriores, si está en una Mac. Utilice Charles Proxy . Es el mejor recopilador de información de red / solicitud con el que me he encontrado. Puede ver y editar todas las solicitudes salientes y ver las respuestas de esas solicitudes en varias formas, según el tipo de respuesta. Cuesta 50 dólares la licencia, pero puedes descargar la versión de prueba y ver qué te parece.

Si estás en Windows, entonces me quedaría con Fiddler.

Alex
fuente
15
¿Sería posible que explicaras en qué se diferencia Charles de algo como Fiddler? Lo que ha mencionado anteriormente se parece mucho a un violinista. Actualmente uso Fiddler, pero estaría encantado de usar algo mejor si obtengo algo más de él.
Jagmag
27
Charles y Fiddler son arquitectónicamente bastante similares. Charles funciona con Mac; Fiddler no lo hará. Charles está escrito en Java y cuesta dinero. Fiddler está escrito en C #, es gratuito y se puede ampliar fácilmente en .NET.
EricLaw
7
En realidad, funciona en Windows, Mac OSX y Linux
Casebash
11
¿Por qué es mejor que Wireshark?
Goles
3
Contesto casi todas las preguntas del Grupo de Google de Fiddler en un día. Pero este no es el lugar adecuado para conversar sobre esto.
EricLaw
15

Fiddler es el ganador cada vez que se compara con Charles.

La función de "personalizar reglas" de Fiddler no tiene paralelo en ningún depurador http. La capacidad de escribir código para manipular solicitudes y respuestas http sobre la marcha es invaluable para mí y para el trabajo que hago en el desarrollo web.

Hay tantas características para violinista que charles simplemente no tiene, y probablemente nunca las tendrá. Fiddler está a años luz de ventaja.

neimad
fuente
1
Excepto que Fiddler no sirve de nada cuando no trabajas bajo ventanas. También puede poner un proxy en el medio, luego puede hacerlo usted mismo (en C #). Por ejemplo, mentalis.org/soft/projects/proxy . No se requiere Fiddler. Ya no tengo un sistema de Windows en casa, solo Linuces basado en ARM. Y estoy muy feliz por eso.
Stefan Steiger
Mencionaste muchas características de Fiddler que Charles no tiene. ¿Cuáles son estas características?
MasterJoe
5

Utilizo Charles Proxy y Fiddler para mi depuración de nivel HTTP / HTTPS.

Ventajas de Charles Proxy:

  1. Maneja mejor HTTPS (obtiene un certificado Charles que pondría en la lista de 'Autoridades de confianza')
  2. Tiene más funciones como Cargar / Guardar sesión (especialmente útil cuando se depuran varias páginas), Duplicar un sitio web (útil para almacenar en caché activos y, por lo tanto, depurar más rápido), etc.
  3. Como lo mencionó jburgess, maneja AMF.
  4. Muestra JSON, XML y otros tipos de respuestas en una estructura de árbol, lo que facilita su lectura. Muestra imágenes en respuestas de imagen en lugar de datos binarios.

Contras de Charles Proxy:

  1. Costo :-)
Manu Manjunath
fuente
9
Fiddler ofrece una confianza HTTPS más simple que Charles, ofrece un conjunto más rico de Guardar / Cargar y muestra JSON / XML y otros formatos usando una estructura de árbol. Es gratuito y hay inspectores AMF disponibles, aunque no los he usado.
EricLaw
1
@EricLaw: Sí, pero su "software gratuito" (sujeto a la restricción de exportación estadounidense, también conocida como criptografía insegura) no se ejecuta en Linux (mi Chromebook Linux con procesador ARM con Debian).
Stefan Steiger
4

Si está desarrollando una aplicación que transfiere datos usando AMF (bastante común en un conjunto particular de API web GIS que uso regularmente), Fiddler no proporciona actualmente un decodificador AMF que le permita ver fácilmente los datos binarios de una manera sencilla formato legible. Charles proporciona esta funcionalidad.

jburgess
fuente
3

Para complementar la lista, también tenga en cuenta http://mitmproxy.org/

Maxim Veksler
fuente
¿Qué haría que valiera la pena considerar esta opción?
1
@JonofAllTrades esto se ejecuta desde la línea de comando. Cada alternativa proporciona una implementación diferente, por lo que la variedad en este caso tiene un propósito.
Maxim Veksler
Maxim - Mitm es una herramienta basada en línea de comandos. La falta de GUI es un problema para usuarios como yo. ¿Puede decirnos cuándo usar la herramienta de línea de comandos y cuándo usar la interfaz gráfica de usuario?
MasterJoe
Cuando está usando SSH en un servidor y necesita un proxy, tal vez mitmproxy podría salvarle la vida (a menos que esté listo para tener un entorno separado con una GUI para
usar como
hay una interfaz de usuario para mitmproxy, docs.mitmproxy.org/stable/tools-mitmweb
yeradis