200+ Wireshark Filters & Commands (2026) | Complete Packet Analysis Guide | A7 Security Hunters

A7 Security Hunters · Security Training & Research

Table of Contents

200+ Wireshark Filters & Commands (2026): The Complete Packet Analysis Guide

Master Wireshark from first capture to advanced analysis: capture filters (BPF), display filters, TCP/UDP/DNS/HTTP/TLS dissection, ARP and DHCP analysis, malware traffic analysis, network troubleshooting, and a full cheat sheet — with 200+ copy-paste filters, 50 FAQs, and hands-on labs for your own network.

200+ Filters50 FAQs20+ Tables4 LabsTShark

⚡ 60-Second Summary

Wireshark is a free, open-source network protocol analyzer that captures and inspects network traffic in real time. Created by Gerald Combs in 1998 (originally as Ethereal), it decodes hundreds of protocols into readable fields so you can see exactly what flows across your network.

  • Capture filters (BPF, applied before capture): host 192.168.1.10 or tcp port 443
  • Display filters (applied to captured data): ip.addr == 192.168.1.10 or http.request
  • See conversations: right-click a packet → Follow TCP Stream
  • Get files out of traffic: File → Export Objects → HTTP
  • CLI twin: tshark -r capture.pcap -Y "http" for scripting

Remember one workflow: capture with a tight capture filter → analyze with display filters → follow streams → check Statistics → document with screenshots. That loop solves most network questions.

What you will learnInstallation on Windows, Linux & macOS, interface navigation, and troubleshooting.
Filter referenceCapture (BPF) and display filters grouped by protocol, with syntax and pitfalls.
Hands-on labsFour guided captures on traffic you generate yourself — no production systems touched.
Professional contextMalware analysis, SOC workflows, tcpdump comparison, cheat sheet, and the A7 analysis method.

Quick Answer: What Is Wireshark?

What is Wireshark?

Wireshark is a network protocol analyzer that captures and analyzes network traffic in real time. It is widely used by network administrators, cybersecurity professionals, penetration testers, incident responders, and students to troubleshoot network issues, investigate security incidents, and understand how network protocols communicate.

Two filter types: capture filters use BPF syntax (tcp port 80) and apply during capture; display filters use Wireshark’s field syntax (tcp.port == 80) and filter already-captured packets.

1 · What Is Wireshark?

Wireshark puts raw network traffic under a microscope. It captures frames from a network interface (or reads them from a saved file), then decodes each frame through protocol dissectors — turning opaque bytes into readable trees: Ethernet → IP → TCP → HTTP → payload. The result is the definitive answer to “what is actually happening on my network?”

Key facts: first released in 1998 as Ethereal by Gerald Combs; renamed to Wireshark in 2006. It is GPL-licensed, runs on Windows, Linux, and macOS, and reads/writes more than 30 capture formats (pcap, pcapng, and others) so it can analyze files produced by tcpdump, Npcap, Wireshark itself, and many appliances.

Live capture

Real-time analysis of any interface, including Wi-Fi (with monitor-mode support where the adapter allows).

Deep dissection

2,000+ protocol dissectors decode everything from Ethernet to application payloads.

Powerful filters

BPF capture filters plus a field-based display-filter language with autocomplete.

Extensible

Lua scripting, custom dissectors, TShark for the CLI, and a full statistics toolkit.

2 · Why Use Wireshark?

Network troubleshooting

Latency, packet loss, retransmissions, and failed connections become visible facts instead of guesses. Wireshark’s Expert Info flags the anomalies automatically.

Security analysis

SOC analysts and incident responders examine suspicious traffic, extract malware artifacts, and trace attacker behavior — see the malware-analysis section below.

Protocol learning

There is no better way to learn TCP, DNS, HTTP, or TLS than watching the actual exchanges. Students see the handshake, the flags, and the sequence numbers live.

Penetration testing

Validating that a payload connected, confirming a reverse shell, or checking what a scanner actually sent — Wireshark is the evidence layer under every pentest.

Application debugging

Developers verify API calls, protocol implementations, and performance issues at the byte level.

Compliance & forensics

Packet captures are court-defensible evidence when collected properly — timestamped, hashed, and documented.

3 · Who Should Learn Wireshark?

RoleWhy Wireshark matters
Network administratorsDiagnose latency, drops, and misconfigurations on the wire
SOC analystsInvestigate alerts, confirm IoCs, extract artifacts from captures
Incident respondersAnalyze pcap evidence of breaches and lateral movement
Penetration testersVerify payload delivery, reverse shells, and scanner behavior
Students & traineesSee protocols actually working — the fastest way to internalize TCP/IP
Application developersDebug APIs, protocols, and performance at packet level
Security researchersReverse-engineer protocols and analyze malware behavior

4 · Features of Wireshark

  • Live capture and offline analysis — capture directly or open saved pcap/pcapng files.
  • Deep protocol inspection — 2,000+ dissectors across Ethernet, IP, TCP/UDP, and applications.
  • Capture filters (BPF) — limit what gets recorded, reducing file size and noise.
  • Display filters — a full field-based language with autocomplete, comparison, and regex operators.
  • Coloring rules — color-code traffic by protocol, error, or conversation for instant scanning.
  • Follow Stream — rebuild TCP/UDP/TLS streams as readable conversation views.
  • Export Objects — extract files (images, documents, executables) transferred over HTTP/SMB.
  • Statistics — protocol hierarchy, conversations, endpoints, IO graphs, and service-response times.
  • Expert Info — automatic detection of retransmissions, duplicate ACKs, and other anomalies.
  • TShark CLI — the same engine without the GUI, for scripts and servers.
  • Lua scripting — custom dissectors, taps, and automation.
  • Decryption support — TLS key-log files and IPsec keys for authorized analysis.

5 · Installing Wireshark

Windows

  1. Download the 64-bit installer from wireshark.org/download.html.
  2. Run the installer. When prompted, install Npcap — the capture driver Wireshark depends on. Keep “Start Npcap Service at boot” checked.
  3. Optionally check “Add Wireshark to PATH” for CLI tools like tshark and capinfos.

Linux

Debian / Ubuntu / Kali
sudo apt update && sudo apt install -y wireshark
# when asked about non-superuser capture, choose Yes
sudo usermod -aG wireshark $USER
# log out and back in for the group to take effect
RHEL / Fedora
sudo dnf install -y wireshark-cli wireshark

macOS

Homebrew
brew install --cask wireshark

Verify the Installation

Version + interfaces
wireshark --version
tshark --version
tshark -D          # list capture interfaces

Installation Troubleshooting

SymptomCauseFix
“There are no interfaces on which a capture can be done”No capture driver or permissionsWindows: install Npcap. Linux: add user to wireshark group
Capture starts but zero packetsWrong interface or VM networkingPick the correct NIC; in VMs use bridged mode or capture on the host
tshark: command not foundCLI tools not on PATHWindows: reinstall with PATH option. Linux: install wireshark-cli
No Wi-Fi packets in monitor modeAdapter or OS restrictionsOnly some adapters support monitor mode; use an external adapter (e.g., Alfa) in labs
GUI opens but capture failsNpcap service stoppedWindows: start “Npcap” service in services.msc
Huge capture files fill the diskNo capture filter, no ring bufferUse capture filters + multiple files (ring buffer) in Capture Options

6 · Understanding the Interface

Wireshark’s main window is built around three panes, all driven by a single selected packet:

  1. Packet List pane (top): one row per packet — number, time, source, destination, protocol, length, and info. Click a row to inspect it.
  2. Packet Details pane (middle): the decoded protocol tree: Frame → Ethernet → IP → TCP → application. Expand any field; field names here are the basis of display filters.
  3. Packet Bytes pane (bottom): the raw packet in hex and ASCII. Clicking bytes highlights the corresponding decoded field.

Key interface elements: the filter toolbar (with a green/red background indicating valid/invalid display filters), the main toolbar (start/stop capture, open/save), the status bar (capture stats), and Expert Info (the color-coded warning icon in the status bar). Coloring rules tint packets (e.g., black = TCP problems, red = bad TCP) so anomalies jump out visually.

Pro tipRight-click any field in the Details pane → Apply as Filter or Prepare as Filter. This is the fastest way to learn display-filter syntax — Wireshark writes it for you, and you learn the field names by reading it.

7 · Capture Filters (BPF Syntax)

Capture filters run inside the capture driver and discard non-matching packets before they reach Wireshark. They use Berkeley Packet Filter (BPF) syntax — the same language as tcpdump. Use them to control volume; use display filters for analysis.

Capture Filter (BPF)What it captures
host 192.168.1.10Traffic to/from one host
src host 192.168.1.10Traffic from one host only
dst host 192.168.1.10Traffic to one host only
net 192.168.1.0/24Traffic to/from a subnet
port 80Traffic on port 80 (any protocol)
tcp port 443TCP traffic on port 443
udp port 53UDP traffic on port 53 (DNS)
portrange 8000-9000Traffic on a port range
icmpAll ICMP traffic (ping, errors)
arpAll ARP traffic
tcp / udpAll TCP / all UDP traffic
not arpEverything except ARP (reduces local noise)
port 80 or port 443HTTP or HTTPS traffic
tcp and not port 22All TCP except SSH
host 10.0.0.5 and tcp port 445Combined host + port
tcp[tcpflags] & (tcp-syn) != 0Only TCP SYN packets (handshake starts)
vlan 100Traffic in VLAN 100
ether host aa:bb:cc:dd:ee:ffTraffic to/from a MAC address
ip6All IPv6 traffic
Common mistakeTyping a display filter (tcp.port == 80) into the capture-filter box. BPF syntax uses port 80, not tcp.port == 80 — the capture-filter box rejects display-filter syntax with an error dialog.

8 · Display Filters (Field-Based Syntax)

Display filters operate on already-captured packets and only change what you see — nothing is deleted. They reference protocol fields by name (exactly as shown in the Packet Details pane) and support comparison, logical, and regex operators.

Operators

OperatorMeaningExample
==Equalsip.src == 192.168.1.10
!=Not equalip.src != 192.168.1.1
> < >= <=Comparison (numbers)frame.len > 1000
containsSubstring matchframe contains "password"
matchesRegex match (PCRE)http.host matches "\.(com|net)$"
inMembership in a settcp.port in {80,443,8080}
and / &&Logical ANDtcp.port == 443 and ip.addr == 10.0.0.5
or / ||Logical ORdns or mdns
not / !Logical NOTnot arp
( )Grouping(tcp.port == 80 or tcp.port == 443) and ip.src == 10.0.0.0/24

Essential Display Filters

Display FilterWhat it shows
ip.addr == 192.168.1.10Any traffic involving that IP (either direction)
ip.src == 192.168.1.10Traffic from that IP
ip.dst == 192.168.1.10Traffic to that IP
tcp.port == 443Traffic on port 443 (either direction)
tcp.flags.syn == 1SYN packets (connection attempts)
tcp.flags.reset == 1RST packets (refused/aborted connections)
httpAll HTTP packets
http.requestHTTP requests only
http.responseHTTP responses only
dnsAll DNS traffic
dns.flags.response == 0DNS queries only
dns.flags.response == 1DNS responses only
icmpAll ICMP traffic
arpAll ARP traffic
dhcp (or bootp)All DHCP traffic
tls (or ssl)All TLS/SSL traffic
tcp.analysis.retransmissionTCP retransmissions (packet loss indicator)
tcp.analysis.duplicate_ackDuplicate ACKs
tcp.analysis.zero_windowReceiver buffer full (backpressure)
frame contains "GET /"Any packet containing that byte sequence
frame.len > 1400Large (likely full-MTU) packets
udp.port == 53UDP DNS traffic
ip.version == 6IPv6 only
eth.addr == aa:bb:cc:dd:ee:ffTraffic to/from a MAC
http.response.code == 404HTTP 404 responses
tcp.analysis.flagsAny packet flagged by TCP analysis
Autocomplete is your teacherStart typing tcp. in the filter box and Wireshark lists every field. Field names come from the dissectors and are shown in the Details pane — the filter box color turns green when your syntax is valid.

