In this module
NF0.2 The Five Network Evidence Types
You work with evidence categories already — event logs, registry hives, filesystem metadata, memory captures. Each has a different retention window, a different level of detail, and a different set of questions it answers. This sub applies that same thinking to network evidence — five categories, each with distinct capabilities and limitations.
Network evidence isn't one thing — it's five distinct data types, each captured by different tools, stored at different scales, and answering different investigation questions. Full-packet capture gives you everything but costs terabytes per day at enterprise throughput. Zeek metadata gives you structured logs that answer 90% of investigation questions at 1% of the storage cost. Suricata alerts tell you something bad matched a signature but don't tell you what else happened in the session. NetFlow gives you connection volumes without content. DNS logs give you every name resolution but not what happened after the connection was established.
Treating these as interchangeable — "we have network visibility" — leads to gaps. You need to know what each type captures, what each misses, and when to use each. This sub gives you that taxonomy.
Deliverable: The five network evidence types — full PCAP, Zeek metadata logs, Suricata/IDS alerts, NetFlow/IPFIX, and DNS logs — with the capture characteristics, storage requirements, investigation value, and limitations of each. A decision framework for which evidence type to reach for first based on the investigation question.
Figure NF0.2 — The five network evidence types arranged by detail vs scale. Full PCAP captures everything but requires massive storage. DNS logs are available in almost every environment and are the starting point for every investigation. Most organizations sit somewhere in the middle — Zeek metadata provides the best investigation value per byte stored.
Type 1 — Full Packet Capture (PCAP)
Full PCAP is the gold standard — and the most expensive. It captures every byte that crosses the sensor, giving you the ability to reconstruct anything that happened on the wire. Understanding when you need it and when you don't saves you from drowning in storage costs.
Full-packet capture records the complete content of every network frame — headers, payloads, and all protocol layers from Ethernet through the application layer. A PCAP file is a forensic image of the network, the same way a disk image is a forensic image of a drive. You can replay it, re-analyze it with different tools, extract files from it, and examine individual packets in detail.
The investigation value is unmatched. Need to extract the malware binary the attacker downloaded? It's in the PCAP. Need to see the exact HTTP POST that exfiltrated credentials? It's in the PCAP. Need to reconstruct a chat session the attacker had over IRC? It's in the PCAP. Any analysis you can do at the network level, you can do from PCAP — because PCAP is the raw data that every other evidence type is derived from.
The cost is equally unmatched. At a sustained 1 Gbps average throughput — common for a medium enterprise with 500-1000 users — full-packet capture generates approximately 10 TB per day. At 10 Gbps, it's 100 TB per day. Storage at that scale is expensive, and retention is measured in days to weeks, not months. Most organizations that run full-packet capture do it on specific segments (the DMZ, the internet egress point, the server VLAN) rather than everywhere, and they retain it for 3-7 days before the rolling capture overwrites the oldest data.
The critical constraint with PCAP is timing. If the attacker exfiltrated data 10 days ago and your PCAP retention is 7 days, the evidence is gone. PCAP answers any question you can think of — but only for the time window you still have. This is why Zeek metadata and DNS logs (which are small enough to retain for months) are often more operationally useful than PCAP for investigations that start days or weeks after the initial compromise.
There's a second constraint that matters increasingly in 2026: encryption. If the traffic is TLS-encrypted and you don't have the session keys, the PCAP shows you the TLS handshake (certificate, cipher suite, JA3 fingerprint) but not the application-layer content. You can see that DESKTOP-NGE042 connected to 203.0.113.88 on port 443 and transferred 2.3 GB, but you can't see the HTTP requests or the file contents. Module NF4 covers encrypted traffic investigation — what you can still see and what you can't.
Tools: tcpdump and dumpcap for capture, Wireshark and tshark for analysis, Arkime for enterprise-scale indexing and search.
Type 2 — Zeek Metadata Logs
Zeek is the evidence source you'll use most in this course. It gives you structured, queryable logs that answer 90% of investigation questions at 1% of the storage cost of full PCAP. If you deploy one network forensics tool, make it Zeek.
Zeek (formerly Bro) is a network security monitor that observes traffic and produces structured logs describing what it saw. Unlike PCAP, which records the raw bytes, Zeek parses the traffic at the application layer and produces human-readable logs organized by protocol and connection.
The core logs you'll work with throughout this course are conn.log, which records every TCP and UDP connection with source/destination IPs, ports, duration, byte counts, and connection state. Every connection the sensor sees gets a conn.log entry — this is your baseline for "what communicated with what." Then there's dns.log, recording every DNS query and response with the query name, query type, response code, and answers. This is the starting point for nearly every investigation. Zeek also produces http.log (HTTP requests and responses with method, host, URI, user-agent, response code), ssl.log (TLS handshake details including certificates, JA3 hashes, and server name indication), files.log (files observed in network traffic with hashes, MIME types, and sizes), smtp.log (email message metadata), smb_files.log and smb_mapping.log (SMB share access and file operations), ssh.log (SSH connection details including authentication results), and notice.log (Zeek's built-in detection findings).
The investigation value of Zeek logs comes from their structure and queryability. A conn.log entry tells you the five-tuple (src IP, src port, dst IP, dst port, protocol), when the connection started, how long it lasted, how many bytes each side sent, and how the connection ended. You can query this with command-line tools (zeek-cut, grep, awk) or ingest it into a SIEM. Finding all connections from a compromised host to external IPs during a specific time window is a one-line query.
Storage is the operational advantage. Zeek metadata for a 1 Gbps link produces roughly 10-15 GB per day — about 1% of what full PCAP would require. You can retain Zeek logs for months at reasonable cost, which means when an investigation starts three weeks after the initial compromise, the Zeek logs are still there. The PCAP probably isn't.
The limitation is that Zeek doesn't retain the raw packet content. If you need to extract a file the attacker downloaded, you need PCAP (or you can configure Zeek to extract files, but this increases storage significantly). If you need to see the exact payload of an HTTP POST, you need PCAP. Zeek tells you what happened at the protocol level — it doesn't give you the raw bytes.
Tools: Zeek for generation, zeek-cut for field extraction, jq for JSON-format logs, any SIEM for ingestion and querying.
Type 3 — IDS/IPS Alerts (Suricata)
Suricata alerts tell you that something matched a known-bad signature. They're fast, specific, and high-confidence for known attacks. They're also blind to anything that doesn't match a rule.
Suricata is a signature-based intrusion detection system (IDS) that inspects network traffic against a library of rules and generates alerts when traffic matches a known malicious pattern. A rule might match a specific HTTP user-agent string used by a malware family, a DNS query to a known C2 domain, a file hash of a known malicious binary, or a specific byte sequence in a network payload.
The investigation value is speed and specificity. When Suricata fires an alert, it tells you exactly which rule matched, what traffic triggered it, and what the rule was designed to detect. An alert for "ET MALWARE Cobalt Strike Beacon Activity" gives you immediate context — you know the attack framework, the technique, and the urgency. You don't need to analyze the traffic yourself to determine what it is.
Suricata integrates with Zeek through Community ID — a standardized hash that identifies the same network flow across different tools. When Suricata fires an alert on a connection, the Community ID lets you find the same connection in Zeek's conn.log, dns.log, and ssl.log for additional context. This correlation is fundamental to the investigation methodology in this course — Suricata tells you something bad happened, Zeek tells you everything else about the same session.
The limitation is coverage. Suricata only detects what it has a rule for. A novel attack technique, a custom C2 protocol, or a zero-day exploit that doesn't match any existing signature passes through Suricata undetected. This is why Suricata and Zeek work as a pair — Suricata catches known-bad, Zeek provides the data to hunt for unknown-bad.
Rule management is an operational concern. The Emerging Threats (ET) ruleset provides community-maintained rules that cover a wide range of threats. Organizations add custom rules for their specific environment. Rules need regular updates (suricata-update), performance tuning, and false positive management — all covered in NF8.
Tools: Suricata for detection, suricata-update for rule management, EVE JSON output for SIEM integration.
Type 4 — NetFlow and IPFIX
NetFlow tells you who talked to whom, for how long, and how much data was transferred — without any packet content. It's the evidence source that scales to the largest networks and answers exfiltration volume questions when PCAP isn't available.
NetFlow (Cisco) and IPFIX (the IETF standard) are flow-based records exported by routers, switches, and firewalls. A flow record captures the source and destination IP, source and destination port, protocol, byte count, packet count, start time, end time, and TCP flags — but no payload content. It's the network equivalent of phone metadata: you know who called whom, when, and for how long, but not what was said.
The investigation value is scale and retention. NetFlow records are tiny — a few hundred bytes per flow. A 10 Gbps enterprise link might generate 1-2 GB of NetFlow data per day, compared to 100 TB of PCAP. You can retain NetFlow for months or years at trivial cost. When the investigation question is "how much data left the network last Tuesday?" or "which internal hosts communicated with this IP over the past 6 months?" — NetFlow answers it.
Beaconing detection is a particularly strong use case for NetFlow. C2 beacons produce regular, periodic connections — every 60 seconds, every 5 minutes — with consistent packet sizes. These patterns are visible in flow data without needing to inspect the payload. Module NF10 covers beacon detection methodology using flow analytics.
The limitation is content blindness. NetFlow tells you that DESKTOP-NGE042 sent 500 MB to 203.0.113.88 over port 443. It doesn't tell you whether that was a legitimate cloud backup, a software update, or data exfiltration. You need Zeek metadata or PCAP to determine what the traffic actually was.
Cloud environments provide their own flow-log equivalent — AWS VPC Flow Logs, Azure NSG Flow Logs, GCP VPC Flow Logs. These capture similar metadata for cloud workloads and are often the only network evidence available in cloud-native environments where you can't deploy a packet capture sensor.
Tools: nfdump, SiLK, ntopng for analysis. Router/switch configuration for export. Cloud provider consoles for VPC flow logs.
Type 5 — DNS Logs
DNS is the evidence source you always start with. Every network communication begins with a DNS query, and DNS logs are available in almost every environment — even ones without dedicated network security monitoring.
DNS logs record every name resolution request and response that crosses the sensor or resolver. A DNS log entry captures the query name (what domain was looked up), the query type (A, AAAA, CNAME, MX, TXT, etc.), the response code (NOERROR, NXDOMAIN, SERVFAIL), the answers (IP addresses, CNAME targets), and the TTL.
The investigation value is universality. The attacker's C2 domain had to be resolved before the first connection was made. The phishing URL had to be resolved before the user clicked it. The exfiltration endpoint had to be resolved before data was transferred. DNS is the first step in almost every attack chain, and DNS logs capture it.
DNS-specific investigations are a major topic in this course. Module NF3 is devoted entirely to DNS analytics: tunneling detection (attackers encoding data in DNS queries to exfiltrate through DNS), passive DNS analysis (building a historical picture of domain-to-IP mappings), domain generation algorithm (DGA) detection, and the challenges that DNS-over-HTTPS and DNS-over-TLS create for investigators.
DNS logs can come from multiple sources: Zeek's dns.log (captured at the sensor), your organization's DNS resolver logs (Windows DNS, BIND, Unbound), or cloud DNS analytics (Route 53 query logs, Azure DNS analytics). Each captures DNS from a different vantage point — the sensor sees queries on the wire, the resolver sees queries from clients, cloud DNS sees queries for your hosted zones.
The limitation is scope — DNS tells you what was resolved but not what happened after the connection was established. Seeing a DNS query for microsft-verify[.]com tells you the phishing domain was resolved. You need conn.log or PCAP to see what happened in the connection that followed.
Tools: Zeek dns.log, DNS resolver logging, passive DNS databases (passivedns, Farsight DNSDB for commercial investigations).
You're building a network monitoring proposal for NE's security team. The budget allows either full-packet capture on the internet egress link (estimated 2 TB/day, 14-day retention, total 28 TB storage) or a Zeek sensor on the same link (estimated 15 GB/day, 365-day retention, total 5.5 TB storage) combined with Suricata on the same sensor.
Both options use the same hardware. The difference is what you store and how long you keep it.
Full PCAP gives you the ability to reconstruct any session from the past 14 days — file extraction, exact payloads, complete protocol analysis. But anything older than 14 days is gone.
Zeek plus Suricata gives you structured metadata for a full year — every connection, every DNS query, every TLS handshake, every Suricata alert. You can't extract files or see raw payloads, but you can answer most investigation questions for incidents discovered weeks or months after the initial compromise. When you need full PCAP for a specific session, you can enable targeted capture for that host or conversation.
The right answer depends on your investigation patterns. If most of your incidents are detected within 24-48 hours (active SOC monitoring, EDR alerting), the 14-day PCAP window is usually sufficient. If your typical dwell time is weeks to months (many organizations), the year of Zeek metadata is more operationally useful. Most mature organizations deploy both — Zeek for the long-retention investigation foundation, PCAP for the deep-dive reconstruction of recent events.
NetFlow tells you that a connection existed — source IP, destination IP, ports, bytes, duration. It doesn't tell you what protocol was used inside the connection (a TLS session on port 443 looks the same as HTTP on port 443 in NetFlow), what data was transferred, what DNS queries preceded the connection, what TLS certificate the server presented, or whether the traffic matched any known malicious signatures.
NetFlow is an excellent tool for volume analysis, beaconing detection, and historical connection tracking. It's a terrible tool for determining what an attacker actually did. The investigation that starts with NetFlow showing a suspicious connection almost always needs Zeek metadata or PCAP to determine what the connection contained.
Think of NetFlow as the phone records and Zeek as the transcript. Phone records tell you who called whom and for how long. The transcript tells you what was said.
Try it: Build a coverage matrix for your environment
Setup. You need access to your organization's network architecture diagram (or your best knowledge of it). If you're using a home lab, use the NE network architecture from the course brief.
Task. Create a simple matrix: list the five evidence types across the top (PCAP, Zeek, IDS, NetFlow, DNS) and your network segments down the side (Internet egress, DMZ, Server VLAN, User VLAN, Cloud). For each cell, write YES (you have this), PARTIAL (you have something similar), or NO.
Expected result. Most environments show DNS: YES (from the resolver), NetFlow: PARTIAL (some routers export it), and NO for Zeek, IDS, and PCAP on most segments. The gaps in the matrix are where your investigation capability ends. This matrix is the starting point for an NSM deployment proposal.
Debugging branch. If you marked YES for everything: verify that the data is actually retained and queryable, not just generated and discarded. Many organizations configure NetFlow export but never collect it. Many have Suricata deployed but haven't tuned the rules in 18 months. Data that exists but isn't usable is operationally equivalent to data that doesn't exist.
You should be able to do the following without referring back to this sub. If you can't, the sections to re-read are noted.
You've built the sensor and mapped the evidence landscape.
NF0 established why network evidence matters when every other source is compromised. NF1 built your Zeek + Suricata sensor with the 10 investigation query patterns. From here, every module teaches protocol-specific investigation against real attack scenarios.
- DNS deep dive (NF3) — tunnelling detection, DGA analysis, passive DNS infrastructure mapping, and the INC-NE-2026-0227 AiTM phishing DNS trail
- Protocol analysis (NF4–NF7) — HTTP/HTTPS, SMB lateral movement, SSH tunnelling, and email protocol investigation with Zeek metadata and PCAP
- Detection and hunting (NF8–NF11) — Suricata rule writing, C2 beacon detection with JA3, NetFlow analytics, and proactive network threat hunting
- NSM architecture (NF13) — production sensor deployment at 1–10 Gbps with Arkime, Security Onion, and enterprise storage planning
- INC-NE-2026-0830 capstone (NF14) — multi-stage investigation using only network evidence: phishing → domain-fronted C2 → lateral movement → DNS tunnel exfiltration
Cancel anytime