Einführung
Lantern Room veranstaltet kleine Workshops für Papierlaternen. Die Buchungsanwendung verwendet HTTPS. Eine gewöhnliche Aufzeichnung zeigt deshalb verschlüsselten Verkehr statt Buchungsdetails. Du darfst diesen kontrollierten Trainingsdienst und seine synthetischen Besucher analysieren. Beginne mit einer normalen Referenz und führe danach einen eigenen neuen Aufruf aus, den du erfasst.
Du erstellst eine echte PCAPNG-Aufzeichnung und ein separates TLS-Schlüsselprotokoll, die ein anderer autorisierter Analyst erneut öffnen kann. Vorausgesetzt werden grundlegende Wireshark-Navigation, Anzeigefilter, einfache Terminaleingaben und Pfade. Programmierung oder Zertifikatsverwaltung ist nicht nötig. Verwende Desktop mit Terminal Emulator und den Wireshark-Fenstern. Dieses unabhängige Lab bereitet seine eigenen Dateien und den lokalen Dienst vor; die Zeitangabe ist eine Schätzung des Autors einschließlich Lesen und gewöhnlicher Fehler.
Die Normale Referenz Lesbar Machen
In diesem Schritt entschlüsselst du eine normale Buchung und lernst die Felder kennen, die ihr Ergebnis belegen.
Beginne in Desktop. Öffne unten links Applications → Terminal Emulator. Führe diesen vollständigen Befehl aus; das Terminal bleibt belegt, bis Wireshark geschlossen wird.
wireshark -C Booking /home/labex/project/booking/input/casebook.pcapng
-C Booking wählt das vorbereitete, zunächst leere Konfigurationsprofil Booking. Ein Profil speichert die Einstellungen dieses Analysefensters. Maximiere Wireshark mit der Schaltfläche in der Titelleiste. Die Eingabeaufzeichnung und input/casebook.keys sind schreibgeschützte Originale; speichere deine Arbeit unter output/.
HTTPS ist HTTP innerhalb von TLS, dem Protokoll zur Verschlüsselung der Anwendungskommunikation. TCP transportiert die TLS-Datensätze zwischen den Endpunkten. Diese Aufzeichnung verwendet TLS 1.3 und HTTP/1.1. Der lokale Dienst ist 127.0.0.1:18443; Hazels lokale Testidentität ist 127.0.0.21. Diese Adressen teilen sich einen Trainingscontainer und sind keine getrennten physischen Rechner.
Gib in der Anzeigefilterleiste http ein und drücke Enter. Anfangs gibt es keine entschlüsselten HTTP-Zeilen. Leere die Leiste, um den TLS-Handshake und verschlüsselte Application Data zu sehen. Der Handshake baut die Sitzung auf; Application Data transportiert die Buchungsnachrichten. Die Aufzeichnung allein liefert keinen Klartext.
Ein TLS-Schlüsselprotokoll enthält Geheimnisse, die ein autorisierter Client bewusst für bestimmte Sitzungen aufzeichnet. Es ist weder eine Passwortliste noch das Serverzertifikat. Ein Serverzertifikat oder privater RSA-Schlüssel ersetzt diese TLS-1.3-Sitzungsgeheimnisse nicht. Behandle Aufzeichnungen und Schlüsselprotokolle in der Praxis als sensible Daten und teile sie nur im autorisierten Analysebereich. Hier gehören alle Identitäten, Buchungen und Geheimnisse zur lokalen Übung.
Öffne Edit → Preferences. Klappe Protocols auf, klicke in die Protokollliste und tippe tls, um TLS zu erreichen. Trage unter (Pre)-Master-Secret log filename den folgenden absoluten Pfad ein. Lasse Reassemble TLS records spanning multiple TCP segments und Reassemble TLS Application Data spanning multiple TLS records aktiviert und klicke OK.
/home/labex/project/booking/input/casebook.keys
Wende http erneut an. Eine POST-Anfrage und eine HTTP-Antwort sollten erscheinen. Bleibt die Liste leer, lösche den Filter, prüfe die Schreibweise des Dateinamens und gehe zurück zu TLS. Ein falsches oder fremdes Schlüsselprotokoll ist eine erwartbare Ursache für nicht entschlüsselte Application Data; es beweist nicht, dass keine Anfrage enthalten ist.
Wähle den POST aus. HTTP besteht aus Anfrage und Antwort: POST übermittelt Daten; /api/bookings ist die URI der Buchungsressource. Klicke mit rechts auf die Anfrage und wähle Follow → TLS Stream. Follow TLS Stream zeigt entschlüsselte Anwendungsbytes; Follow TCP Stream zeigt weiterhin verschlüsselte Transportbytes. Lies Anfrage und Antwort und scrolle bei Bedarf. Leite den Absender nicht aus der Textfarbe ab, sondern aus Anfragezeile und Antwortstatuszeile.
Der Anfrageinhalt ist JSON, eine Menge benannter Werte in geschweiften Klammern. Lies visitor, attempt, workshop und slot. Die Antwort wiederholt diese Werte und ergänzt accepted, reason und confirmation. Hazels normale Buchung hat accepted: true, reason: "confirmed" und eine Bestätigung für hazel-01. JSON-true ist ein boolescher Wert; Anführungszeichen kennzeichnen Text, null bedeutet keinen Wert.
HTTP/1.1 200 OK bedeutet, dass der Server diese HTTP-Anfrage verarbeitet hat. Das fachliche Buchungsergebnis ergibt sich weiterhin aus den JSON-Feldern. Dieser Unterschied ist im nächsten Lab wichtig. Der große Leerbereich nach JSON ist absichtliches Trainingsfüllmaterial. Dadurch erstreckt sich die echte Antwort über mehrere TLS/TCP-Segmente; es ist keine weitere Buchung.

