Fiddler - Überblick und Nutzen des Web Debugging Proxy für Ihre Webseiten Tests

🕒 Lesedauer: 2 Minuten

Auch wenn es für mich als Softwaretester nicht im Fokus steht, die Ursache von Problemen herauszubekommen, ist es aber beim Testen von Webseiten immer wieder wichtig die eigentliche Datenkommunikation auswerten zu können. Hierzu gibt es verschiedene Tools, die den Netzwerkverkehr mitschneiden und damit analysierbar machen.

Ich möchte hier das Tool Fiddler Everywhere vorstellen, da dies für meine Arbeit mit Webseiten und Webservices ein leicht zu verstehendes und hilfreiches Werkzeug war. Auch gerade für die Analyse von HTTPS-Verbindungen, die sich inzwischen als Standard durchgesetzt haben.

 

Ansatz von Fiddler

Das System, auf dem Fiddler installiert wird, muss die Datenpakete erhalten, die sonst direkt zwischen den Kommunikationspartnern ausgetauscht werden. Hier nutzt Fiddler die Möglichkeit eines Proxys, der in den Einstellungen des Client-PCs gesetzt wird. Dabei wird der gesamte Datenverkehr über diesen Fiddler-Proxy bzw. Proxy Server gelenkt, der diese Datenpakete in der Oberfläche anzeigt.

Dies ist sehr einfach für unverschlüsselte HTTP-Verbindungen möglich, für HTTPS-Verbindungen gibt sich Fiddler als Man-In-The-Middle aus, d.h. es kann durch die verwendeten self-signed Zertifikate die verschlüsselten Verbindungen dekodieren und damit lesbar machen.

Somit kann eine Fiddler-Installation recht schnell und einfach in das Netzwerk integriert werden, ohne die Infrastruktur zu verändern oder andere Abhängigkeiten zu besitzen.

Einrichtung Fiddler

Die Installation unter Windows und macOS gestaltet sich über ein sehr einfaches Installationsprogramm. Das Setup kann ohne Änderung an den Standardwerten durchgeführt werden. Eine alternative Installation unter Linux ist ebenso möglich.

Die Konfiguration innerhalb des Programmes beschränkt sich auf einige wenige Punkte. So ist das vertrauenswürdige Root-Zertifikat zu installieren, das Mitschneiden des HTTPS-Datenverkehrs zu aktivieren, den Port zu definieren und die Erlaubnis, eine Verbindung von Remote-Computern zuzulassen, zu setzen. Nun muss nur noch die eigene IP Adresse ermittelt werden und die Einrichtung des Clients kann erfolgen.

 

Einrichtung Client

Entweder in den Netzwerkeinstellungen des Betriebssystems oder auch in der Applikation (z.B. Firefox) sind die Proxyserver für HTTP- und HTTPS-Verbindungen zu setzen. Hier ist die IP-Adresse mit der Fiddler-Installation und der in Fiddler konfigurierte Port anzugeben.

Für das Auslesen von HTTPS-Verbindungen muss noch zusätzlich das Fiddler-Root-Zertifikat installiert werden, wobei man dabei durch eine Sicherheitsaufforderung ("Trust the Fiddler Root certificate?") aufgefordert wird über eine Schaltfläche zu bestätigen, ob man auch wirklich diesem Fiddler-Root-Zertifikat vertrauen will. Dies erfolgt über die URL http://ipv4.fiddler:[Ihr Proxy-Port] und je nach Betriebssystem weiteren Konfigurationen in der Zertifikatsverwaltung bzw. Netzwerkeinstellungen. Sind diese korrekt durchgeführt, können nun auch HTTPS-Verbindungen aufgebaut werden und der PC mit Fiddler schneidet diese nun mit. Außerdem sollte noch erwähnt werden, dass eine potentielle Gefahr darin bestehen kann, dass eine andere bösartige Software dieses Zertifikat nutzt, um sich als legitime Webseite auszugeben und verschlüsselten HTTPS-Traffic mitzulesen.

Einsatzbeispiel von Fiddler

Es lassen sich alle Datenpakete, die zwischen dem Client PC und x-beliebigen Seiten stattfinden, mitschneiden. Anhand der Webseite https://www.httpvshttps.com/ lässt sich gut zeigen wie Fiddler eingesetzt werden kann. Die Seite kann entweder als HTTP oder HTTPS Variante aufgerufen werden.

Für meinen Test habe ich dies jeweils 1x durchgeführt. Jeder Aufruf hat jeweils ca. 400 Datenpakete verursacht, die in Fiddler erscheinen. Der überwiegende Teil der Kommunikation fand direkt mit der Webseite statt, aber auch teilweise mit eingebetteten Inhalten, wie Twitter, Google und Facebook, die gar nicht offensichtlich auf der Seite erscheinen. Filtere ich nun nach dem Protokoll HTTP und dem Host httpvshttps.com, dann bleiben 363 Pakete übrig. Filtere ich weiter nach check.png in der URL, erhalte ich 360 Pakete. Genauso viele Bilder lädt die Webseite nach ihrer Beschreibung herunter.

Möchte ich nun aber die eigentliche HTML Seite erhalten, muss ich den URL-Filter “does not contain” check.png verwenden und erhalte u.a. ein Datenpaket, das in der URL nur ein “/” stehen hat. Hier lässt sich der HTML-Seiteninhalt im Response Text einsehen (siehe Screenshot unten).

 

