Course / 10 Crypto and files / Lesson 12 of 19

PCAP triage

Estimated time: 15 min reading · 15 min activity

A packet capture records traffic visible at a particular place and time. Triage means selecting the evidence that can answer a question. Reassembly puts captured pieces into a connection’s byte order; a stream view can then display those bytes. An HTTP object is content carried in a message body, such as a file.

This lesson supplies typed request/response fragments, not a capture. Cleartext is directly readable data. TLS encryption conceals application content unless suitable decryption material is available. A stream tool cannot assume plaintext merely because a connection carries web traffic.

Before you begin

Estimated time
15 min reading, 15 min activity. Setup and optional practice may take longer.
Where you work
Read the supplied byte tables and authored records in any browser, with paper or a text editor. Preserve original files; inspect copies in any later lab. No scanner, image decoder, capture, memory acquisition or installation is required. Practical tool work remains separate from this reading activity.
Without a lab
All evidence needed for the activity appears on this page. Copy it into notes if downloads are unavailable. Read the labeled model and predict each result; a paper trace practises the reasoning while tool operation waits for a lab. Reading needs no JavaScript. Answer checking needs JavaScript and a secure context; saving progress also needs usable browser storage.

After this lesson you can:

  • Select the activity stream and read its response body.
  • Record that the body was typed, not exported from a capture.
  • Require secrets before treating an encrypted payload as a recoverable object.

01Example

Worked typed cleartext fragment. It illustrates input and body without claiming a capture or a complete HTTP transcript.

Request: GET /seal.txt
Declared response body: seal
Interpretation: this model supplies four ASCII body bytes.
No packet capture, decryption or object export is represented.

02Export needs the bytes to be present

A cleartext fragment that supplies a body lets you read that body. An encrypted payload without suitable secrets does not let you read the same content. Decryption material means relevant keys or session secrets; which material works depends on the negotiated protocol and configuration.

A real capture may also omit packets or begin after an exchange, preventing full reconstruction even for unencrypted traffic. The typed activity deliberately supplies six body bytes, so its reasoning is complete on paper. No pcap or pcapng file exists for this lesson, and its fragments are not ready-to-transmit complete messages.

Choose the relevant connection and distinguish visible HTTP bytes from encrypted data requiring secrets.Model. A teaching model drawn by hand. It shows the idea, not real tool output.

Read the full explanation below.

Playback is optional. Step through at your own pace.

Supplied teaching sample

Declared request

GET /seal.txtdeclared requestNo request was sent.

Declared response body

sealdeclared response body

Supplied ASCII byte positions

73 — sbody byte 0
65 — ebody byte 1
61 — abody byte 2
6c — lbody byte 3

The model explicitly declares the response body seal.

Follow the explanation

  1. The model explicitly declares the response body seal.
  2. The declared body corresponds to four ASCII byte positions.
Read every state and value

1. The model explicitly declares the response body seal.

Example
Supplied teaching sample
Visible Item
GET /seal.txt · body
Current mappings
None
Annotations
Item: GET /seal.txt; Text: No request was sent.

2. The declared body corresponds to four ASCII byte positions.

Example
Supplied teaching sample
Visible Item
GET /seal.txt · body · 73 — s · 65 — e · 61 — a · 6c — l
Current mappings
Four declared ASCII bytes
Annotations
Item: body; Text: No capture, decryption or export is represented.
A typed cleartext fragment is not a packet capture; export requires relevant bytes actually present.

03Read the activity body

Use the activity stream to /ribbon.txt. It is different from the worked /seal.txt fragment.

Label: original fictional cleartext HTTP. Not a Wireshark export. No packet was captured.

Worked stream: 192.0.2.10:12345 to 192.0.2.20:80
GET /seal.txt HTTP/1.1
Host: lamp.example
Response body: seal

Activity stream: 192.0.2.10:12346 to 192.0.2.20:80
GET /ribbon.txt HTTP/1.1
Host: lamp.example
HTTP/1.1 200 OK
Content-Length: 6
Response body: ribbon

Addresses are documentation addresses. Do not contact them.

Download the fictional HTTP streams

Label: the activity object from stream.txt.
Body bytes, as letters: ribbon
Six bytes. Provenance: typed into the fictional stream. Not extracted from a capture file.

Download the activity body card

Label: capture gap.
No pcap or pcapng was written for this lesson.
stream.txt and object.txt are the complete evidence for the cleartext activity.
The question about an encrypted payload is a separate card in the lesson text.
No key log was created.

Download the note that no capture was written

  1. Find GET /ribbon.txt and copy its destination and path as labels from the fictional stream. The documentation addresses are not targets to contact.
  2. Read its declared Content-Length: 6 and body ribbon. Count the six ASCII letters; the body and length agree in this model.
  3. Record the source as typed cleartext. Leave capture reconstruction and export unperformed; object.txt repeats the authored body rather than proving an extraction.
  4. Stop with this content-and-provenance note. Do not capture traffic or collect browser secrets.

04Optional challenge

For about ten optional minutes, draw a name-lookup record followed by a separate TCP connection record in the fictional story. Label the lookup’s job as finding an address and the later HTTP body as application content. Neither a name lookup nor a port number alone establishes the object’s bytes.

05Fresh cases for the checks

Use these fictional cases for the checks below. They have different inputs from the worked examples. Read them here or make notes; no installation or external service is needed.

Stream card A: independent fictional typed cleartextOwned fixture. An original file made for this course. Follow the activity's instructions in your own lab.

All addresses are documentation labels; no lookup or connection is permitted. No capture exists for this card.
S1: 192.0.2.31:42001 → 192.0.2.80:80; GET /cedar.txt; body birch.
S2: 192.0.2.31:42002 → 192.0.2.80:80; GET /cedar.txt; body cedar.
S3: 192.0.2.31:42002 → 192.0.2.80:80; GET /elm.txt; body elm.
Task constraints: select source port 42002 and request path /cedar.txt together. Each labeled row is one declared exchange.

Encrypted card B: independent gapOwned fixture. An original file made for this course. Follow the activity's instructions in your own lab.

A separate actual encrypted payload is described, but no relevant keys or session secrets are supplied. Its plaintext and complete reconstructed application stream are not provided. No decryption is performed.

Incomplete card C: separate cleartext gapOwned fixture. An original file made for this course. Follow the activity's instructions in your own lab.

A saved capture is described as starting after a response began. A few cleartext body fragments are present, but the earlier body bytes are missing.

06Explain the evidence and its limit

Optional self-check: identify an exchange by fields, cite its supplied body and write a provenance and completeness limit.

Review it: distinguish typed examples from captures, keep unrelated streams separate, and require suitable secrets and sufficient bytes before claiming an encrypted object export.

07Common mistakes

If every web connection seems exportable as plaintext, identify whether the supplied data is cleartext and whether relevant secrets are present.

If an object has fewer bytes than expected, keep capture completeness and message boundaries as possible gaps; do not invent missing content.

If the body card is called a capture export, preserve its actual origin: it was typed as part of the teaching model.

References

  • Wireshark TLS wiki

    TLS decryption guidance explains why suitable secrets and compatible traffic are needed.

  • Wireshark user guide

    TLS decryption guidance explains why suitable secrets and compatible traffic are needed.