Wireshark vs Firebug vs Fiddler: pro e contro? [chiuso]


90

Recentemente, mi sono imbattuto in un problema in cui un'applicazione CGI non risponde. Il sintomo è la visualizzazione di Firefox:

Trasferimento dati da localhost ...

Ma il fatto è che non riesco a vedere alcun traffico dal pannello Net di Firebug e il browser rimane sullo stesso palco per sempre.

Sto pensando ai modi per eseguire il debug di questa applicazione ma non riesco a vedere il codice sorgente o nessuno dei suoi componenti Java / C ++ compilati, quindi ritengo che un livello di diagnostica di rete HTTP sia un buon inizio.

Ho poca esperienza in Fiddler e Wireshark, mi chiedo solo che otterranno feedback / statistiche migliori a livello di rete HTTP? Ho sentito che Wireshark è avanzato ma potrebbe introdurre un grande volume di traffico, quindi agli amministratori di sistema non piace molto. In questo momento penso che Firebug non mi mostri abbastanza informazioni.

Devo raccogliere informazioni in modo da poterle inoltrare al cliente come prova.


3
Non consiglierei Charles perché ci lavora solo uno sviluppatore. E se smette di lavorare sull'app o viene investito da un autobus? Inoltre, sembra che non risponda alle richieste di supporto. Spenderei i miei $ 50 da qualche altra parte. Per quanto riguarda Fiddler , il supporto è leggermente migliore, ma si può prendere il proprio tempo perché la sua uno strumento gratuito. Cosa mi resta? Probabilmente wirehark o mitm proxy.
MasterJoe

1
@ testerjoe2 mitm proxy è lento come f * ck e non così vicino come fiddler.
baburao

Risposte:


80

Wireshark, Firebug e Fiddler fanno tutti cose simili: catturano il traffico di rete.

  • Wireshark acquisisce qualsiasi tipo di pacchetto di rete. Può acquisire i dettagli del pacchetto sotto TCP / IP (HTTP è in alto). Ha filtri per ridurre il rumore che cattura.

  • Firebug tiene traccia di ogni richiesta effettuata dalla pagina del browser e acquisisce le intestazioni associate e il tempo impiegato per ciascuna fase della richiesta ( DNS, ricezione, invio, ... ).

  • Fiddler funziona come un proxy HTTP / HTTPS. Cattura ogni richiesta HTTP che il computer fa e registra tutto ciò che è associato ad essa. Permette cose come la conversione di variabili di post in un formato tabella e la modifica / riproduzione delle richieste. Per impostazione predefinita, non cattura il traffico localhost in IE, vedere le domande frequenti per la soluzione alternativa.


39

Il vantaggio di WireShark è che potrebbe mostrare errori nei livelli inferiori al protocollo HTTP. Fiddler ti mostrerà gli errori nel protocollo HTTP.

Se pensi che il problema sia da qualche parte nella richiesta HTTP emessa dal browser, o stai solo cercando ulteriori informazioni riguardo a ciò con cui risponde il server, o quanto tempo impiega a rispondere, Fiddler dovrebbe farlo.

Se sospetti che ci sia qualcosa di sbagliato nel protocollo TCP / IP utilizzato dal tuo browser e dal server (o in altri livelli sottostanti), vai con WireShark.


2
In effetti, Wireshark può scoprire problemi di proxy e server nat, può anche essere utilizzato sia sul client da cui sei connesso che sul server.
Glenner003

33

Nessuna delle risposte precedenti, se utilizzi un Mac. Usa Charles Proxy . È il miglior raccoglitore di informazioni sulla rete / richiesta che abbia mai incontrato. È possibile visualizzare e modificare tutte le richieste in uscita e vedere le risposte da tali richieste in diverse forme, a seconda del tipo di risposta. Costa 50 dollari per una licenza, ma puoi scaricare la versione di prova e vedere cosa ne pensi.

Se sei su Windows, rimango con Fiddler.


15
Sarebbe possibile per te elaborare in che modo Charles è diverso da qualcosa come Fiddler? Quello che hai menzionato sopra sembra molto simile a un violinista. Attualmente uso il violinista, ma sarei felice di usare qualcosa di meglio se ne ricavo qualcosa di più.
Jagmag

27
Charles e Fiddler sono architettonicamente abbastanza simili. Charles gira su un Mac; Il violinista non lo farà. Charles è scritto in Java e costa denaro. Fiddler è scritto in C #, gratuito e facilmente estendibile in .NET.
EricLaw

7
In realtà funziona su Windows, Mac OSX e Linux
Casebash

11
Perché è meglio di WireShark?
Goles

3
Rispondo a quasi tutte le domande nel gruppo Google di Fiddler entro un giorno. Ma questo non è il posto giusto per parlarne.
EricLaw

15

Fiddler è il vincitore ogni volta rispetto a Charles.

La funzione "personalizza regole" di fiddler non ha eguali in nessun debugger http. La capacità di scrivere codice per manipolare al volo richieste e risposte http è inestimabile per me e per il lavoro che svolgo nello sviluppo web.

Ci sono così tante caratteristiche per il violinista che Charles non ha e probabilmente non avrà mai. Il violinista è avanti anni luce.


1
Tranne che il violinista non serve a niente quando non lavori sotto Windows. Puoi anche inserire un proxy in mezzo, quindi puoi farlo da solo (in C #). Ad esempio mentalis.org/soft/projects/proxy . Nessun violinista richiesto. Non ho più un sistema Windows a casa - solo Linuce basato su ARM. E ne sono molto felice.
Stefan Steiger

Hai menzionato molte caratteristiche del violinista che Charles non ha. Quali sono queste caratteristiche?
MasterJoe

4

Se stai sviluppando un'applicazione che trasferisce i dati utilizzando AMF (abbastanza comune in un particolare set di API web GIS che uso regolarmente), Fiddler attualmente non fornisce un decodificatore AMF che ti consentirà di visualizzare facilmente i dati binari in modo semplice- formato leggibile. Charles fornisce questa funzionalità.


4

Uso sia Charles Proxy che Fiddler per il mio debug a livello HTTP / HTTPS.

Pro di Charles Proxy:

  1. Gestisce meglio HTTPS (ottieni un certificato Charles che inseriresti nell'elenco "Autorità attendibili")
  2. Ha più funzionalità come Load / Save Session (particolarmente utile quando si esegue il debug di più pagine), Mirror di un sito Web (utile per la memorizzazione nella cache delle risorse e quindi per il debug più veloce), ecc.
  3. Come accennato da jburgess, gestisce AMF.
  4. Visualizza JSON, XML e altri tipi di risposte in una struttura ad albero, facilitando la lettura. Visualizza le immagini nelle risposte delle immagini invece dei dati binari.

Contro di Charles Proxy:

  1. Costo :-)

9
Fiddler offre una fiducia HTTPS più semplice rispetto a Charles, offre un set più ricco di Salva / Carica e visualizza JSON / XML e altri formati utilizzando una struttura ad albero. È freeware e sono disponibili ispettori AMF, anche se non li ho usati.
EricLaw

1
@EricLaw: Sì, ma il tuo "freeware" (soggetto a restrizioni sulle esportazioni americane - anche nota come crittografia non sicura) non funziona su Linux (il mio Chromebook Linux con processore ARM con Debian).
Stefan Steiger

3

Per completare l'elenco, tieni presente anche http://mitmproxy.org/


Cosa renderebbe degna di considerazione questa opzione?

1
@JonofAllTrades viene eseguito dalla riga di comando. Ogni alternativa fornisce un'implementazione diversa, quindi la varietà in questo caso ha uno scopo.
Maxim Veksler

Maxim - Mitm è uno strumento basato sulla riga di comando. La mancanza di GUI è un problema per gli utenti come me. Puoi dirci quando usare lo strumento a riga di comando e quando usare la GUI?
MasterJoe

Quando stai entrando in SSH in un server e hai bisogno di un proxy, forse mitmproxy sarebbe un salvavita (a meno che tu non sia pronto per avere un ambiente separato con una GUI su cui eseguire il proxy).
arithma

c'è un'interfaccia utente per mitmproxy, docs.mitmproxy.org/stable/tools-mitmweb
yeradis
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.