Eine Anfrage einer Veranstaltungsseite verfolgen

WiresharkBeginner
Jetzt üben

Einführung

Das Veranstaltungsteam Grove braucht ein verlässliches Beispiel dafür, wie ein Besucher die Details von Night Garden Walk öffnet. Du nutzt tatsächlich aufgezeichneten HTTP-Verkehr, um den richtigen Besuch zu finden, Anfragen ihren Antworten zuzuordnen und einen Mitschnitt vorzubereiten, den andere Analysten erneut öffnen können.

Du solltest Dateien öffnen, einfache Terminalbefehle eingeben und einen grundlegenden Wireshark-Anzeigefilter anwenden können. Programmieren ist nicht erforderlich. Nutze durchgehend Desktop; Terminal, Wireshark und Texteditor teilen sich diesen Übungscontainer. Es handelt sich um kontrollierte Aufzeichnungen, nicht um laufenden Besucherverkehr. Dieses Lab startet unabhängig; die geschätzte Dauer umfasst Lesen und gewöhnliche Fehler.

Einen vollständigen Besuch isolieren

In diesem Schritt findest du Cedars normalen Besuch und exportierst seine vollständige Unterhaltung. Beginne in Desktop. Öffne Applications → Terminal Emulator über das Desktop-Menü unten links. Der vorbereitete Mitschnitt ist eine Eingabedatei; verändere sie nicht. Starte Wireshark mit folgendem Befehl und öffne die Datei. Das Terminal bleibt belegt, solange Wireshark läuft; arbeite im Wireshark-Fenster weiter.

wireshark /home/labex/project/event-page/input/casebook.pcapng

Maximiere das Fenster mit der Schaltfläche in der Titelleiste. Oben stehen die Pakete, in der Mitte die Erklärung zum ausgewählten Paket und unten seine Bytes. Diese Datei enthält drei getrennte Besuche eines lokalen Veranstaltungsdienstes. Seine Adresse ist 127.0.0.1; die Clientadressen sind unterschiedliche lokale Testidentitäten, keine physischen Rechner.

Besuch Client Verwendung in diesem Lab
cedar 127.0.0.2 Der zu übergebende normale Besuch
willow 127.0.0.3 Anderer Besucher, außerhalb dieser Übergabe
birch 127.0.0.4 Anderer Besucher, außerhalb dieser Übergabe

Klicke auf die Filterleiste über der Paketliste, gib diesen Ausdruck ein und drücke Enter. ip.addr trifft auf beide Endpunkte zu und behält daher beide Richtungen. == bedeutet gleich. Ein Anzeigefilter ändert die Ansicht; er entfernt keine Pakete aus der Eingabedatei.

ip.addr == 127.0.0.2

Öffne Statistics → Conversations, wähle den Reiter TCP und aktiviere bei Bedarf Limit to display filter. Eine TCP-Unterhaltung umfasst beide Adressen und beide Ports. Ihre Duration enthält auch Leerlauf und misst deshalb keine einzelne HTTP-Antwort. Prüfe, dass die ausgewählte Unterhaltung Cedar mit dem Veranstaltungsdienst verbindet, und schließe den Dialog.

Wähle eine Anfrage, deren Info mit GET beginnt. HTTP ist das Anfrage-Antwort-Protokoll der Anwendung. Ein URI bezeichnet die angeforderte Ressource: Der Wert view wählt hier list, details oder programme. Klicke mit rechts auf die Anfrage und wähle Follow → TCP Stream. Lies beide Richtungen und scrolle bei Bedarf. Cedar fordert auf derselben Verbindung zweimal Details an. Derselbe URI und Stream kennzeichnen daher nicht eindeutig eine Anfrage.

Schließe das Follow-Fenster mit Close. Wireshark lässt einen Streamfilter aktiv. Behalte ihn: Diese Ansicht enthält die TCP-Segmente der Verbindung, nicht nur als HTTP gekennzeichnete Pakete. Hast du versehentlich einen anderen Besuch gewählt, ersetze den Filter durch Cedars Adressausdruck und wiederhole Follow auf einer Cedar-Anfrage.

Wähle File → Export Specified Packets. Speichere unter /home/labex/project/event-page/output/evidence.pcapng, im Format pcapng, mit Paketbereich Displayed und All packets innerhalb dieser angezeigten Menge. Halte die Eingabedatei getrennt. Bei einem falschen Ausgabenamen exportiere erneut mit dem geforderten Namen. Verwende nicht Export Packet Dissections: Es erzeugt Zusammenfassungen statt eines wiederverwendbaren Mitschnitts.

Die angezeigte vollständige Unterhaltung exportieren

Prüfe vor dem Speichern die Spalte Displayed und die Option All packets. Das Beispiel zeigt 30 Pakete von Cedar.

Öffne über File → Open die neue Datei evidence.pcapng. Wende http in der Filterleiste an. Erwarte vier GET-Anfragen und vier HTTP-Antworten; prüfe neben der Anzahl auch den Inhalt. Eine Antwort kann mehrere TCP-Segmente umfassen. Ein Export nur der als HTTP gekennzeichneten Zeilen kann frühere Segmente verwerfen, obwohl das ursprüngliche Fenster eine vollständige Antwort zeigte. Erneutes Öffnen deckt diesen Fehler auf.

