Kürzlich bin ich auf ein Problem gestoßen, bei dem eine CGI-Anwendung nicht reagiert. Das Symptom ist, dass Firefox Folgendes anzeigt:
Daten von localhost übertragen ...
Aber die Sache ist, dass ich keinen Datenverkehr vom Firebug-Net-Panel sehen kann und der Browser für immer auf derselben Bühne bleibt.
Ich denke über die Möglichkeiten zum Debuggen dieser Anwendung nach, kann jedoch den Quellcode oder eine der kompilierten Java / C ++ - Komponenten nicht sehen. Daher halte ich eine Diagnose auf HTTP-Netzwerkebene für einen guten Anfang.
Ich habe wenig Erfahrung mit Fiddler und Wireshark. Ich frage mich nur, ob sie auf HTTP-Netzwerkebene bessere Rückmeldungen / Statistiken erhalten. Ich habe gehört, dass Wireshark fortgeschritten ist, aber möglicherweise ein großes Verkehrsaufkommen verursachen könnte, sodass Systemadministratoren es nicht sehr mögen. Zu diesem Zeitpunkt denke ich, dass Firebug mir nicht wirklich genug Informationen zeigt.
Ich muss Informationen sammeln, damit ich sie als Beweis an den Kunden weiterleiten kann.
Antworten:
Wireshark, Firebug und Fiddler machen alle ähnliche Dinge - erfassen den Netzwerkverkehr.
Wireshark erfasst jede Art von Netzwerkpaket. Es kann Paketdetails unterhalb von TCP / IP erfassen (HTTP befindet sich oben). Es hat Filter, um das aufgenommene Rauschen zu reduzieren.
Firebug verfolgt jede Anfrage der Browserseite und erfasst die zugehörigen Header und die Zeit, die für jede Phase der Anfrage benötigt wird ( DNS, Empfangen, Senden, ... ).
Fiddler arbeitet als HTTP / HTTPS-Proxy. Es erfasst jede HTTP-Anforderung, die der Computer stellt, und zeichnet alles auf, was damit verbunden ist. Es ermöglicht Dinge wie das Konvertieren von Post-Variablen in ein Tabellenformular und das Bearbeiten / Wiedergeben von Anforderungen. Standardmäßig wird kein lokaler Host-Verkehr im Internet Explorer erfasst. Informationen zur Problemumgehung finden Sie in den häufig gestellten Fragen (FAQ).
quelle
Der Vorteil von WireShark besteht darin, dass möglicherweise Fehler in Ebenen unterhalb des HTTP-Protokolls angezeigt werden. Fiddler zeigt Ihnen Fehler im HTTP-Protokoll.
Wenn Sie der Meinung sind, dass das Problem irgendwo in der vom Browser ausgegebenen HTTP-Anforderung liegt, oder wenn Sie nur nach weiteren Informationen suchen, mit denen der Server antwortet oder wie lange die Antwort dauert, sollte Fiddler dies tun.
Wenn Sie den Verdacht haben, dass das von Ihrem Browser und dem Server verwendete TCP / IP-Protokoll (oder in anderen darunter liegenden Schichten) nicht stimmt, wählen Sie WireShark.
quelle
Keine der oben genannten, wenn Sie auf einem Mac sind. Verwenden Sie Charles Proxy . Es ist der beste Netzwerk- / Anforderungsinformationssammler, den ich je gesehen habe. Sie können alle ausgehenden Anforderungen anzeigen und bearbeiten und die Antworten dieser Anforderungen je nach Art der Antwort in verschiedenen Formen anzeigen. Eine Lizenz kostet 50 Dollar, aber Sie können die Testversion herunterladen und sehen, was Sie denken.
Wenn Sie unter Windows arbeiten, würde ich einfach bei Fiddler bleiben.
quelle
Fiddler ist jedes Mal der Gewinner im Vergleich zu Charles.
Die Funktion "Regeln anpassen" von Fiddler ist in keinem http-Debugger einzigartig. Die Fähigkeit, Code zu schreiben, um http-Anfragen und -Antworten im laufenden Betrieb zu bearbeiten, ist für mich und meine Arbeit in der Webentwicklung von unschätzbarem Wert.
Es gibt so viele Funktionen für Geiger, die Charles einfach nicht hat und wahrscheinlich nie haben wird. Fiddler ist Lichtjahre voraus.
quelle
Wenn Sie eine Anwendung entwickeln, die Daten mit AMF überträgt (was in einem bestimmten Satz von GIS-Web-APIs, die ich regelmäßig verwende, ziemlich häufig vorkommt ), bietet Fiddler derzeit keinen AMF-Decoder an, mit dem Sie die Binärdaten auf einfache Weise anzeigen können. lesbares Format. Charles bietet diese Funktionalität.
quelle
Ich verwende sowohl Charles Proxy als auch Fiddler für mein Debugging auf HTTP / HTTPS-Ebene.
Vorteile von Charles Proxy:
Nachteile von Charles Proxy:
quelle
Beachten Sie zur Ergänzung der Liste auch http://mitmproxy.org/
quelle