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

Der PC, 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. Damit wird der gesamte Datenverkehr über diesen Fiddler-Proxy 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 somit 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.

Erste Schritte

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 wäre möglich, wurde aber bisher von mir nicht vorgenommen.

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 Betriebssystem Netzwerkeinstellungen 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. 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.

Einsatzbeispiel

Es lassen sich alle Datenpakete, die zwischen dem Client PC und x-beliebigen Seiten stattfinden, mitschneiden. Anhand der Webseite 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 den Host httpvshttps.com 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).

 

Image
fiddler-html-response-text.png

Bild: HTML-Seiteninhalt im Response Text. (Klicken zum Vergrößern) [Quelle: Fiddler Everywhere]

 

Zusammenfassung

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 zu manipulieren. Somit lassen sich Pausen einbauen, die Antworten verwerfen oder mit eigenen, alternativen Antworten in die Kommunikation eingreifen.

 

Veröffentlicht am 04.März 2021

Aktualisiert am 19.November 2024

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: