Protocol Analysis
Wireshark dissects over 3,000 protocols. Understanding the most common ones — TCP, UDP, HTTP, DNS, and SSL/TLS — is essential for effective network troubleshooting and security analysis.
Tip
TCP — Transmission Control Protocol
Common display filters for TCP analysis:
tcp
All TCP traffic
tcp.port == 80
TCP on port 80
tcp.flags.syn == 1
TCP SYN packets
tcp.analysis.retransmission
Retransmissions
tcp.analysis.lost_segment
Lost segments
Key Fields
tcp.srcport, tcp.dstport, tcp.seq, tcp.ack, tcp.len, tcp.flags, tcp.window_size
UDP — User Datagram Protocol
Common display filters for UDP analysis:
udp
All UDP traffic
udp.port == 53
UDP DNS traffic
udp.length > 100
Large UDP packets
Key Fields
udp.srcport, udp.dstport, udp.length, udp.checksum
HTTP — Hypertext Transfer Protocol
Common display filters for HTTP analysis:
http
All HTTP traffic
http.request
HTTP requests only
http.response
HTTP responses only
http.request.method == "GET"
GET requests
http.response.code == 404
404 Not Found responses
Key Fields
http.host, http.uri, http.method, http.user_agent, http.cookie, http.referer
DNS — Domain Name System
Common display filters for DNS analysis:
dns
All DNS traffic
dns.qry.name contains "google"
Queries containing "google"
dns.flags.response == 0
DNS queries (not responses)
dns.flags.rcode != 0
DNS errors
Key Fields
dns.qry.name, dns.qry.type, dns.resp.name, dns.a, dns.aaaa
SSL/TLS — Secure Sockets Layer / Transport Layer Security
Common display filters for SSL/TLS analysis:
ssl
All SSL/TLS traffic
ssl.handshake.type == 1
Client Hello
ssl.handshake.type == 2
Server Hello
tls.handshake.extensions_sni
SNI extension present
Key Fields
ssl.handshake.version, tls.handshake.ciphersuite, ssl.record.content_type
ICMP — Internet Control Message Protocol
Common display filters for ICMP analysis:
icmp
All ICMP traffic
icmp.type == 8
Echo Request (ping)
icmp.type == 0
Echo Reply (ping reply)
icmp.type == 3
Destination Unreachable
Key Fields
icmp.type, icmp.code, icmp.data_time, icmp.checksum
TCP Three-Way Handshake
Understanding the TCP handshake is fundamental. Here is how Wireshark shows it:
SYN
Client sends a SYN packet to initiate connection. Filter: tcp.flags.syn == 1 and tcp.flags.ack == 0
SYN-ACK
Server responds with SYN and ACK flags. Filter: tcp.flags.syn == 1 and tcp.flags.ack == 1
ACK
Client sends final ACK. Connection established. Filter: tcp.flags.syn == 0 and tcp.flags.ack == 1
Analyzing Conversations
Use Statistics > Conversations to see all unique connections between endpoints, sorted by packet count or bytes.
Warning