2010-11-24 27 views
72

Recientemente, me encontré con un problema donde una aplicación CGI no responde. Síntoma es Firefox que muestra:Wireshark vs Firebug vs Fiddler - pros y contras?

Transferencia de datos desde localhost ...

Pero la cosa es que no puedo ver todo el tráfico de las caras de red de Firebug, y el navegador sólo se queda en el mismo escenario para siempre.

Estoy pensando en las formas de depurar esta aplicación, pero no puedo ver el código fuente o cualquiera de sus componentes compilados Java/C++, por lo tanto, creo 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. Escuché que Wireshark está 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 realmente no me muestra suficiente información.

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

+1

No recomendaría ** ** Charles ya que sólo un desarrollador trabaja en ella. ¿Qué pasa si deja de trabajar en la aplicación o es atropellado por un autobús? Además, parece que no responde a las solicitudes de soporte. Me gustaría gastar mis $ 50 en otro lugar. En cuanto a ** Fiddler **, el soporte es un poco mejor, pero pueden tomar su propio tiempo porque es una herramienta gratuita. ¿Qué me queda? Probablemente wireshark o mitm proxy. – testerjoe2

Respuesta

30

Ninguno de los de arriba. Use Charles Proxy. Es el mejor coleccionista 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 varios formularios, según el tipo de respuesta. Cuesta 50 dólares por una licencia, pero puede descargar la versión de prueba y ver lo que piensa.

Si está en Windows, me quedaré con Fiddler.

+1

Ah, eso parece ser increíble. –

+13

¿Te sería posible explicar cómo Charles es diferente de algo como Fiddler? Lo que has mencionado arriba se parece mucho a un violinista. Actualmente uso el violín, pero estaría encantado de usar algo mejor si obtengo algo más de él. – InSane

+19

Charles y Fiddler son arquitectónicamente bastante similares. Charles corre en una Mac; Fiddler no lo hará. Charles está escrito en Java y cuesta dinero. Fiddler está escrito en C#, gratuito y fácilmente extensible en .NET. – EricLaw

31

El beneficio de WireShark es que posiblemente podría mostrarle errores en niveles inferiores al 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 busca más información con respecto a qué responde el servidor, o cuánto tarda en responder, Fiddler debería hacer .

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

+2

De hecho, Wireshark puede descubrir problemas de servidor nativo y proxy, también se puede utilizar tanto en el cliente desde el que está conectado como en el servidor. – Glenner003

59

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

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

  • Firebug seguimiento de cada solicitud de la página del navegador hace y capta los encabezados asociados y el tiempo necesario para cada etapa de la solicitud (DNS, recibir, enviar, ...).

  • Fiddler funciona como un proxy http/https. Captura cada solicitud http que hace la computadora y registra todo lo relacionado con ella. Permite cosas como convertir post varibles en una tabla y editar/reproducir solicitudes. No captura, de forma predeterminada, el tráfico de localhost en IE, consulte las preguntas frecuentes para la solución alternativa.

4

Si está desarrollando una aplicación que transfiere datos utilizando AMF (bastante común en un conjunto particular de GIS web APIs utilizo regularmente), El violinista no proporciona actualmente un decodificador AMF que le permitirá ver fácilmente la datos binarios en un formato fácil de leer. Charles proporciona esta funcionalidad.

3

Uso tanto Charles Proxy como Fiddler para mi depuración de nivel HTTP/HTTPS.

Pros de Charles Proxy:

  1. Mangos HTTPS mejor (que obtener un certificado de Carlos, que se había puesto en la lista de 'Las autoridades de confianza')
  2. tiene más características como la carga Guardar sesión/(esp. útil al depurar varias páginas), duplicar un sitio web (útil en el almacenamiento en caché de activos y, por lo tanto, depuración más rápida), etc.
  3. Según lo mencionado por jburgess, maneja AMF.
  4. Muestra JSON, XML y otro tipo de respuestas en una estructura de árbol, por lo que es más fácil de leer. Muestra imágenes en respuestas de imagen en lugar de datos binarios.

contras de Charles Proxy:

  1. :-) Costo
+7

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 freeware, y hay inspectores de AMF disponibles, aunque no los he usado. – EricLaw

+0

@EricLaw: Sí, pero su "freeware" (sujeto a la restricción de exportación americana - también conocida como criptografía insegura) no se ejecuta en Linux (mi Chromebook de procesador ARM Linux con Debian). –

11

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

La función "personalizar reglas" de fiddler no tiene comparación en ningún depurador de 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 realizo en el desarrollo web.

Hay tantas características para el violinista que Charles simplemente no tiene, y es probable que nunca lo haya hecho. Fiddler está a años luz de distancia.

+1

Excepto que el violín no sirve cuando no trabajas en Windows. También puede poner un proxy en el medio, luego puede hacerlo usted mismo (en C#). Por ejemplo http://www.mentalis.org/soft/projects/proxy/. No se requiere Fiddler. Ya no tengo un sistema de ventanas en casa, solo linux basados ​​en ARM. Y estoy muy feliz por eso. –

+0

Has mencionado muchas características de violín que Charles no tiene. ¿Cuáles son estas características? – testerjoe2

3

Para completar la lista, también ser conscientes de http://mitmproxy.org/

+0

¿Qué haría que valga la pena considerar esta opción? –

+1

@JonofAllTrades esto se ejecuta desde la línea de comandos. Cada alternativa proporciona una implementación diferente, por lo que la variedad en este caso sirve para un propósito. –

+0

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 GUI? – testerjoe2

Cuestiones relacionadas