9 · TCP Analysis

TCP is the protocol you will analyze most. Start with the three-way handshake, then learn to read the analysis flags Wireshark computes automatically.

The Three-Way Handshake in Wireshark

#1 Client → SYN#2 Server → SYN-ACK#3 Client → ACK
Filter: show only handshake packets
tcp.flags.syn == 1

Look for the [SYN], [SYN, ACK], [ACK] sequence in the Info column. A [RST, ACK] instead of [SYN, ACK] means the port is closed; silence means filtered.

TCP Analysis Flags (Expert Info)

FilterMeaningTypical cause
tcp.analysis.retransmissionSame segment sent againPacket loss, network congestion
tcp.analysis.fast_retransmissionRetransmission triggered by duplicate ACKsLoss without timeout
tcp.analysis.duplicate_ackACK for already-acked dataOut-of-order or lost segment
tcp.analysis.zero_windowReceiver advertises 0 windowApplication not reading fast enough
tcp.analysis.window_updateWindow size increasedReceiver recovered
tcp.analysis.ack_lost_segmentACK references a missing segmentLoss detected by receiver
tcp.analysis.out-of-orderSegment arrived out of sequencePath changes or load balancing
tcp.analysis.keep_aliveKeep-alive probeIdle connection check
tcp.analysis.flagsAny of the aboveQuick anomaly sweep
Reading retransmissionsA few retransmissions are normal on the internet. What matters is the pattern: repeated retransmissions to one host + zero-window events = the application or link is the bottleneck. Check the IO Graph (Statistics → IO Graph) for the retransmission rate over time.

10 · UDP Analysis

UDP is connectionless — no handshake, no sequence numbers, no retransmissions. Analysis is simpler: source/destination port, length, and payload. Wireshark still flags anomalies where it can (e.g., IP fragmentation, checksum errors).

FilterWhat it shows
udpAll UDP traffic
udp.port == 53UDP DNS
udp.port == 123NTP
udp.port == 161SNMP
udp.port == 67 or udp.port == 68DHCP client/server
udp.length > 1000Large UDP datagrams
udp.checksum.status == 0UDP checksum errors

Common UDP issues: packet loss is invisible to the protocol itself (applications detect it), and firewalls often drop UDP silently. When a UDP service “doesn’t work”, Wireshark answers the first question: did the request even leave the client, and did any response come back?

11 · DNS Analysis

DNS maps names to addresses and is involved in nearly every connection — which makes it a goldmine for troubleshooting and security analysis (C2 domains, DNS tunneling, phishing).

FilterWhat it shows
dnsAll DNS traffic
dns.flags.response == 0DNS queries
dns.flags.response == 1DNS responses
dns.qry.name == "example.com"Queries for a specific name
dns.qry.name contains "admin"Queries whose name contains a string
dns.flags.rcode == 3NXDOMAIN responses (name not found)
dns.aResponses containing A records
dns.resp.type == 5CNAME responses
dns.qry.type == 28AAAA (IPv6) queries
dns.count.answers > 0Responses with answers
dns.qry.name matches "\.(exe|zip|ps1)$"Queries for suspicious file-like names
Find every unique queried domain
Statistics → DNS → display the query-name table

Troubleshooting pattern: query sent but no response → DNS server unreachable or UDP 53 blocked; NXDOMAIN → name genuinely doesn’t exist (typo or missing record); SERVFAIL → server-side problem; wrong IP returned → stale cache or DNS hijacking.

12 · HTTP & HTTPS Analysis

HTTP is the easiest protocol to read in Wireshark — requests and responses are human-readable, and the analysis tools are excellent.

HTTP Display Filters

FilterWhat it shows
httpAll HTTP packets
http.requestHTTP requests
http.responseHTTP responses
http.request.method == "GET"GET requests
http.request.method == "POST"POST requests (form/API submissions)
http.host == "example.com"Requests for a specific host
http.response.code == 404404 responses
http.response.code >= 500Server errors
http.user_agentRequests with a User-Agent header
http.request.uri contains "login"Requests hitting login paths
http.content_type == "text/html"HTML responses
http.authorizationRequests carrying Basic auth (base64)

Follow Stream & Export Objects

Rebuild an HTTP conversation
Right-click any HTTP packet → Follow → TCP Stream
Extract files transferred over HTTP
File → Export Objects → HTTP → select files → Save

HTTPS: TLS encrypts the payload, so you see the handshake and metadata (Server Name Indication, certificates, cipher suites) but not the content — unless you supply decryption keys (see the TLS section). For web-app testing of decrypted traffic, pair Wireshark with Burp Suite: configure Burp as the proxy and capture from Wireshark at the same time.

Security noteUnencrypted HTTP carries credentials and session tokens in cleartext. Watching one HTTP login in Wireshark is the most persuasive argument for HTTPS you will ever see — and a standard A7 lab exercise.

13 · ICMP Analysis

ICMP carries ping (echo), errors, and path information. It is the first protocol to check when a host “isn’t reachable”.

FilterWhat it shows
icmpAll ICMP traffic
icmp.type == 8Echo requests (ping sent)
icmp.type == 0Echo replies (ping answered)
icmp.type == 3Destination unreachable
icmp.type == 11Time exceeded (TTL — traceroute)
icmp.type == 5Redirect messages
icmp.checksum.status == 0Bad ICMP checksums
icmp.seq == 1Specific sequence number

Troubleshooting pattern: requests sent but no replies → firewall blocks ICMP or host is down; replies with long RTT → latency; Destination unreachable (Port unreachable) → a UDP port is closed (useful cross-check for Nmap UDP results); Time exceeded → TTL too small or routing loop.

14 · ARP Analysis

