Network Protocols
Byte by Byte

Interactive protocol dissector — explore TCP handshakes, TLS negotiation, DNS resolution, and UDP datagrams at the byte level with real-time annotations.

▸ Start with TCP Packet Builder →
Fundamentals
Protocol Layer Stack
Every network packet is an onion of encapsulated layers. Click a layer to see what happens at each level.
Transmission Control Protocol
TCP Three-Way Handshake
Connection-oriented, reliable delivery. Every TCP connection starts with SYN → SYN-ACK → ACK before any data can flow.
TCP Connection Establishment
Client
Browser
192.168.1.42:54321
Server
Web Server
93.184.216.34:443
TCP SYN Packet 64 bytes
← Hover over hex bytes or click a field row to see detailed annotations
Sequence Numbers
TCP uses 32-bit sequence numbers to track byte position in the stream. The ISN (Initial Sequence Number) is randomly generated to prevent spoofing and collisions from old connections. Each side independently picks its own ISN during the handshake.
Window Size
The receive window advertises how many bytes the receiver can buffer. This implements flow control — the sender must not have more unacknowledged bytes in flight than the receiver's window allows. Window scaling (RFC 7323) extends this to 1 GiB.
TCP Options
During SYN, endpoints negotiate: MSS (Max Segment Size), Window Scale factor, SACK (Selective ACK) support, and Timestamps. These are TLV-encoded in the options field and can total up to 40 bytes.
Transport Layer Security
TLS 1.3 Handshake
After TCP connects, TLS negotiates encryption. TLS 1.3 reduced the handshake from 2-RTT to 1-RTT (0-RTT with PSK resumption).
TLS 1.3 ClientHello 512 bytes
← Hover bytes to inspect TLS record fields
TLS Field Breakdown
Key Differences: TLS 1.2 vs 1.3
TLS 1.2TLS 1.3
RTT2-RTT1-RTT (0-RTT PSK)
Key ExchangeRSA / DHE / ECDHEECDHE only (+ PSK)
Cipher Suites37 supported5 supported
Static RSAyesremoved
Forward SecrecyOptionalmandatory
Encrypted Handshakenoafter ServerHello
Domain Name System
DNS Resolution
Before TCP/TLS, the browser must resolve the domain name. DNS typically uses UDP:53 (but falls back to TCP for large responses or zone transfers).
DNS UDP A Record Query 43 bytes
← Hover bytes to inspect DNS message structure
DNS Field Breakdown
Resolution Chain
Browser cache → OS cache → Resolver → Root (.) → TLD (.com) → Authoritative NS → Answer. Each step may involve its own UDP query/response.
Record Types
A (IPv4), AAAA (IPv6), CNAME (alias), MX (mail), NS (nameserver), TXT (arbitrary text, SPF/DKIM), SRV (service discovery), SOA (zone authority).
User Datagram Protocol
UDP — Fire and Forget
Connectionless, no handshake, no guaranteed delivery, no ordering. Just an 8-byte header and your data. Used by DNS, QUIC, gaming, VoIP, video streaming.
UDP UDP Datagram Header 8 bytes header
← Only 8 bytes of header — the simplest transport protocol
TCPUDP
ConnectionHandshake requiredConnectionless
Header Size20-60 bytes8 bytes
Orderingguaranteednone
ReliabilityRetransmission + ACKBest-effort
Flow ControlWindow-basednone
Use CasesHTTP, SSH, SMTPDNS, QUIC, gaming

Click "Send" to fire 8 UDP datagrams. Some may arrive out of order, some may be lost entirely — that's UDP.

SENT ORDER:
RECEIVED ORDER:
Interactive
Packet Builder
Construct a TCP packet interactively. Adjust fields and watch the hex dump update in real time.
TCP Live Packet Preview 20 bytes
← Modify fields on the left to see the packet change