Lies den wiederholten attempt und accepted, reason, confirmation in der Antwort. Der HTTP-Status allein reicht nicht.
Schließe Follow mit Close. Wireshark hinterlässt tcp.stream eq ..., das die gesamte gewählte TCP-Verbindung einschließlich Handshake und Segmenten zeigt. Ein Anzeigefilter ändert nur die Ansicht. Schließe das Hauptfenster, um die Profileinstellung zu speichern und das Terminal freizugeben. Die Referenz ist eingerichtet, wenn Booking ihre vollständige Anfrage und Antwort entschlüsselt.
Deinen Eigenen Aufruf Erfassen Und Erneut Öffnen
In diesem Schritt erfasst du einen neuen autorisierten Aufruf und öffnest seine tatsächlich gespeicherten Pakete unabhängig erneut.
Beginne in Desktop an der Terminal-Emulator-Eingabeaufforderung nach dem Schließen der Referenz. Ihr Schlüsselprotokoll entschlüsselt keine andere TLS-Sitzung. Erfasse einen neuen Aufruf und bewahre dessen eigene Geheimnisse neben der Aufzeichnung auf.
Starte das vorbereitete Erfassungsprogramm:
python3 /opt/labex/booking/capture.py
Es startet die echte Wireshark-Live-Erfassung im separaten Profil BookingLive. Die feste Paketquelle erfasst nur Loopback-TCP-Verkehr auf dem Kursport 18443, begrenzt auf 15 Minuten und 4 MB. Sie verwendet eine Pipe, einen Kanal für Live-Bytes nach Wireshark, statt einer Wiedergabe. Sie gewährt keine allgemeinen Erfassungsrechte und ändert keine Anmeldeeinstellungen. Lasse dieses Terminal und Wireshark offen. Warte vor dem Senden auf Live packet feed ready im Terminal und das aktive Erfassungsfenster.
Öffne über Applications → Terminal Emulator einen zweiten Terminal Emulator. Das untere Panel wechselt zwischen beiden Terminals und Wireshark. Führe im neuen Terminal den autorisierten Client aus:
python3 /opt/labex/booking/booking.py client
Der vorbereitete Client prüft Zertifikat und Hostname des lokalen Dienstes, sendet eine echte Buchungsanfrage und schreibt die neuen Sitzungsgeheimnisse nach /home/labex/project/booking/output/live.keys. Er meldet den Abschluss des Aufrufs, ohne die Antwort auszugeben. Sein neuer attempt unterscheidet sich bei jedem Lauf. Der Client your-visit nutzt 127.0.0.26.
Wechsle über das untere Panel zu Wireshark. Warte, bis die Pakete tatsächlich sichtbar sind, einschließlich des letzten TCP-Verbindungsendes, bevor du das rote Stop-Quadrat in der Werkzeugleiste anklickst. Ein beendeter Client bedeutet nicht, dass die Erfassungsoberfläche bereits alle Pakete erhalten hat. Sichtbar sein sollten Handshake, verschlüsselter Anwendungsverkehr und das abschließende FIN- oder RST-Paket. FIN schließt eine TCP-Richtung; RST beendet sofort die Verbindung. Der abschließende RST dieses kontrollierten Clients ist nicht das Buchungsergebnis der Anwendung.
Wähle File → Save As oder Ctrl+S für die ungespeicherte Aufzeichnung, behalte pcapng bei und speichere:
/home/labex/project/booking/output/live.pcapng
Speichere die echte Aufzeichnung, keinen Paketlistentext oder Screenshot. Bewahre das Schlüsselprotokoll separat auf; verwende nicht Inject TLS Secrets. Schließe nach dem Speichern das Hauptfenster. Im ersten Terminal sollte das Startprogramm mit native dumpcap status: 0 enden und die Eingabeaufforderung zurückkehren. Das Schließen beendet auch die Kurs-Paketquelle; eine Terminal-Neuverbindung setzt den Buchungsdienst nicht zurück.
Öffne in einem der Terminals die gespeicherte Datei im zunächst leeren Prüfprofil:
wireshark -C BookingReview /home/labex/project/booking/output/live.pcapng
Wende http an: die Ansicht ist zunächst wieder leer. Probiere unter Edit → Preferences → Protocols → TLS zuerst das Referenzprotokoll input/casebook.keys mit dem vollständigen absoluten Pfad aus Schritt 1. Übernimm mit OK. Es entschlüsselt die neue Sitzung weiterhin nicht. Ersetze den Eintrag nun durch das passende neue Schlüsselprotokoll:
/home/labex/project/booking/output/live.keys
Klicke OK und wende http an. Jetzt sollten ein POST und seine Antwort erscheinen. Rechtsklicke auf den POST und wähle Follow → TLS Stream. Lies deinen neuen attempt, prüfe dessen Wiederholung in der Antwort sowie accepted, reason und die eigene confirmation. Gültig ist eine bestätigte paper-lantern-Buchung für sat-14. Schließe Follow und das Hauptfenster. Du hast die tatsächlich gespeicherte Aufzeichnung unabhängig wieder geöffnet, ohne Referenzgeheimnisse zu übernehmen.

