Protokollieren Sie den HTTP- und HTTPS-Browserverkehr und entschlüsseln Sie diesen

14

Gibt es eine Möglichkeit, die gesamte HTTP- und HTTPS-Browserkommunikation (einschließlich Anforderung, Antwort, vollständiger Header und Text) in Dateien auf meinem Computer zu speichern?

Die HTTPS-Kommunikation muss entschlüsselt gespeichert werden.

Idealerweise würde ich nach einer Erweiterung für Firefox oder Google Chrome suchen.

Es muss unter Linux funktionieren.

pts
quelle

Antworten:

3

HAR ist HTTP-Archiv und genau das, was Sie speichern möchten (es enthält unverschlüsseltes HTTPS).

Zum Glück ist dies nun eine grundlegende Funktion aller gängigen Browser (dies war nicht der Zeitpunkt, an dem Sie die Frage gestellt haben). Keine Erweiterungen von Drittanbietern mehr erforderlich.

In Firefox (v41 +):

  • Starten Sie die Firefox-Entwicklertools im Netzwerkmodus (Menü oben rechts> Entwickler> Netzwerk oder Strg-Umschalt-Q).
  • Reproduzieren Sie das Zielszenario
  • Speichern Sie die Aufnahme, indem Sie mit der rechten Maustaste auf das Raster klicken und "Alle als HAR speichern" wählen.
  • Exportieren Sie das Capture in eine HAR-Datei

Anderer Browser:

In der neuesten Version aller Browser können Sie HAR ganz einfach speichern:

https://toolbox.googleapps.com/apps/har_analyzer/

vaab
quelle
6

HTTPFox ist eine Firefox-Erweiterung, die den Job erledigt .

=== EDIT ===

Klicken Sie mit der rechten Maustaste auf das Anforderungsfenster und klicken Sie auf "Alle Zeilen kopieren". Dann können Sie es in einem beliebigen Editor speichern - beispielsweise in einer Openoffice-Tabelle. Bitte sehen Sie das Bild, das ich zur Verfügung gestellt habe.

Antworten

Schlitzart
quelle
Ich glaube nicht. Ich habe gerade HttpFox 0.8.9 installiert und sehe keine Möglichkeit, den gesamten protokollierten Datenverkehr in Dateien zu speichern. Bitte beachten Sie, dass ich Tausende von HTTP (S) -Anfragen habe und nicht bereit bin, tausendmal zu klicken, um alle zu speichern. Bitte klären Sie, wie Sie alle Daten mit HttpFox speichern würden.
Pkt
Ich denke schon, Chef. Siehe die Bearbeitung meiner Antwort.
Slotishtype
1
@slotistype: Danke für das klärende Bild. Ich wusste vorher nichts über Alle Zeilen kopieren , also habe ich es versucht, wie Sie vorgeschlagen haben. Es war sehr einfach, es mit dem von Ihnen bereitgestellten Bild zu finden. Leider wird der HTTP-Anforderungs- und -Antworttext nicht kopiert, sodass dies keine Lösung für meine Frage darstellt.
Pkt
@pts mein schlechtes. Ich habe das gerade bemerkt. Ich kenne kein anderes Tool, es sei denn, Sie installieren etwas außerhalb von Firefox. Viel Glück
Slotishtype
Zu Ihrer Information HttpFox hat eine Registerkarte " Inhalt", auf der ich den Antworttext anzeigen kann - mit Ausnahme einiger Anforderungen, für die dort angegeben ist Error loading content (NS_ERROR_DOCUMENT_NOT_CACHED). Da ich jedoch den Antworttext aller Anfragen benötige, kann HttpFox keine Lösung für dieses Problem sein.
Pkt.
3

Fiddler ist definitiv etwas, das Sie in Betracht ziehen sollten, auch wenn es keine Erweiterung, sondern eine separate Anwendung ist.

E. Jaep
quelle
1
Tut mir leid, Fiddler arbeitet nicht für mich. weil es Microsoft Windows erfordert. Ich habe Ubuntu. Eine Browser-Erweiterung, wie ich ursprünglich gefragt habe, würde wahrscheinlich auf mehreren Betriebssystemen funktionieren.
Pkt
3

Ich fand diese Antwort, die dies tun wollte, und keine der Antworten hier passte zu mir, weil ich HTTPS-Antwortkörper ausgeben musste, ähnlich wie bei OP. Also, für diejenigen, die hier landen wie ich, ist hier, was ich gefunden habe.

Ich bin schließlich auf mitmproxy gelandet , das keine Firefox-Erweiterung ist, aber das Ziel erreicht, den gesamten Firefox-Datenverkehr zu protokollieren. Es ist alles Python, also habe ich es mit installiert pip install mitmproxy- verwenden Sie einen Paket-Manager, wenn Sie möchten.

