From reading your first capture to intercepting credentials, evading detection, and building a defensive monitoring workflow. Eight structured sections — lab practicals first, then offensive, then bypass, then defence.
| SEC | PHASE | TOPIC | WHAT YOU LEARN | KEY SKILLS |
|---|---|---|---|---|
| §1 | LAB | Interface & Capture Basics | Installing Wireshark, selecting the right interface, capture filters vs display filters, reading the packet list/detail/bytes panes, saving and loading PCAP files. | Capture setup, PCAP files, UI navigation |
| §2 | LAB | Protocol Analysis & Interpretation | Decoding TCP 3-way handshake, HTTP request/response pairs, DNS query/answer chains, ARP tables, TLS handshake fields, ICMP echo/reply. Reading real packet bytes. Understanding protocol layers in the tree view. | TCP, HTTP, DNS, ARP, TLS, ICMP |
| §3 | OFFENSIVE | Passive Reconnaissance | Using Wireshark to map a network passively — identifying hosts, services, operating systems, and usernames from ambient traffic without sending a single packet. ARP poisoning for traffic redirection. | Host discovery, OS fingerprinting, ARP |
| §4 | OFFENSIVE | Credential Interception | Capturing plaintext credentials from FTP, HTTP Basic Auth, Telnet, POP3, SMTP. Following TCP streams. Exporting objects (files transferred over HTTP). SMB credential capture. Cookie theft from HTTP sessions. | FTP, HTTP auth, Follow TCP stream, SMB |
| §5 | OFFENSIVE | MITM & Traffic Injection | ARP spoofing to position between two hosts. Intercepting and modifying HTTP responses in flight. DNS spoofing to redirect traffic. SSL stripping basics. Combining with ettercap/bettercap for automated MITM. | ARP spoof, DNS spoof, SSL strip, ettercap |
| §6 | BYPASS | Evading Wireshark & IDS Detection | Fragmentation attacks to split payloads across packets. Encoding/encrypting C2 traffic to look like HTTPS. Using legitimate ports and protocols for covert channels. Timing-based evasion. Decoy traffic generation. | Fragmentation, covert channels, timing |
| §7 | BYPASS | Encrypted & Tunnelled Traffic | DNS tunnelling (iodine/dnscat2) — how data hides inside DNS queries. ICMP tunnelling. Using HTTPS for C2 beaconing — how it looks in Wireshark and why it's hard to detect. Decrypting TLS with SSLKEYLOGFILE. | DNS tunnel, ICMP tunnel, TLS decrypt |
| §8 | DEFENSIVE | Detection, Alerting & Forensics | Writing Wireshark display filter rules for known attack patterns. Using Statistics > Conversations and I/O graphs to spot anomalies. Integrating with Zeek/Bro for automated log generation. PCAP-based incident reconstruction. Writing Snort rules from Wireshark findings. | Detection filters, Zeek, Snort, forensics |
LAB PRACTICAL Installation · Interface Selection · Filters · PCAP Files · UI Navigation
Wireshark is the most important tool in network security. Every other skill in this bootcamp — enumeration, exploitation, detection — produces network traffic. Wireshark lets you see that traffic at the raw packet level. Defenders use it to reconstruct attacks. Attackers use it to find credentials and map networks. Everyone needs to be fluent in it.
One row per packet. Columns: No., Time, Source, Destination, Protocol, Length, Info. This is your overview. Colour-coded by protocol — green for TCP, light blue for DNS, etc. Click any row to expand it in the detail pane below.
Key shortcut: Ctrl+F to search within packets. Ctrl+G to go to packet number.
Tree view of the selected packet showing every protocol layer — Frame → Ethernet → IP → TCP → HTTP. Expand each layer to see all fields and values. This is where you read headers, flags, sequence numbers, and payload.
Right-click any field → "Apply as filter" → instantly filters the packet list to matching packets.
Raw hexadecimal and ASCII representation of the selected packet. When you click a field in the detail pane, the corresponding bytes are highlighted here. This is how you read raw credentials, file contents, and protocol payloads at the byte level. Essential for understanding what's actually on the wire.
This is the most important distinction in Wireshark. Capture filters limit what gets captured — they run at the kernel level and can't be changed mid-capture. Display filters operate on already-captured packets — you can change them at any time without losing data. Always capture everything, filter the display.
| TYPE | WHEN APPLIED | SYNTAX | EXAMPLE | USE CASE |
|---|---|---|---|---|
| Capture Filter | Before capture starts | BPF syntax | port 80 | High-traffic networks where you only want one protocol |
| Display Filter | After/during capture | Wireshark syntax | http.request | Almost always — filter what you see without losing data |
Click any packet row to expand its details below.
ftp.request.command == "PASS"http.request.method == "POST" && http contains "password"http during the capture. After 10 minutes you also want to see FTP traffic. What happens when you change the display filter to http || ftp?LAB PRACTICAL TCP Handshake · HTTP · DNS · ARP · TLS Handshake · ICMP · Reading Raw Bytes
Every attack leaves a protocol fingerprint. Knowing what normal TCP handshakes, DNS queries, and HTTP sessions look like means anomalies jump out immediately. This section maps each protocol to what you see in Wireshark, field by field.
| FLAG | NAME | MEANING | ATTACK CONTEXT |
|---|---|---|---|
| SYN | Synchronise | Initiate connection | SYN flood: millions of SYNs, no ACK → exhausts server resources |
| ACK | Acknowledge | Confirms received data | ACK scan: used to map firewall rules (no SYN, just ACK) |
| RST | Reset | Abort connection immediately | Port closed (RST back from target). Also used in TCP hijacking. |
| FIN | Finish | Graceful close | FIN scan: stealth port scanning (no RST logged on some systems) |
| PSH | Push | Send data immediately | Normal data packets. PSH-ACK = data being sent right now. |
| URG | Urgent | Urgent data pointer valid | Rarely used legitimately. Often used in OS fingerprinting. |
Right-click any TCP packet → Follow → TCP Stream. Wireshark reassembles the full conversation between two hosts and shows it as readable text. Red = client sent, blue = server responded. This is how you read HTTP conversations, FTP sessions, and plaintext credentials in one view instead of packet by packet.
Even encrypted TLS traffic reveals useful information before encryption begins. The TLS ClientHello exposes: the target hostname (SNI — Server Name Indication), the TLS version, and the cipher suites the client supports. The ServerHello reveals the chosen cipher suite and the server's certificate (including the domain, issuer, and validity period). The actual payload is encrypted but the metadata is gold for reconnaissance.
OFFENSIVE Host Discovery · OS Fingerprinting · Service Mapping · ARP Poisoning
Wireshark lets you map an entire network without sending a single packet yourself. Just by listening to ambient broadcast traffic — ARP, mDNS, DHCP, NetBIOS — you can identify every host, its OS, running services, and usernames, completely passively. This is stealth reconnaissance that leaves zero logs on target systems.
Every OS implements the TCP stack slightly differently. The TCP Window Size in SYN packets, the TTL value in IP headers, and the TCP Options combination create a unique fingerprint for each OS. You can identify Windows vs Linux vs Mac vs iOS just from passive traffic.
| OS | INITIAL TTL | TCP WINDOW SIZE | TCP OPTIONS |
|---|---|---|---|
| Windows 10/11 | 128 | 64240 or 65535 | MSS, NOP, WS=8, NOP, NOP, SACK |
| Linux (recent) | 64 | 29200 or 43690 | MSS, SACK, Timestamps, NOP, WS=7 |
| macOS | 64 | 65535 | MSS, NOP, WS=6, NOP, NOP, Timestamps, SACK |
| iOS / Android | 64 | 65535 | MSS, NOP, WS=6, SACK, Timestamps |
| Network device | 255 | Varies | Minimal options |
arp. Use Statistics > Endpoints to build a host list.arp.duplicate-address-detected — Wireshark flags this automatically with "[Duplicate IP address detected]" warnings.arp.duplicate-address-detectedOFFENSIVE FTP · HTTP Basic Auth · Telnet · SMTP · SMB · Cookie Theft · Export Objects
Plaintext protocols are an attacker's best friend. FTP, Telnet, HTTP Basic Auth, POP3, SMTP AUTH, and IMAP all transmit credentials in cleartext. A single Wireshark capture on any network segment carrying these protocols yields working usernames and passwords. This section shows every filter and technique.
Wireshark can reconstruct files transmitted over HTTP from a packet capture. This works for images, documents, executables — anything transferred over unencrypted HTTP.
tshark -r capture.pcap --export-objects http,/tmp/extracted_files/file and strings on extracted executables — they may contain C2 domains, hardcoded credentials, or other IOCshttp.authorization. You find the value Basic YWRtaW46Q29tcGFueTEyMyE=. What are the credentials and how would you use them offensively?
base64 -d gives admin:Company123! — try it against SSH, RDP, email, and VPN with the same password (credential reuse)OFFENSIVE ARP Spoofing · DNS Spoofing · SSL Stripping · Bettercap · Response Modification
arp.duplicate-address-detectedarp.opcode == 2 and sort by source MACtls.handshake.type == 11 and check certificate fieldsBYPASS Fragmentation · Covert Channels · Port Mimicry · Timing Evasion · Decoy Traffic
Every evasion technique exploits a gap between what Wireshark/IDS sees and what actually happens. Fragmentation hides payload content across multiple small packets. Port mimicry hides C2 traffic inside legitimate protocol ports. Understanding these techniques from the attacker's side makes you a far better defender — you know exactly what to look for.
tls shows zero matching packets on that port. What does this strongly indicate and what is your next investigative step?BYPASS DNS Tunnelling · ICMP Tunnelling · TLS Decryption · dnscat2 · iodine
ICMP echo requests (ping) carry a data payload field. Normally this contains benign filler data. Attackers stuff arbitrary data — including commands and responses — into this field. Many firewalls allow ICMP ping through. From Wireshark, ICMP tunnel traffic looks like ping but the payload contains encoded data instead of the normal abcdefg... pattern.
aGVsbG8gd29ybGQ.corp-exfil.attacker.com, dGhpcyBpcyBhIHRl.corp-exfil.attacker.com, and 847 more similar queries in 60 seconds, all going to the same parent domain. What is happening?DEFENSIVE Attack Detection Filters · Statistics · Zeek · Snort Rules · PCAP Forensics
Everything you've learned offensively in this lesson has a defensive counterpart. Every attack leaves a signature in packet captures. This section builds your detection toolkit — the Wireshark filters, statistics views, and Zeek/Snort rules that catch each attack technique you've studied.
| ATTACK | WIRESHARK FILTER | WHAT TO LOOK FOR |
|---|---|---|
| Port Scan (Nmap) | tcp.flags.syn==1 && tcp.flags.ack==0 | Many SYNs from one IP to many ports in seconds. Statistics > Conversations to see port spread. |
| ARP Poisoning | arp.duplicate-address-detected | Two MACs claiming same IP. Wireshark auto-flags "[Duplicate IP address detected]" |
| SYN Flood DoS | tcp.flags.syn==1 && tcp.flags.ack==0 | Thousands of SYNs, no corresponding ACKs completing handshakes. I/O graph spike. |
| DNS Tunnelling | dns.qry.name.len > 52 | Long subdomain names with encoded data. High query rate to single domain. |
| Port Mimicry C2 | tcp.port==443 && !tls | TCP on HTTPS port with no TLS handshake. Regular beacon intervals. |
| Credential Harvest | ftp.request.command=="PASS" || http.authorization | Plaintext credentials in transit. Follow TCP stream for full context. |
| ICMP Tunnel | icmp && data.len > 64 | Oversized ICMP payloads. Non-alphabet payload content. Sustained ping traffic. |
| Fragmentation | ip.flags.mf==1 || ip.frag_offset > 0 | Unusual fragmentation — especially with tiny fragment sizes (8 bytes). |
| SSL Stripping | http && http.request.uri contains "https://" | HTTP traffic referencing HTTPS URLs — SSLstrip redirect signatures. |
| DNS Exfil | dns.qry.type==16 && dns.resp.len > 100 | Large TXT record responses. TXT records used as command delivery. |
dns.qry.name.len > 52 — shows DNS tunnel traffic as a separate colourYou can now capture and interpret packet data, harvest credentials from plaintext protocols, detect ARP poisoning and DNS tunnelling, and reconstruct incidents from PCAP files.