Image
fiddler-html-response-text.png
Bild: HTML-Seiteninhalt im Response Text. [Quelle: Fiddler Everywhere]

Die besten Fiddler Alternativen

Sollte einem Fiddler nicht zusagen, so stehen auch folgende Alternativen zur Verfügung:

  • Burp Suite
  • CCProxy
  • FoxyProxy
  • Hamachi LogMeIn
  • I2P
  • Jana-Server
  • JonDo Proxy
  • KProxy
  • OWASP ZAP
  • Privoxy
  • Proxifier
  • Proxy Searcher
  • Psiphon
  • UltraSurf
  • Wingate
     

Fazit zu Fiddler

Fiddler habe ich als ein sehr einfach zu installierendes und leicht zu bedienendes Programm zum Mitschneiden von HTTP/HTTPS-Verkehr kennengelernt. Die Filtermöglichkeiten sind sehr vielfältig und damit lassen sich die hohe Anzahl an Datenpaketen auf das Wesentliche reduzieren. Und über die hier beschriebene Funktionalität bringt Fiddler weitere Möglichkeiten mit, die Kommunikation bzw. den Traffic zu manipulieren. Somit lassen sich Pausen einbauen, die Antworten verwerfen oder mit eigenen, alternativen Antworten in die Kommunikation eingreifen. Wer daher einen Proxy sucht, der den HTTP-Datenverkehr erfasst und loggt, der sollte erwägen Fiddler zu wählen.

 

 

FAQ: Häufig gestellte Fragen zu Fiddler

Was ist Fiddler und wofür wird es verwendet?

Fiddler ist ein kommerzielles Tool, das dazu dient, den Web-Datenverkehr zu erfassen und zu analysieren. Es wird häufig verwendet, um HTTP- und HTTPS-Anfragen zu überwachen und zu debuggen. Mit Fiddler können Benutzer Informationen über die Kommunikation zwischen ihrem Browser und Webservern sammeln.

Wie kann ich Fiddler zur Erfassung von Internetverkehr konfigurieren?

Um Fiddler zur Erfassung von Internetverkehr zu konfigurieren, müssen Sie die Software installieren und sicherstellen, dass der Proxy-Server korrekt eingestellt ist. Gehen Sie dazu zu den Einstellungen und aktivieren Sie die Option zur Proxy-Nutzung. Fiddler wird dann alle Anfragen und Antworten aufzeichnen, die über den konfigurierten Proxy laufen.

Kann ich HTTPS-Verkehr mit Fiddler erfassen?

Ja, Fiddler kann HTTPS-Verkehr erfassen, indem es ein Zertifikat installiert, das es ermöglicht, den verschlüsselten Verkehr zu dekodieren. Dazu müssen Nutzer sicherstellen, dass sie das HTTPS-Dekryptionszertifikat in ihren Browsereinstellungen akzeptieren.

Wie funktioniert die Funktionsweise von Fiddler?

Die Funktionsweise von Fiddler basiert auf dem Proxy-Prinzip, der zwischen dem Browser und dem Internet platziert wird. Wenn eine Anfrage gesendet wird, wird sie zuerst von Fiddler erfasst, bevor sie an den Ziel-Webserver weitergeleitet wird. Fiddler kann dann die Antwort des Servers zurück an den Browser senden, während es alle Details der Kommunikation aufzeichnet.

Wo finde ich zusätzliche Ressourcen und Unterstützung zu Fiddler?

Zusätzliche Ressourcen und Unterstützung zu Fiddler finden Sie in der Fiddler-Community. Dort können Nutzer Artikel, Tutorials und Foren finden, die weitere Informationen und Feedback zur Nutzung von Fiddler bieten.

Ist Fiddler sicher zu verwenden?

Ja, Fiddler ist in der Regel sicher zu verwenden, solange Sie die Software von der offiziellen Website herunterladen und sich der Gefahr des Fiddler-Root-Zertifikats bewusst sind. Bitte beachten Sie dabei, vorsichtig mit den Daten umzugehen, die Sie erfassen, insbesondere wenn es um sensible Informationen geht. Stellen Sie sicher, dass Sie die gesammelten Daten sicher speichern und nicht an unbefugte Dritte weitergeben.

 

Veröffentlicht am 04.März 2021

Aktualisiert am 21.Februar 2025

Moritz Salein

Senior Testmanager und Test Automation Engineer

Moritz Salein ist seit über 20 Jahren in der IT tätig, aber vor über 10 Jahren begann seine Passion des Softwaretestens. Seit dieser Zeit übernahm er immer mehr Aufgaben die im Softwaretest, Testmanagement und auch ganz speziell in der Testautomatisierung anfallen. Dadurch war er in den unterschiedlichsten, meist international aufgestellten Unternehmen und Projekten beschäftigt. Auch in der agilen Softwareentwicklung fand er großen Gefallen, so dass er schon seit über 8 Jahren Erfahrungen mit verschiedensten Vorgehensweisen, wie Scrum, Kanban oder SAFe sammeln konnte. Er war als Senior Testmanager und Test Automation Engineer bei Qytera tätig.

Finden Sie weitere interessante Artikel zum Thema: