Wireshark Tactical Cheat Sheet

A mission-critical guide for protocol analysis, display filtering, and forensic packet dissection.

Tactical Briefing: Wireshark Core

Wireshark is the industry-standard Network Protocol Analyzer. It serves as an observer-only tool that captures binary data directly from the Network Interface Card (NIC) and translates it into human-readable protocol dissection. By stripping away abstraction, it allows analysts to see the literal "truth" of what is happening on the wire.

Unlike a SIEM which logs high-level events, Wireshark provides the forensic payload. It is the definitive tool for verifying that security controls (like encryption) are functional and that traffic patterns match expected behavior.

Functional Scope

  • Live Packet Capture (Pcap)
  • Deep Protocol Dissection
  • Payload Decryption (TLS)
  • Conversation Reconstruction

Troubleshooting

Trace "weird" latency, identify retransmissions, and find faulty network configurations like MTU mismatches or ICMP redirects.

Threat Hunting

Identify Command & Control (C2) beaconing, detect ARP spoofing attempts, and flag suspicious data exfiltration signatures.

Forensics

Extract clear-text credentials from unencrypted protocols and reconstruct file transfers (like .exe or .zip) from captured streams.

Compliance

Validate that sensitive traffic is properly encrypted (TLS/SSL) and verify that firewalls are correctly dropping unauthorized ports.

Defenders vs Attackers: Operations Scope

Understanding how both sides leverage packet analysis is key to identifying hostile intent within a capture.

Blue Team / Defenders

Forensic Payload Analysis

Reconstructing objects from SMB or HTTP streams to identify the specific malware variant being introduced to the network.

Traffic Baselining

Using Protocol Hierarchy to spot deviations (e.g., 80% of traffic on Port 53 being exfiltration instead of DNS).

Service Validation

Confirming that "secure" protocols (LDAPS, HTTPS, SSH) are not reverting to insecure fallbacks (LDAP, HTTP, Telnet) during auth handshakes.

Red Team / Attackers

Passive Fingerprinting

Analyzing TCP Window sizes and TTL values to determine the host's OS without sending a single probe.

Credential Harvesting

Sniffing traffic on local segments to capture unencrypted auth headers or Telnet/FTP login sequences.

Exfiltration Pathfinding

Identifying ports allowed through egress firewalls (e.g., DNS, NTP) to use as covert exfiltration tunnels.

Exam Tip: The "X-Ray" CompTIA and Cisco exams often refer to Wireshark as an "X-ray" because it ignores OS abstractions to show raw data. If a scenario asks "How would an analyst prove a password was sent in clear-text?", the answer is Wireshark.

Advanced Tactical Features

Beyond basic filtering, these features automate the heavy lifting of traffic analysis and forensic reconstruction.

Follow Stream

Reassembles individual packets into a human-readable stream, removing protocol headers.

Usage: Right-click packet > Follow > TCP/UDP/HTTP Stream.

Real-Life Case: "Follow Stream" reveals the actual web shell commands an attacker is running in plain-text.

Expert Information

Summary of protocol anomalies, retransmissions, and errors found by Wireshark's built-in analysis engine.

Usage: Analyze > Expert Information.

Real-Life Case: Finding "TCP Zero Window" alerts to confirm a server's buffer is overwhelmed.

Endpoints & Conversations

Statistical lists of all hosts and communicating pairs found in the capture.

Usage: Statistics > Endpoints.

Real-Life Case: Finding one host talking to 500+ devices on port 445, flagging lateral movement.

I/O Graphs

Graphical visualization of throughput over time. Used to find spikes or periodic traffic patterns.

Usage: Statistics > I/O Graphs.

Real-Life Case: Visualizing a 60-second "heartbeat" to identify a C2 beacon.

Decrypting TLS

Injecting secrets to transform encrypted payloads back into readable application data.

Usage: preferences > protocols > TLS > Master-Secret log filename.

Real-Life Case: Decrypting an HTTPS session revealing credentials being sent to a rogue API endpoint.

Protocol Hierarchy

Top-down breakdown of all traffic by protocol, showing packet counts and bandwidth distribution.

Usage: Statistics > Protocol Hierarchy.

Real-Life Case: Discovering that 90% of "Port 443" traffic is actually BitTorrent, not HTTPS.

Filter Mechanics & Logic Operators

Capture Filters (BPF)

PRE-CAPTURE

Implemented via the BPF engine. This filter tells the NIC exactly which packets to copy to RAM.