ARP maps IPv4 addresses to MAC addresses on local networks. It is broadcast-based, unauthenticated — and therefore a favorite target for attackers (ARP spoofing/poisoning).

FilterWhat it shows
arpAll ARP traffic
arp.opcode == 1ARP requests (“who has X?”)
arp.opcode == 2ARP replies (“X is at MAC”)
arp.src.proto_ipv4 == 192.168.1.10ARP from a specific IP
arp.isgratuitous == 1Gratuitous ARP (unsolicited announcements)
arp.duplicate-address-detectedTwo hosts claim the same IP
arp.hw.size == 6Standard MAC-size ARP

Security pattern — ARP spoofing: one IP address answered by many different MACs over time, or a flood of gratuitous ARP replies, indicates poisoning. In a lab, run arpspoof (from dsniff) and watch the victim’s ARP cache change — then examine the same evidence in Wireshark to learn what the attack looks like on the wire.

15 · DHCP Analysis

DHCP (Dynamic Host Configuration Protocol) assigns IP configuration automatically. The DORA exchange — Discover, Offer, Request, Acknowledge — is easy to follow in Wireshark.

DiscoverClient broadcasts for a server
OfferServer offers a lease
RequestClient accepts
ACKServer confirms lease
FilterWhat it shows
dhcp / bootpAll DHCP traffic (older versions use bootp)
dhcp.option.dhcp == 1DHCP Discover
dhcp.option.dhcp == 2DHCP Offer
dhcp.option.dhcp == 3DHCP Request
dhcp.option.dhcp == 5DHCP ACK
dhcp.option.hostnameClient hostname option
dhcp.option.routerOffered default gateway
dhcp.option.domain_name_serverOffered DNS servers
dhcp.option.requested_ip_addressClient asking for a specific IP
dhcp.option.lease_timeLease duration

Troubleshooting pattern: Discover sent but no Offer → no reachable DHCP server (check VLANs/relays); repeated Requests → lease conflicts or server misconfiguration; a rogue DHCP server is identifiable because two servers answer with different Offers — filter by dhcp.option.dhcp == 2 and inspect the sender IPs.

16 · SSL/TLS Analysis

TLS secures HTTPS, SMTP, IMAP, and most modern APIs. In Wireshark you can see the handshake, cipher suites, certificates, and SNI — and with key material, decrypt the session (authorized analysis only).

TLS Handshake & Metadata Filters

FilterWhat it shows
tls (older: ssl)All TLS traffic
tls.handshake.type == 1ClientHello
tls.handshake.type == 2ServerHello
tls.handshake.type == 11Certificate
tls.handshake.extensions.server_nameSNI — the hostname requested (visible even in TLS 1.3)
tls.record.version == 0x0303TLS 1.2 records
tls.record.version == 0x0304TLS 1.3 records
tls.handshake.ciphersuite == 0x1301TLS_AES_128_GCM_SHA256 (TLS 1.3)
tls.handshake.certificatePackets carrying certificates
tls.alertTLS alerts (handshake failures, fatal errors)

Decrypting TLS with a Key Log File (Authorized Analysis)

  1. Set the environment variable SSLKEYLOGFILE=/path/keys.log before launching the browser or application you want to decrypt (Firefox and Chrome both support it).
  2. In Wireshark: Edit → Preferences → Protocols → TLS → set (Pre)-Master-Secret log filename to that file.
  3. Capture (or open the pcap) and Wireshark decrypts the sessions recorded in the log.
ImportantKey-log decryption only works for sessions whose keys you captured. It does not “break” TLS, and it applies only to traffic you are authorized to inspect. Also note that TLS 1.3’s forward secrecy means only the key-log method works — not RSA private keys.

17 · Malware Traffic Analysis

Malware must communicate: with a C2 server, to exfiltrate data, or to scan the network. That communication is evidence. A structured hunt turns a pcap into indicators.

The A7 Malware-Traffic Hunt Checklist

  1. Start with the outliers: tcp.analysis.flags or dns.flags.rcode == 3 — errors and failed lookups point to beaconing and dead C2s.
  2. List every DNS name: Statistics → DNS. Look for long random subdomains, new domains, or patterns matching a regex.
  3. Find unusual ports: tcp.port in {4444,5555,8080,9001} then Statistics → Endpoints to see uncommon pairs.
  4. Follow suspicious streams: right-click → Follow TCP Stream; look for binary blobs, encoded commands, or IRC-like chatter.
  5. Extract files: File → Export Objects (HTTP, SMB, TFTP) — then hash them and check VirusTotal.
  6. Check for common C2 strings: frame contains "cmd", http.request.uri contains "shell", frame contains "powershell".
  7. Geo-locate: enable MaxMind GeoIP (Preferences → Name Resolution) to see where endpoints resolve.
  8. Document: screenshot each finding with its filter string, timestamp, and IPs.
FilterWhat it surfaces
dns.qry.name matches "([a-z0-9]{20,})\.(com|net|top|xyz)$"Long random subdomains — classic DGA pattern
dns.flags.rcode == 3NXDOMAIN — failed C2 resolution
http.request.uri contains "upload"Potential exfiltration endpoints
http.user_agent contains "curl"Non-browser HTTP clients (automation)
frame contains "powershell"PowerShell in payloads
frame contains "cmd.exe"Command execution artifacts
tcp.port == 4444 or tcp.port == 6667Common C2/IRC ports
tls.handshake.extensions.server_name contains "cloudfront"C2 hiding behind CDNs
icmp and frame.len > 100Large ICMP — possible tunneling
Practice safelyAnalyze malware traffic only on captures you own, from sandboxes, or from published malware-pcap datasets (e.g., malware-traffic-analysis.net samples). Never run captured malware on production machines.

18 · Troubleshooting Networks with Wireshark