Begann es mit mitmproxyfür das erste Setup / Debugging und verwendete es dann mitmdump, um den Stream zu sichern, sobald ich ihn funktionierte und verfeinerte.

Ich habe Firefox so eingestellt, dass es 127.0.0.1:8080als Proxy-Server verwendet wird (8080 ist der Standardport von Mitmproxy), und ich habe gesehen, dass der gesamte Firefox-Datenverkehr über Mitmproxy eingeht. Um den HTTPS-Verkehr zu aktivieren, müssen Sie das von mitmproxy erstellte Zertifikat akzeptieren. Wenn der Proxy eingerichtet ist, gehen Sie einfach zu der "magischen Adresse" von http://mitm.it in Firefox, klicken Sie auf die Schaltfläche "Andere" und aktivieren Sie die Kontrollkästchen Um dem Zertifikat zu vertrauen, klicken Sie auf OK.

Um den unverschlüsselten Antworttext zu sichern, musste ich ein sehr einfaches Inline-Skript verwenden :

from libmproxy.model import decoded

def response(context, flow):
    with decoded(flow.response):  # automatically decode gzipped responses.
        with open("body.txt","ab") as f:
            f.write(flow.response.content)

Klicken Sie hier - laden Sie es herunter save_response.pyund verwenden Sie es mit mitmdump -s save_response.py. Die Einsatzkräfte häufen sich in body.txt.

mitmproxy bietet auch eine Reihe nützlicher Filter , die Sie mitmdump zuweisen können , um genau das zu erhalten, was Sie benötigen.

Cincodenada
quelle
2

httpFox, httpScoop (nur Mac) und httpWatch (nur IE, Firefox, Windows) sind alles Tools, die ich dazu benutze. Zusätzlich können Sie auch Fiddler (wie zuvor empfohlen) ausprobieren. Wenn Sie einen Mac verwenden, können Sie auch Charles Proxy ausprobieren. Mein persönlicher Favorit ist httpWatch (Sie können problemlos nach Überschriften, Inhalten, URL usw. filtern), aber dies ist teuer und daher möglicherweise keine Option.

Vielleicht möchten Sie sich auch das HAR- Projekt ansehen (HAR steht für HTTP Archive) und ist ein standardbasierter Ansatz zum Aufzeichnen von HTTP-Transaktionen, -Headern, -Inhalten usw. Einige der genannten Tools können die HAR-Dateien zur Anzeige mit ihm exportieren HAR Viewer (mit dem Sie vertraut sind, wenn Sie sich die Wasserfallfunktion in Firebug angesehen haben). Tatsächlich können Sie Firebug verwenden, um diese Dateien / Protokolle auch mit NetExport für Sie zu generieren.

FWIW httpScoop ist eine gute Methode zum Debuggen / Verfolgen von HTTP-Verkehr in einem drahtlosen Netzwerk. Ich habe vor einiger Zeit einen Artikel darüber geschrieben: http://blog.adtools.co.uk/trace-debug-mobile-application-http- Anfragen-mit-MacOS /

Sean Dillon
quelle
Welches der von Ihnen genannten Tools kann einen Speicherauszug der gesamten protokollierten Kommunikation auf Festplatte speichern? httpFox kann nicht. httpScoop ist nur für Mac und ich habe nach einer Linux-Lösung gefragt. httpWatch ist nur für Windows und ich habe nach einer Linux-Lösung gefragt. Fiddler ist nur für Windows und ich habe nach einer Linux-Lösung gefragt. Charles Proxy ist nur für Mac und ich habe nach einer Linux-Lösung gefragt. Vielen Dank, dass Sie Firebug + NetExport erwähnt haben, das möglicherweise funktioniert.
Pkt.
Firebug + NetExport funktionieren unter Linux wie ein Zauber für mich. Sie exportieren den SSL-Verkehr unverschlüsselt (so wie ich es mir gewünscht habe). Ich würde gerne Ihre Antwort annehmen, aber bitte entfernen Sie zuerst alle anderen Vorschläge (oder verschieben Sie sie in eine separate Antwort).
Pkt
1

Wireshark kann verwendet werden, um Netzwerkpakete, einschließlich der HTTP-Protokollschicht, zu erfassen und auf Ihrem Computer zu speichern. Es kann auch https-Informationen erfassen, aber ich bezweifle, dass Sie es so konfigurieren können, dass es alles entschlüsselt.

40XUserNotFound
quelle
1
Vielen Dank, dass Sie Wireshark vorgeschlagen haben, aber es ist als Antwort auf meine Frage nutzlos, da es den entschlüsselten HTTPS-Stream nicht speichert.
Pkt
2
Wireshark kann SSL-Datenverkehr seit einer der letzten Versionen entschlüsseln, wenn Sie über das Zertifikat eines privaten Servers verfügen .
Cweiske
1
Ich habe kein Zertifikat für einen privaten Server.
Pkt