not port 443
host 192.168.1.10 and icmp

Display Filters

POST-CAPTURE

Applied to existing data in the UI. These are safe, non-destructive logic expressions.

tcp.flags.syn == 1 && !tcp.port == 443
http contains "admin"
ClassOperatorTactical LogicReturn Result
Equality== , !=Matches or excludes specific values.Boolean
Logical&& , || , !Combines multiple conditions (AND, OR, NOT).Set Intersection
SearchcontainsSearches payloads for pattern match strings.Pattern Match
Membershipin {val1 val2}Matches if field value exists within a set.List Selection
Slice[n:m]Matches specific bytes starting at offset n.Byte Range

Offset & Slice Syntax [n:m]

eth.addr[0:3] == 00:0c:29

Filters for VMware virtual machines by matching the first 3 bytes (OUI).

Bitwise Match Filter (&)

tcp.flags & 0x02

Finds SYN packets regardless of other flags (matches SYN and SYN/ACK).

TCP Flag Tactical Reference

Recognizing hex values for flags allows you to identify connection states and hostile scans without expanding packet details.

CWR0
ECE0
URG0
ACK1
PSH0
RST0
SYN1
FIN0
Flag StateHex ValueFilter SignatureScenario
SYN0x02tcp.flags == 0x02Handshake request. Target discovery probe.
SYN/ACK0x12tcp.flags == 0x12Server confirmation. Port is OPEN.
RST/ACK0x14tcp.flags == 0x14Reset acknowledgement. Port is CLOSED.
PSH/ACK0x18tcp.flags == 0x18Active data transmission signature (HTTP/etc).
XMAS Scan0x29tcp.flags == 0x29FIN+PSH+URG set. Hostile bypass probe.
NULL Scan0x00tcp.flags == 0x00No flags set. Hostile OS fingerprinting probe.

Interactive Packet Explorer

Select packets to see the Three-Pane Layout in action. Linkages between the Details (middle) and Bytes (bottom) help you find actual data.

MISSION: FIND THE NEEDLE

A high-value target has sent a password in clear-text over HTTP. Your objective: Identify the packet and locate the password string in the Packet Bytes pane.

DISPLAY_FILTER:
No.TimeSourceDestinationProtocolInfo
Select a packet from the list above...
[HEX_STREAM_OFFLINE]

Common Display Filters Library

Discovery & Subnets

icmp or arp
dhcp or bootp or ipv6
ip.addr == 192.168.1.0/24

"Check DHCP for IP assignment, then ARP for gateway discovery."

Web & SSL/TLS Analysis

dns or tls
http.request or http.response
tls.handshake.type == 1

"Find slow handshakes via TLS 'Client Hello' (type 1) timing."

Malware & Recon Hunt

tcp.flags.syn == 1 && tcp.flags.ack == 0
http contains "powershell"
ip.ttl < 10

"Hunt for scanning behavior or unauthorized admin tool execution."

Authentication & Identity

kerberos or ntlmssp
ldap or radius
ntlmssp.auth.user

"Identify users logged into a specific machine via NTLM auth."

Data Exfiltration

dns.qry.name.len > 50
icmp.size > 100
frame.len > 1200

"Detect DNS tunneling via unusually long, non-cached queries."

Forensic Anomaly Hunt

tcp.analysis.retransmission
tcp.flags.reset == 1
tcp.analysis.zero_window

"Identify buffer overflows or application-layer DoS scenarios."

Email Analysis

smtp or pop or imap
smtp.req.command == "DATA"

"Locate unencrypted SMTP data phases indicating outbound phish."

File Shares

smb2 or nfs
smb2.filename contains ".exe"

"Audit lateral file movement by searching for executables over SMB."

Database & Industrial

mysql or tds or pgsql
tds contains "SELECT"

"Find SQL injection or unauthorized DB queries in plain-text."

Infrastructure & Noise

eth.dst == ff:ff:ff:ff:ff:ff
stp or cdp or lldp or ntp

"Diagnose broadcast storms or locate rogue infrastructure devices."

VoIP & Multimedia

sip or rtp or rtcp
rtp.payload_type == 0

"Troubleshoot call quality by isolating voice streams (RTP) from signaling."

Wireless / 802.11

wlan.fc.type_subtype == 0x08
wlan.fc.type_subtype == 0x0c

"Identify Deauthentication attacks via management frame subtype 0x0c."