Skip to content

Visual Networking Thinger⚓︎

Visual Networking Thinger

Difficulty:
Direct link: Visual Networking Thinger
Area: Frozen pond
In-game avatar: Jared Folkins

Objective⚓︎

Request

Skate over to Jared at the frozen pond for some network magic and learn the ropes by the hockey rink.

Jared Folkins

Jared Folkins here! My favorite Christmas movie is White Christmas. You should find me on the socials and tell me what yours is.
You know, I think Santa is right! It truly is better to give than to receive.
I love singing Carols with my family! 🎵O holy night, the stars are brightly shining…🎵

High-Level Steps⚓︎

  1. Resolve – Perform a DNS lookup to translate the service hostname into an IP address.
  2. Establish – Build the network connection step-by-step (TCP handshake, optional TLS handshake).
  3. Request – Send HTTP/HTTPS requests over the established connection to retrieve the content and complete the challenge.
flowchart TD

  subgraph Row1["Resolve"]
    direction LR
    A["DNS lookup (Hostname -> IP)"]
  end

  subgraph Row2["Establish"]
    direction LR
    B[TCP 3-Way Handshake]
    C["TLS Handshake (secure connection)"]
    B --> C
  end

  subgraph Row3["Request"]
    direction LR
    D[HTTP / HTTPS GET]
    E[Response received]
    F["Challenge completed"]
    D --> E --> F
  end

  Row1 --> Row2
  Row2 --> Row3

Solution⚓︎

Challenge 1 : DNS lookup⚓︎

  • Client [DNS Request]
    • Port : 53
    • Domain name : visual-networking.holidayhackchallenge.com
    • Request Type : A
  • DNS Server [DNS Response]
    • Response Value : 34.160.145.134
    • Response Type : A

Challenge 1 : DNS lookup

Challenge 2 : TCP 3-Way Handshake⚓︎

Now that we have the IP address (34[.]160[.]145[.]134).

  • Client sends SYN flag to the server with the above IP.
  • Server responds with SYN-ACK
  • Client sends ACK

Challenge 2 : TCP 3-Way Handshake

Challenge 3: HTTP GET Request⚓︎

Now that we have TCP connection established, client can send a GET HTTP request.

  • Client [HTTP Request]
    • HTTP Verb : GET
    • HTTP Version : HTTP/1.1
    • Host : visual-networking.holidayhackchallenge.com
    • User-Agent : SomeRandomUserAgent
  • Web server [HTTP Response]

Challenge 3: HTTP GET Request

Challenge 4: TLS Handshake⚓︎

For the secure connection, client and server need a different handshake.

Challenge 4: HTTP GET Request

Challenge 5: HTTPS GET Request⚓︎

  • Client [HTTP Request]
    • HTTP Verb : GET
    • HTTP Version : HTTP/1.1
    • Host : visual-networking.holidayhackchallenge.com
    • User-Agent : SomeRandomUserAgent
  • Web server [HTTP Response]

Challenge 5: HTTPS GET Request

Challenge is now completed. Challenge 6: Challenge is now completed

Answer

Completed in the game.

Response⚓︎

Jared Folkins

Wonderful! You've truly shown that giving your best effort brings the greatest reward - now that's the Christmas spirit!

Learnings⚓︎

  1. Through awesome and interactive UI, this challenge reminds me of DNS, TCP, TLS before HTTP request takes place.