Fehlt eine Antwort oder lässt sie sich nicht zusammensetzen, öffne die Originaleingabe erneut, stelle Cedars Adressfilter wieder her und exportiere die vollständige Verbindung nochmals. Ergänze fehlende Antwortinhalte niemals durch eingetippten Text in einer anderen Datei.

Anfragen ihren tatsächlichen Antworten zuordnen

Du unterscheidest nun die beiden Detailanfragen und dokumentierst alle vier richtigen Paare. Beginne in Desktop mit geöffnetem Wireshark. Kehre über File → Open zu /home/labex/project/event-page/input/casebook.pcapng zurück. Alle Frame-Nummern der folgenden Tabelle beziehen sich auf diese Originaleingabe, nicht auf den neu nummerierten Export.

Verbinde zwei Bedingungen mit &&; beide müssen zutreffen. http wählt dekodierte HTTP-Nachrichten aus.

ip.addr == 127.0.0.2 && http

Wähle das erste GET. Klappe Hypertext Transfer Protocol im mittleren Bereich über das Dreieck auf oder wähle die Zeile und drücke Right Arrow. Lies URI und Header X-Request. Diese synthetische Anwendung gibt jeder Anfrage eine eigene Referenz wie cedar-01.

Suche Response in frame. Klicke mit rechts darauf und wähle Go to Linked Packet. Im HTTP-Abschnitt der Antwort verweist Request in frame auf die ursprüngliche Anfrage zurück. Beide Links sind wichtig: Die letzte Antwort eines Streams gehört nicht automatisch zur ersten Anfrage.

Klappe den Antwortabschnitt JavaScript Object Notation → Object → Member: title auf und scrolle bei Bedarf im mittleren Bereich. Alternativ lies mit Follow → TCP Stream die vollständige Anwendungsunterhaltung. Der Veranstaltungstitel ist Night Garden Walk. JSON stellt beschriftete Anwendungswerte dar: title ist die Bezeichnung und die folgenden Wörter in Anführungszeichen der Wert. Lies den tatsächlichen Wert, nicht nur den Antwortcode 200. Liegt der JSON-Abschnitt außerhalb des sichtbaren Bereichs, scrolle in der Mitte.

Wiederhole dies für jede Cedar-Anfrage, einschließlich beider Detailanfragen. In dieser festen Aufzeichnung findest du:

Anfrage-Frame in der Eingabe Zugehörige Antwort Veranstaltungstitel
4 10 Night Garden Walk
12 16 Night Garden Walk
17 21 Night Garden Walk
23 27 Night Garden Walk

Für einen leichteren Vergleich klicke bei einer Anfrage mit rechts auf Response in frame und wähle Apply as Column. Leere Zellen auf Antwortzeilen sind erwartbar: Diese haben stattdessen Request in frame. Die Spalte ist eine Hilfe, keine geforderte Profileinstellung. Prüfe damit, dass die wiederholten Detailanfragen auf verschiedene Antworten verweisen.

Wiederholte Anfragen mit der Antwortspalte zuordnen

Lies links die ursprüngliche Frame-Nummer und daneben Response in frame. Die beiden Detailanfragen führen zu den Frames 16 und 27.

Erstelle die kurze Übergabetabelle im grafischen Texteditor. Öffne Applications → Terminal Emulator erneut für ein weiteres Terminal in Desktop. mousepad öffnet den bereitgestellten Editor; der absolute Pfad bezeichnet die Ausgabedatei.

mousepad /home/labex/project/event-page/output/pairs.csv

Gib diese vollständige CSV ein. CSV trennt Felder durch Kommas und verwendet eine Zeile je Datensatz. Die Kopfzeile benennt die Spalten. Diese Titel enthalten kein Komma und benötigen daher keine zusätzlichen Anführungszeichen.

request_frame,response_frame,title
4,10,Night Garden Walk
12,16,Night Garden Walk
17,21,Night Garden Walk
23,27,Night Garden Walk

Speichere mit Ctrl+S. Erscheint ein Speicherdialog, bestätige das genaue Ausgabeverzeichnis und den Dateinamen pairs.csv. Kehre über das Fenster oder die Schaltfläche unten zu Wireshark zurück. Vergleiche jede CSV-Zeile mit den tatsächlichen Anfrage-Antwort-Links der Eingabe. Die Tabelle dokumentiert die Untersuchung; sie ersetzt nicht deine vollständige evidence.pcapng.

Zusammenfassung

Du hast mit Wireshark-Unterhaltungen und Follow TCP Stream einen Besuch isoliert, einen vollständig exportierten Mitschnitt erneut geöffnet und wiederholte HTTP-Anfragen ihren jeweiligen Antworten zugeordnet. Die Originaleingabe bleibt unverändert; exportierte Pakete und kurze Zuordnungstabelle lassen sich unabhängig prüfen.