An open API service indexing awesome lists of open source software.

https://github.com/compcode1/wireshark-flow-analysis

The goal of this project was to efficiently analyze how a website (Adidas.com) was accessed from the moment of the initial request to the establishment of an encrypted HTTPS session.
https://github.com/compcode1/wireshark-flow-analysis

dns filter https protocol tcp tls wireshark

Last synced: 3 months ago
JSON representation

The goal of this project was to efficiently analyze how a website (Adidas.com) was accessed from the moment of the initial request to the establishment of an encrypted HTTPS session.

Awesome Lists containing this project

README

          

**Wireshark Network Flow Analysis Project: Full Summary & Methodology**

**πŸ”Ή Project Objective**
The goal of this project was to efficiently analyze how a website (Adidas.com) was accessed from the moment of the initial request to the establishment of an encrypted HTTPS session.

Instead of following traditional network analysis (which starts with DNS and moves forward), we optimized our workflow by:
βœ… Starting with the first actual connection attempt (IP discovery)
βœ… Working backward to find the DNS resolution that led to that IP
βœ… Moving forward through TCP, TLS, and HTTPS to confirm how the session was established

This approach eliminated unnecessary manual tracking of irrelevant DNS queries and focused directly on the IP and its related traffic.

**πŸ”Ή Step-by-Step Summary of the Analysis**

1️⃣ Identifying the First Connection Attempt
πŸ“Œ Filter Used:
tcp.flags.syn == 1 or udp.port == 443
πŸ”Ή This filter was applied to find the first actual network connection attempt (either via TCP SYN for HTTPS or UDP for QUIC).
πŸ”Ή The first result (Packet 1374) showed an IPv6 connection to www.adidas.com.

**πŸ“Œ Key Takeaways:**
βœ… The website was contacted over IPv6, meaning an AAAA record must have been returned.
βœ… The connection used TCP over port 443, meaning Adidas was not using QUIC (HTTP/3).

2️⃣ Finding the Exact DNS Resolution
πŸ“Œ Filter Used:

dns.aaaa == 2600:1406:2e00:28::17cb:a617
πŸ”Ή This filter jumped directly to the DNS response that provided the IPv6 address used in the connection.
πŸ”Ή Instead of manually searching for Adidas DNS queries, we worked backward from the IP itself.

**πŸ“Œ Key Takeaways:**
βœ… www.adidas.com did not resolve directly to an IPβ€”it first went through a CNAME chain via Akamai’s CDN.
βœ… The final resolved address was 2600:1406:2e00:28::17cb:a617, which matched the IP used in the TCP handshake.

**3️⃣ Moving Forward to Analyze the TLS & HTTPS Session**

πŸ“Œ Filter Used:
ip.addr == 2600:1406:2e00:28::17cb:a617
πŸ”Ή This displayed all traffic between the system and Adidas.com, including:

The TCP handshake (confirming the three-way handshake).

The TLS handshake (Server Hello, Certificate Exchange, etc.).

The encrypted HTTPS data exchange.

πŸ“Œ Key Takeaways:
βœ… Adidas.com uses TLS over TCP, not QUIC.
βœ… The full session was encrypted, confirming HTTPS was successfully established.
βœ… No additional unexpected hosts were involvedβ€”everything was routed through Akamai’s CDN servers.

**πŸ”Ή Final Strategy for All Future Network Flow Analysis**
This method should be the standard for all future Wireshark-based network analysis:

πŸš€ The Optimized Three-Step Process
1️⃣ Start With the First Connection (Find the IP)

πŸ“Œ Use this filter to find the first real connection attempt:

tcp.flags.syn == 1 or udp.port == 443

βœ… This immediately tells us:
Whether the connection used IPv4 (A record) or IPv6 (AAAA record)
Whether it was TCP (TLS) or UDP (QUIC)

**2️⃣ Work Backward to Find the DNS Resolution**
πŸ“Œ Once the IP is known, apply one of these filters to find its DNS response:
dns.aaaa == [IPv6 Address]
dns.a == [IPv4 Address]
βœ… This instantly reveals the exact DNS resolution instead of manually tracking all queries.

**3️⃣ Move Forward Through TCP, TLS, and HTTPS**

πŸ“Œ Use this filter to isolate all activity related to that IP:
ip.addr == [Resolved IP]

βœ… This displays:
The TCP handshake (SYN, SYN-ACK, ACK)
The TLS handshake (Client Hello, Server Hello, Encryption Setup)
The actual encrypted HTTPS session

**πŸ”Ή Why This Approach Is Better Than Traditional Methods**
βœ… Eliminates unnecessary manual tracking of multiple DNS queries.
βœ… Directly finds the actual IP used in the connection instead of guessing.
βœ… Works backward efficiently to find the exact DNS response.
βœ… Moves forward through all network layers (TCP, TLS, HTTPS) without confusion.
βœ… Drastically reduces time spent searching for packets in large captures.

**πŸ”Ή Final Confirmation: We Met All Project Objectives**
βœ… We successfully identified how Adidas.com was accessed.
βœ… We confirmed that IPv6 was used.
βœ… We confirmed DNS resolution via Akamai’s CDN.
βœ… We confirmed TCP was used (not QUIC).
βœ… We identified the TLS handshake and encrypted session.
βœ… We established a clear, repeatable methodology for future network flow analysis.