A systematic method beats random clicking. For every “the network is slow” report, run this sequence:

  1. Capture at the right point — on the affected client, with a capture filter (host <server>) to keep the file small.
  2. Check Expert Info — Analyze → Expert Info; fix the errors first, then look at warnings.
  3. Quantify retransmissions — filter tcp.analysis.retransmission; count them and check the IO Graph for the rate over time.
  4. Measure latency — filter tcp.analysis.ack_rtt to see per-segment round-trip times.
  5. Check the windowtcp.analysis.zero_window tells you if the receiver is the bottleneck.
  6. Confirm the handshaketcp.flags.syn == 1: if SYN gets no SYN-ACK, the server or a firewall is dropping it.
  7. Document — save a filtered view (File → Export Specified Packets) and a screenshot with the filter string visible.
SymptomFirst filter to tryWhat it tells you
Site loads slowlytcp.analysis.retransmissionPacket loss on the path
Connection hangstcp.flags.syn == 1Where the handshake stops
Downloads stalltcp.analysis.zero_windowReceiver or application buffer full
DNS failuresdns.flags.rcodeNXDOMAIN vs SERVFAIL vs timeout
“No internet”icmp.type == 8 or dnsIs the gateway reachable? Does DNS resolve?
Random disconnectstcp.flags.reset == 1Who sends RST — client, server, or middlebox
Voice/video jitterrtp and Statistics → RTPPacket loss and jitter per stream

19 · Common Errors and How to Fix Them

Error / SymptomCauseFix
Filter box turns redInvalid display-filter syntaxUse autocomplete; check quotes around strings ("GET")
“No interfaces found”Driver/permission problemInstall Npcap; add user to wireshark group
Capture filter rejectedBPF syntax errorRemember: tcp port 80, not tcp.port == 80
Promiscuous mode offAdapter or VM settingEnable promiscuous mode; VM NICs need host-side capture
File too large to openMulti-GB capturesRe-capture with filters; use ring buffers; editcap to trim
TLS shows only “Application Data”No decryption keysConfigure SSLKEYLOGFILE; check TLS version support
Duplicated packetsMultiple interfaces capturedCapture one interface; use not (vlan or mpls) where needed
Timestamps look wrongDisplay format/UTC settingView → Time Display Format → set Seconds Since Epoch or UTC
Can’t see HTTP on 8080Port not registered as HTTPEdit → Preferences → Protocols → HTTP → TCP port 8080
tshark output emptyWrong -Y filter or read filterTest the display filter in the GUI first
Checksum errors everywhereOffload (TCP checksum offloading) — often benignPreferences → Protocols → TCP → disable checksum validation
Note on checksumsOn many NICs, checksums are computed in hardware after capture, so Wireshark flags them as “incorrect” even though the network is fine. Disable validation in preferences before panicking.

20 · Best Practices for Packet Analysis

✔ Always

  • Capture with a tight capture filter; analyze with display filters
  • Use multiple files / ring buffers for long captures
  • Name captures descriptively (client1-to-app-2026-08-07.pcapng)
  • Document every finding with filter string + screenshot
  • Check Expert Info early — it finds what you didn’t think to look for
  • Redact sensitive payloads before sharing captures
  • Verify capture point: switch port, SPAN port, or tap for full visibility

✘ Avoid

  • Capturing without any filter on busy links (multi-GB files)
  • Trusting checksum errors on offloading NICs
  • Sharing pcaps with passwords, tokens, or PII in cleartext
  • Capturing traffic you aren’t authorized to inspect
  • Analyzing on the capture machine during heavy traffic (drop risk)
  • Ignoring timestamps — set a reliable clock source first
Coloring rules & profilesBuild a custom profile (Edit → Configuration Profiles) with your own coloring rules and filter buttons for your workflow. SOC analysts typically maintain separate profiles for general traffic, DNS, and malware hunting.

21 · Wireshark vs tcpdump (and TShark)

FeatureWiresharktcpdumpTShark
InterfaceGraphical (3-pane)Command lineCommand line
Capture engineNpcap / libpcaplibpcapNpcap / libpcap
Capture filtersBPFBPFBPF
Display filtersYes (GUI)No (only BPF)Yes (-Y)
Protocol dissectionDeep (2,000+ dissectors)BasicDeep (same engine)
Best forInteractive analysis, learning, forensicsQuick CLI capture on serversScripts, automation, remote analysis

When to use which: tcpdump is the right tool on a headless server or embedded device (tcpdump -i eth0 -w capture.pcap); Wireshark is the right tool for deep analysis afterward. TShark bridges both — capture with tcpdump, analyze with tshark -r, and open the same file in the GUI when you need visuals.

Typical CLI pipeline
tcpdump -i eth0 -w capture.pcap "tcp port 443"   # capture
tshark -r capture.pcap -Y "tls.handshake.type == 1" -T fields -e tls.handshake.extensions.server_name

22 · Wireshark Cheat Sheet (Top 50 Quick Filters)

GoalDisplay Filter
All traffic to/from an IPip.addr == 192.168.1.10
Traffic from an IPip.src == 192.168.1.10
Traffic to an IPip.dst == 192.168.1.10
Subnet trafficip.addr == 192.168.1.0/24
Port (either direction)tcp.port == 443
Any of several portstcp.port in {80,443,8080}
SYN packetstcp.flags.syn == 1
RST packetstcp.flags.reset == 1
Retransmissionstcp.analysis.retransmission
Duplicate ACKstcp.analysis.duplicate_ack
Zero windowtcp.analysis.zero_window
Any TCP anomalytcp.analysis.flags
All HTTPhttp
HTTP requestshttp.request
HTTP POSThttp.request.method == "POST"
HTTP errorshttp.response.code >= 400
Specific hosthttp.host == "example.com"
URI contains stringhttp.request.uri contains "admin"
All DNSdns
DNS queriesdns.flags.response == 0
DNS responsesdns.flags.response == 1
DNS for a namedns.qry.name == "example.com"
NXDOMAINdns.flags.rcode == 3
All TLStls
ClientHellotls.handshake.type == 1
Certificatestls.handshake.type == 11
SNI hostnamestls.handshake.extensions.server_name
TLS alertstls.alert
All ICMPicmp
Ping request/replyicmp.type == 8 or icmp.type == 0
Unreachableicmp.type == 3
All ARParp
ARP requestsarp.opcode == 1
Gratuitous ARParp.isgratuitous == 1
All DHCPdhcp
DHCP Discoverdhcp.option.dhcp == 1
DHCP ACKdhcp.option.dhcp == 5
All UDPudp
UDP DNSudp.port == 53
NTPntp
IPv6 onlyip.version == 6
MAC addresseth.addr == aa:bb:cc:dd:ee:ff
Packet contains stringframe contains "password"
Regex on packetframe matches "(?i)admin"
Large packetsframe.len > 1400
Broadcasteth.dst == ff:ff:ff:ff:ff:ff
Multicasteth.dst[0] && 1 == 1
Bad checksums_ws.malformed or ip.checksum.status == 0
Malformed packets_ws.malformed
Exclude ARP noisenot arp

