Course: NET-101, Week 9
Time: ~45 minutes (paired with lab-9-2 for one 90-minute session)
Tools: Academy pcap-tools workbench at /pcap-tools/; terminal with curl
Captures: fundamentals-http-get.pcap, http-get.pcap
Part 1: Read a complete HTTP/1.1 conversation (~25 minutes)
Load fundamentals-http-get.pcap in pcap-tools. Apply http to see only the HTTP application-layer packets (the TCP handshake and teardown packets will be hidden by this filter; that is expected).
Exercise 1.1 -- The HTTP GET request:
Click the packet containing the HTTP GET request. Expand "Hypertext Transfer Protocol" in the packet detail pane.
- What is the Request Method?
- What is the Request-URI (the path)?
- What is the HTTP version?
- What
Hostheader value is present? - What
User-Agentheader value is present? - What
Acceptheader value is present? - What
Connectionheader value is present? What does it mean?
Exercise 1.2 -- The HTTP 200 OK response:
Click the packet containing the HTTP response.
- What is the Response Code?
- What is the
Content-Typeheader? - What is the
Content-Lengthheader value in bytes? - What is the response body? (You may read it in hex in the packet bytes pane; it should be a short text string.)
- Does the response include a
Serverheader? If so, what does it say?
Part 2: Compare to the Wireshark sample (~15 minutes)
Load http-get.pcap (the upstream-mirrored Wireshark sample).
Apply http.
- What URL (Host + URI) is being requested?
- What is the
User-Agentheader value? Is this a real browser or a tool? - What HTTP status code does the response carry?
- How many TCP segments carry the response body? (Remove the
httpfilter and look at the full packet list; count packets with HTTP data going from server to client after the 200 OK.)
Part 3: Live curl inspection (~10 minutes)
In your terminal:
curl -v --http1.1 https://virtuscyberacademy.org/ 2>&1 | head -50
(The 2>&1 redirects curl's verbose output, which goes to stderr, into stdout so you can pipe it.)
- What is the status code in the response?
- List at least 5 response headers you see.
- One of the headers should be a security-related header (look for
Strict-Transport-Security,Content-Security-Policy,X-Frame-Options, or similar). Write down its full value. - Why does
curl -vshow TLS handshake information before the HTTP response when connecting to an HTTPS URL?
Artifact
Create lab-9-1.md in your net-101/ Git repo with:
- Answers to all questions
- The relevant curl output
Commit with a meaningful commit message.