Anfrage und Antwort zeigen denselben neuen attempt. Dein erzeugter Wert weicht vom Beispiel ab; entscheidend ist die passende Beziehung.
Falls du zu früh gestoppt hast, bewahre den unvollständigen Versuch vor dem Wiederholen auf. Führe die folgenden zwei Befehle nur aus, wenn beide bisherigen Ausgabedateien existieren. mv benennt jede Datei um. Diese Pfade enthalten keine Leerzeichen und benötigen deshalb keine Anführungszeichen. Kein Befehl verändert Eingaben oder Dienst.
mv /home/labex/project/booking/output/live.pcapng /home/labex/project/booking/output/live-previous.pcapng
mv /home/labex/project/booking/output/live.keys /home/labex/project/booking/output/live-previous.keys
Wiederhole dann Startprogramm → Client im zweiten Terminal → sichtbare Endpakete → Stop → Save → Close → erneut öffnen. Existiert schon eine live-previous-Datei, wähle zuerst einen anderen unbenutzten Sicherungsnamen. Der Client verweigert absichtlich das Überschreiben von live.keys, damit die Aufzeichnung ihre passenden Geheimnisse behält. Ein falscher Speicherpfad lässt sich mit File → Save As ohne neuen Aufruf korrigieren. Bei einem Filtertippfehler leere die Leiste und gib http erneut ein; setze die Umgebung nicht zurück.
Zusammenfassung
Du hast mit Wireshark eine autorisierte Referenz entschlüsselt, einen echten neuen HTTPS-Aufruf erfasst und das gespeicherte PCAPNG mit dessen eigenem Schlüsselprotokoll erneut geöffnet. Die falschen Referenzgeheimnisse entschlüsselten die neue Sitzung nicht. Dein wiederverwendbares Ergebnis ist output/live.pcapng zusammen mit output/live.keys.
Du hast außerdem HTTP-Status und Buchungsergebnis getrennt und den in der Antwort wiederholten attempt gelesen. Das nächste Lab nutzt diese Unterscheidung für eine fehlgeschlagene Buchung und ihren erneuten Versuch auf einer dauerhaften Verbindung.