Hands-On Lab Tutorials (Traffic You Generate Yourself)

These labs capture only traffic between your own machines or your own web requests — no production network is touched. Run them on a laptop, a lab VM, or a home router you administer.

Lab 1 — Capture and Read Your Own Web Traffic

  1. Start a capture on your active interface with capture filter tcp port 80 or tcp port 443.
  2. Open http://example.com in a browser, wait 5 seconds, then stop the capture.
  3. Apply http and inspect a GET request: expand HTTP → find User-Agent, Host, and the request URI.
  4. Right-click a request → Follow TCP Stream and read the full exchange.
  5. Note what you cannot see in the HTTPS requests (TLS Application Data) — then redo the lab with SSLKEYLOGFILE to decrypt your own traffic.

Lab 2 — DNS Query Analysis

  1. Capture with filter udp port 53.
  2. Run nslookup example.com and nslookup nonexistent-domain-xyz.example.
  3. Filter dns.flags.response == 1: find the A record in the first answer, and the rcode 3 (NXDOMAIN) in the second.
  4. Use Statistics → DNS to see the full query table.

Lab 3 — ARP and DHCP in One Capture

  1. On a machine connected to a DHCP network, capture with dhcp or arp.
  2. Run ipconfig /release then ipconfig /renew (Windows) or restart the network service (Linux).
  3. Watch the DORA exchange with dhcp.option.dhcp, then arp to see who-asks-who on the local segment.

Lab 4 — Diagnose a Slow Download

  1. Capture with tcp port 443 while downloading a large file from your own server (or a test file you control).
  2. Apply tcp.analysis.retransmission and count events; then tcp.analysis.ack_rtt for latency.
  3. Open Statistics → IO Graph with a “TCP retransmissions” filter layer to visualize loss over time.
Lab hygieneSave every capture as pcapng with a descriptive name, add a comment (right-click → Packet Comment), and document each finding with its filter string — exactly as you would in a real engagement.

Case Study (Training Lab Example)

Editorial noteWe publish only case studies from work we actually performed. Use this generic training example as a template and replace it with your own documented lab — dates, captures, and screenshots — before publishing.

Training Exercise: Protocol Anatomy via Authorized Test Captures

Context. During a training lab, students captured DNS, HTTP, and TCP traffic between authorized test systems to understand how protocols communicate. No production systems were involved; every packet was generated by student machines inside the isolated lab network.

Approach. Students applied capture filters (udp port 53, tcp port 80) to keep files small, then used display filters (dns.flags.response, http.request, tcp.flags.syn == 1) to isolate specific exchanges. Each student documented the three-way handshake, one DNS query/response pair, and one HTTP request/response with Follow Stream.

Findings. The exercise consistently surfaced three lessons: (1) capture filters dramatically reduce noise — unfiltered captures confused beginners; (2) the Info column plus the Details tree answer most questions without ever opening the raw bytes; (3) configuration issues (wrong DNS server, blocked HTTP port) became visible as concrete packet patterns rather than vague “it doesn’t work”.

Outcome. Students left with annotated captures they could explain field-by-field — the foundation for later SOC and malware-analysis modules.

Generic training illustration. Replace with your own dates, screenshots, and results.

The A7 Packet Analysis Framework

Our training method for turning raw captures into conclusions — the same discipline we teach SOC analysts:

1 · CaptureTight BPF filter
2 · FilterDisplay filters
3 · IdentifyProtocols & flows
4 · CorrelateStatistics & streams
5 · DocumentEvidence & filters
How students apply itEvery lab ends with a one-page note: capture filter used, display filters used, the three most interesting packets, and what they prove. If a student cannot state what the capture proves, the capture proves nothing.

Expert Commentary: A7 Security Hunters’ Perspective

“Students often ask for ‘the best filter’ — but filters are answers, not questions. The skill is asking what you need to learn, then choosing the filter that reveals it. A capture without a question is noise; a capture with a question is evidence. That is the difference between someone who clicks through packets and an analyst who concludes.”

— A7 Security Hunters, training team

Filters are documentation

Every finding you report should include the exact filter that produced it. A colleague — or an AI assistant — can then reproduce your analysis in seconds.

Learn the protocols before the tools

Wireshark is the best teacher of TCP/IP that exists. Students who dissect a handshake once never confuse SYN and ACK again.

Pair it with Nmap and Metasploit

Nmap finds the service, Metasploit validates it, and Wireshark proves what actually happened on the wire. The three tools complete each other — see our Nmap guide and Metasploit guide.

Research & Industry Context (Verified 2025 Figures)

Packet analysis sits at the heart of detection and response — and the data confirms why visibility matters more every year.

20%
of breaches began with vulnerability exploitation (+34% YoY)
Verizon DBIR 2025
22%
credential abuse — #1 initial access vector
Verizon DBIR 2025
$4.44M
global average cost of a data breach in 2025
IBM Cost of a Data Breach Report 2025
$1.9M
average savings per breach with extensive AI & automation
IBM Cost of a Data Breach Report 2025

