Frage

Ich habe eine lokale Anwendung bekommt (die ich nicht schreiben, und nicht ändern kann), die auf einen Remote-Web-Service spricht. Es verwendet HTTPS, und ich möchte, um zu sehen, was im Verkehr ist.

Gibt es eine Möglichkeit, dies zu tun? Ich würde ein Windows-System bevorzugen, aber ich bin glücklich, einen Proxy auf Linux einrichten, wenn dies macht die Dinge einfacher.

Was ich überlege:

  1. Umleiten der Website durch meine hosts-Datei Hacking (oder alternativen DNS-Einrichtung).
  2. Installieren eines HTTPS-Server auf dieser Website, mit einem selbstsignierten (aber trusted) Zertifikat.
  3. Offenbar kann Wireshark sehen, was in HTTPS ist, wenn Sie es die privaten Schlüssel füttern. Ich habe dies nie versucht.
  4. Irgendwie Proxy dieser Verkehr an den tatsächlichen Server (das heißt, es ist eine ausgewachsene Man-in-the-middle "Angriff").

Klingt das sinnvoll? Kann wirklich Wireshark sehen, was in HTTPS-Datenverkehr ist? Kann mich jemand an einem geeigneten Proxy Punkt (und Konfiguration für gleiche)?

War es hilfreich?

Lösung

Fiddler tun, was Sie wollen?

  

Was ist Fiddler?

     

Fiddler ist ein Web Debugging Proxy,   protokolliert alle HTTP (S) Datenverkehr zwischen Ihrem   Computer und das Internet. Geiger   Damit können Sie alle HTTP (S) inspizieren   Verkehr, Haltepunkte setzen und „Geige“   mit ein- oder ausgehenden Daten.   Fiddler enthält eine leistungsstarke   Ereignis-basierte Scripting-Subsystem, und   kann eine beliebige .NET erweitert werden mit   Sprache.

     

Fiddler ist Freeware und kann debug   Verkehr von praktisch jedem   Anwendung, einschließlich Internet   Explorer, Mozilla Firefox, Opera und   Tausende mehr.

Andere Tipps

Wireshark kann auf jeden Fall TLS / SSL verschlüsselt Ströme als Plain-Text angezeigt werden soll. Allerdings werden Sie auf jeden Fall benötigen Sie den privaten Schlüssel des Servers zu tun. Der private Schlüssel muss als SSL-Option unter Einstellungen zu Wireshark hinzugefügt werden. Beachten Sie, dass dies nur funktioniert, wenn Sie den SSL-Stream von Anfang an folgen können. Es wird nicht funktionieren, wenn eine SSL-Verbindung wiederverwendet wird.

Für Internet Explorer diese (SSL-Sitzung Wiederverwendung) kann durch das Löschen des SSL-Status mit Hilfe des Internet-Optionen-Dialog vermieden werden. Andere Umgebungen erfordern einen Browser neu zu starten oder auch ein Neustart des Systems (SSL-Sitzung Wiederverwendung zu vermeiden).

Die andere Schlüsselbedingung ist, dass eine RSA-Chiffre verwendet werden muss. Wireshark kann nicht TLS / SSL-Stream entschlüsseln, die DFH verwenden (Diffie-Hellman).

Angenommen, Sie die Einschränkungen oben erfüllen können, den „Follow SSL Stream“ Rechtsklick auf Befehl funktioniert recht gut.

Sie benötigen einen Proxy für die lokale Anwendung zu installieren und wenn es die Proxy-Einstellungen Ehre tut, setzen Sie einen transparenten Proxy und Route alle HTTPS-Datenverkehr in sie vor nach draußen zu gehen. So etwas kann der „Mann“ in der Mitte sein: http://crypto.stanford.edu/ssl -mitm

Auch hier ist eine kurze Anleitung, wie dies zu archivieren mit wireshark: http: // predev. wikidot.com/decrypt-ssl-traffic

Sie sollten auch Charles betrachten. Aus der Produktbeschreibung zum Zeitpunkt dieser Antwort:

  

Charles ist ein HTTP-Proxy / HTTP-Monitor / Reverse-Proxy, der einen Entwickler ermöglicht alle HTTP und SSL / HTTPS-Datenverkehr zwischen ihrem Computer und dem Internet anzuzeigen. Dazu gehören Anforderungen, Antworten und die HTTP-Header (die die Cookies und Cache-Informationen enthalten).

Ich würde empfehlen Wireshark, es ist das beste Werkzeug auf verschiedene Teile des Verkehrs zu folgen. Obwohl, ich bin nicht sicher, was Sie sehen können mit SSL aktiviert. Vielleicht, wenn Sie liefern sie mit einem Zertifikat?

  1. Für HTTPS-Proxy zur Überwachung verwendet wird, hängt es von der Art des Händedruck. Wenn Sie lokale Anwendung nicht das Zertifikat des Servers von CA Unterschrift überprüft die Sie kann nicht vortäuschen, und der Server nicht überprüfen Sie Ihre lokale Anwendung Zertifikat (oder wenn Sie einen Setup auf https-Proxy), dann können Sie einen HTTPS-Proxy einzurichten Überwachung des hTTPS-Datenverkehr. Ansonsten finde ich es unmöglich, Verkehr mit HTTPS-Proxy zu überwachen ist.

  2. Eine andere Möglichkeit, Sie versuchen können, ist Instrumentierung Sonde an den Routinen des Client-Programm hinzuzufügen, wo sie Nachrichten von seiner https Bibliothek senden und empfangen. Es braucht einige Reverse-Engineering-Arbeit, sollte aber für alle Situationen für Sie arbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top