What this means for analysts: credential abuse and vulnerability exploitation both leave packet-level traces — authentication bursts, C2 beacons, and scanning patterns. Capturing, filtering, and correlating those traces is precisely what Wireshark-based workflows do, and it is a direct input to the automation that IBM found saves an average of $1.9M per breach.

50 Frequently Asked Questions

What is Wireshark used for?

Wireshark captures and analyzes network traffic to troubleshoot connectivity and performance issues, investigate security incidents, understand protocol behavior, and extract evidence from packet captures.

Is Wireshark free?

Yes. Wireshark is free, open-source (GPL) software for Windows, Linux, and macOS, including the GUI, TShark, and all protocol dissectors.

Is Wireshark legal to use?

Yes — it is standard professional software. Capture only traffic you are authorized to inspect: your own devices, networks you administer, or engagements with written scope.

What is a packet capture?

A packet capture is a recording of network frames as they crossed an interface, stored in formats like pcap or pcapng for later analysis.

What is the difference between capture filters and display filters?

Capture filters (BPF, e.g., tcp port 80) discard packets at capture time. Display filters (e.g., tcp.port == 80) only hide packets in the current view.

How do I filter by IP address in Wireshark?

Use ip.addr == 192.168.1.10 for either direction, ip.src == ... for source only, or ip.dst == ... for destination only.

How do I filter by port in Wireshark?

Use tcp.port == 443, udp.port == 53, or tcp.port in {80,443,8080} for multiple ports.

Why is my capture filter being rejected?

You are likely using display-filter syntax in the capture box. BPF syntax uses tcp port 80, not tcp.port == 80.

What does Follow TCP Stream do?

It reconstructs the full TCP conversation (all packets in one flow) into a readable stream, filtering out everything else — ideal for reading HTTP requests, responses, and file transfers.

How do I extract files from a capture?

File → Export Objects → choose a protocol (HTTP, SMB, TFTP) → select files → Save. This is a core malware-analysis and forensics workflow.

Can Wireshark see passwords?

It can see anything transmitted in cleartext — HTTP Basic auth, FTP, Telnet, unencrypted form fields. Encrypted protocols (HTTPS, SSH) hide passwords unless decryption keys are supplied.

Does Wireshark decrypt HTTPS?

Not by breaking TLS. It decrypts when you provide session keys via an SSLKEYLOGFILE (browsers/apps) or, for older RSA key exchange, the server private key.

What is SSLKEYLOGFILE?

An environment variable that makes supported applications (Firefox, Chrome, curl) write TLS session secrets to a file Wireshark can use to decrypt your own traffic for authorized analysis.

What is the three-way handshake?

The SYN → SYN-ACK → ACK exchange that opens a TCP connection. Filter tcp.flags.syn == 1 to see it; a RST instead of SYN-ACK means the port is closed.

What is a TCP retransmission?

When a segment isn’t acknowledged in time, TCP resends it. Filter tcp.analysis.retransmission — high counts indicate packet loss.

What is Expert Info in Wireshark?

Analyze → Expert Info summarizes anomalies Wireshark detected (errors, warnings, notes) with one click, filtering straight to suspicious packets.

How do I see only DNS queries?

dns.flags.response == 0 shows queries; dns.flags.response == 1 shows responses.

What does NXDOMAIN mean in a DNS capture?

It means the name doesn’t exist (DNS rcode 3). Filter dns.flags.rcode == 3; frequent NXDOMAIN can indicate typos, misconfiguration, or malware DGA beacons.

How do I analyze ARP traffic?

Filter arp, then split by opcode: arp.opcode == 1 (requests) and arp.opcode == 2 (replies). Many replies for one IP indicate spoofing.

How do I detect ARP spoofing in Wireshark?

Look for one IP claimed by multiple MACs (arp + Statistics → Endpoints), or excessive gratuitous ARP (arp.isgratuitous == 1).

How do I see DHCP exchanges?

Filter dhcp (older versions: bootp). The DORA sequence is Discover (1) → Offer (2) → Request (3) → ACK (5), filterable via dhcp.option.dhcp.

How do I filter HTTP requests in Wireshark?

http.request shows requests; http.request.method == "POST" narrows to POST; http.host == "example.com" narrows to a host.

How do I find a specific string in packets?

frame contains "password" searches raw bytes; frame matches "(?i)admin" adds regex with case-insensitivity.

What is TShark?

Wireshark’s command-line tool: tshark -r file.pcap -Y "http.request". Same dissectors, no GUI — built for scripting and servers.

Wireshark vs tcpdump — which should I use?

tcpdump for quick CLI capture on servers (tcpdump -i eth0 -w out.pcap); Wireshark for deep interactive analysis; TShark for automated analysis.

Why does Wireshark show checksum errors on my traffic?

TCP/UDP checksum offloading computes checksums in hardware after capture. Disable validation in Preferences → Protocols → TCP/UDP, or ignore if consistent.

How do I capture Wi-Fi traffic?

Normal Wi-Fi captures only see your own adapter’s traffic. Monitor mode (adapter-dependent) captures nearby frames; alternatively capture on the access point or router you administer.

How do I capture traffic on a remote server?

Run tcpdump/TShark there and transfer the pcap, or use SSH remote capture (Wireshark’s “Capture → Options → Manage Interfaces” supports SSH).

What is promiscuous mode?

It makes the NIC capture all frames on the segment, not just its own traffic. Needed for switch-SPAN/tap analysis; not a way to bypass network segmentation.

How do I reduce capture file size?

Use capture filters, limit packets per file and use ring buffers (Capture Options), or trim later with editcap.

What is pcapng vs pcap?

pcapng is the modern default format with per-interface metadata, comments, and multiple interfaces; pcap is the older classic format. Wireshark reads both.

How do I measure latency with Wireshark?

Filter tcp.analysis.ack_rtt — each matching packet shows the round-trip time of that segment in the Details pane.

How do I see all conversations?

Statistics → Conversations (or Endpoints) lists every TCP/UDP conversation with packet counts, bytes, and start/stop times.

What is an IO Graph?

Statistics → IO Graph plots packets or bytes over time, with filter layers — ideal for visualizing retransmission storms, beaconing, or traffic bursts.

What are coloring rules?

Rules that color packets by criteria (protocol, error flags, conversation). View → Coloring Rules to customize; built-ins already highlight TCP problems.

What are Wireshark profiles?

Saved configurations of preferences, coloring rules, and filters (Edit → Configuration Profiles) — e.g., separate profiles for general analysis, DNS, and malware hunting.

How do I save a filtered subset of packets?

Apply a display filter, then File → Export Specified Packets and choose “Displayed” — the exported file contains only visible packets.

How do I comment on packets?

Right-click a packet → Packet Comment (pcapng only). Comments persist in the file and document your analysis for the report.

Can Wireshark analyze VoIP or video?

Yes — Statistics → VoIP Calls, RTP streams, and Telephony menus analyze SIP/RTP/RTCP traffic including jitter and loss metrics.

How do I detect malware traffic in Wireshark?

Look for beaconing (regular periodic connections — visible in IO Graph), long random DNS names, unusual ports, and non-browser user agents; extract objects and hash them.

What is a beacon in traffic analysis?

A regular, periodic connection pattern (e.g., every 60 seconds) that malware uses to phone home. IO Graphs and endpoint timestamps reveal it.

What is DNS tunneling?

Encoding data inside DNS queries/responses to exfiltrate or communicate. Indicators: high DNS volume, long subdomain labels, TXT records with encoded payloads.

How do I detect port scans in Wireshark?

Many SYN packets (tcp.flags.syn == 1) to many ports from one source in a short window, followed by RST/ACK — filter and check the Endpoints table.

How do I find my own IP in a capture?

Check the source addresses of your outbound packets, or use Statistics → Endpoints and look for the address repeated across many conversations.

What does “Malformed packet” mean?

Wireshark couldn’t fully decode a packet — the dissector found invalid structure (_ws.malformed). It can indicate bugs, fragmentation, or intentionally broken traffic.

Why are timestamps different from the real time?

Check View → Time Display Format. Captures store relative or epoch times; wall-clock accuracy depends on the capture machine’s clock sync (NTP).

Is Wireshark good for learning networking?

It is arguably the best teaching tool for TCP/IP: watch real handshakes, DNS flows, and HTTP exchanges instead of reading about them. Every A7 course uses it in week one.

What certifications cover Wireshark?

Wireshark appears across Network+ (CompTIA), CCNA, Security+, eCIR, GIAC GCIA, and SOC-analyst programs. The Wireshark Certified Network Analyst (WCNA) is the dedicated credential.

Where can I practice Wireshark safely?

Capture your own traffic, download sample pcaps from the Wireshark wiki and malware-traffic-analysis.net, or run labs in isolated VMs. Never capture on networks without authorization.

How do Wireshark, Nmap, and Metasploit work together?

Nmap discovers services, Metasploit validates vulnerabilities, and Wireshark proves what happened on the wire — see our Nmap guide and Metasploit guide for the full workflow.

References & Authoritative Sources

Wireshark Official Website
Downloads, documentation, and the official Wireshark user guide.
Wireshark User’s Guide
Official reference for the interface, capture options, and analysis features.
TShark Manual Page
Complete CLI reference for capture and display filtering from the terminal.
Wireshark Wiki — Capture Filters
BPF capture-filter reference with examples for dozens of protocols.
Wireshark Wiki — Display Filters
Field-based display-filter syntax, operators, and protocol field references.
tcpdump Manual
Authoritative BPF syntax and capture examples for the CLI twin.
Wireshark Wiki — TLS Decryption
Official guidance on SSLKEYLOGFILE and private-key decryption workflows.
Malware-Traffic-Analysis.net
Practice pcaps and write-ups for malware traffic analysis training.
Practical Packet Analysis (Chris Sanders, No Starch Press)
Long-standing textbook on Wireshark-based troubleshooting and analysis.
Verizon 2025 Data Breach Investigations Report (DBIR)
Credential abuse 22% and vulnerability exploitation 20% of initial access vectors; ransomware in 44% of breaches.
IBM Cost of a Data Breach Report 2025
Global average breach cost $4.44M; ~$1.9M average savings with extensive AI and automation.
MITRE ATT&CK Framework
Technique IDs (e.g., T1046 Network Service Scanning, T1071 Application Layer Protocol) for mapping findings to attacker behavior.

© A7 Security Hunters. Educational content — capture and analyze only traffic you own or are explicitly authorized to inspect. Last updated: August 2026.

Leave a Reply

Your email address will not be published. Required fields are marked *

About Us

A7 Security Hunters is a leading provider of cybersecurity certifications and training, offering both online and offline courses tailored to professionals at all levels. Our comprehensive programs cover key areas like ethical hacking, network security, and threat management, designed to equip individuals with the skills to succeed in the fast-paced world of cybersecurity. With expert instructors and hands-on learning, A7 Security Hunters ensures you gain practical knowledge and industry-recognized certifications to advance your career in cybersecurity.

Cybersecurity Training & Certifications

Most Recent Posts

A7 Security Hunters

Enroll in A7 Security Hunters' Certifications and Transform into a Cybersecurity Expert

A7 Security Hunters provides cybersecurity training, ethical hacking courses, penetration testing education, digital forensics training, AI security learning, and professional cybersecurity certifications for students and professionals across India.

Address: Mata Darwaja, Gau Karan Rd, Near SD School, landmark Gau Karn Traffic Police Choki, Plot 736a Baba Laxman Puri Colony, Makhane or, Library Wali Gali, Rohtak124001, Haryana (India) | Official Email Address- [email protected] | [email protected] | Official Phone Numbers – +91 – 7988-28-5508 | +91 – 818181-6323

© 2026 A7 Security Hunters. Cybersecurity Training, Ethical Hacking Courses & Professional Certifications.