Before analysis, ask
- What is the context of the capture?
- What do we suspect happened?
- What is the time window?
Pro Level Field Note
A practical SOC-style learning path for reading PCAP files, filtering network traffic, identifying suspicious patterns, and reporting evidence clearly.
This project was built from hands-on Wireshark practice, PCAP analysis, filter references, and Nmap reconnaissance investigation. The focus is not memorizing every feature. The focus is learning how to ask useful questions, inspect packets, and support findings with evidence.
This note is based on the Wireshark learning project repository:
https://github.com/UnExplainableFish52/wiresharkA PCAP is a saved record of network traffic. It lets an analyst review who talked to whom, which ports were used, which protocols appeared, and what behavior patterns stood out during the capture window.
This project trains practical packet analysis instead of theoretical memorization. The main skill is learning how to ask good investigation questions and prove answers from packet evidence.
This note is for learners who already understand basic networking and want to practice analysis in a more professional way. You do not need to be an expert, but the following foundations should already feel familiar.
The repository can be treated as a clean learning map. Start with the beginner capture, answer guided questions, then move into the SOC field guide and the Nmap reconnaissance case study.
pcaps/net_ctf.pcapng
Beginner practice capture for learning how to open a PCAP, inspect hosts, and reason from packet behavior.
practice_analysis/practice_questions.md
Guided beginner questions that turn the first capture into a structured investigation exercise.
wireshark_window.png
Interface reference for understanding the main Wireshark panes and where investigation controls live.
capture_properties.png
Capture properties reference for learning duration, file metadata, packet counts, and capture context.
pcap_analysis_algorithm.md
Deeper SOC analyst PCAP field guide for moving from first look to report-ready findings.
filters.md
Practical Wireshark filter reference for turning investigation questions into display filters.
pcaps/open_nmap_recon.pcapng
Reconnaissance capture used to study Nmap scanning, service enumeration, and packet-level evidence.
nmap_recon/Network_Packet_Capture_Incident_Analysis_Report.md
Written case study report that models evidence, limitations, and cautious conclusions.
These screenshots should be reviewed before the pane-by-pane explanation because they give the reader a real visual anchor for the interface and the capture summary view.
This is a short orientation, not a full beginner lesson. The useful habit is knowing which pane answers the current analysis question.
The first goal is not to find every interesting packet. The first goal is to learn a repeatable path that turns an unknown capture into a small set of defensible observations.
Use this exact PCAP when following the beginner workflow:
https://github.com/UnExplainableFish52/wireshark/blob/main/pcaps/net_ctf.pcapngpcaps/net_ctf.pcapng and let the full packet list load.
ip.addr == <host-ip> to isolate traffic involving one host without destroying evidence.
Good filters are small and question-driven. Start broad, observe the result, then narrow only when the question becomes more specific.
| Filter | What it shows | Question it helps answer |
|---|---|---|
ip |
All IPv4 traffic in the capture. | Which packets are IP-based traffic? |
tcp |
All TCP traffic, including connection setup and application sessions. | Which hosts are trying to establish reliable connections? |
dns |
DNS queries and responses. | Which names were looked up, and did responses succeed or fail? |
ip.addr == <host-ip> |
Traffic where the selected host is either source or destination. | What did this host send or receive during the capture? |
tcp.flags.syn == 1 && tcp.flags.ack == 0 |
Initial TCP SYN attempts without SYN/ACK. | Is a host initiating many connection attempts, possibly scanning or probing? |
Display filters and capture filters are not the same. Display filters are used after a capture is loaded and only hide or show packets. Capture filters are used before or during capture and affect what gets saved.
For learning, display filters are safer because they do not remove evidence from the file. A filter should answer a question, not simply make the screen look cleaner.
ip.addr == 10.0.0.5
Show all traffic involving one host, whether it sent or received the packet.
ip.src == 10.0.0.5
Show packets sent by one host.
ip.dst == 10.0.0.5
Show packets received by one host.
dns.flags.response == 1 and dns.flags.rcode != 0
Find DNS responses that returned an error code.
http.user_agent matches "(?i)(python|curl|wget|nmap|masscan|zgrab|nuclei)"
Look for HTTP clients that may indicate scripts, scanners, or automated probes.
tls.handshake.type == 1 and tls.handshake.extensions_server_name
Show TLS Client Hello packets that include server name information.
A SOC-style workflow keeps the analysis from becoming random clicking. Move from context to overview, then to hosts, protocols, attack patterns, evidence, and reporting.
After the first pass, the stronger work comes from cross-checking packet behavior with Wireshark's built-in analysis views instead of relying on one filtered packet list.
The beginner capture shows a clear scanning-style pattern. The evidence is based on packet behavior, not an assumption about the person or tool behind the traffic.
This finding refers specifically to this file:
https://github.com/UnExplainableFish52/wireshark/blob/main/pcaps/net_ctf.pcapng192.168.1.111 generated repeated TCP SYN packets toward 192.168.1.9. SYN-only packets across multiple destination ports indicate scanning or probing because the source is repeatedly initiating connection attempts instead of having one normal service conversation.
This case study is reconnaissance and service enumeration. The packet evidence shows scanning, service exposure, HTTP probing, banners, and one interactive shell prompt exposure. It does not prove malicious command execution beyond the scanner sending exit in that observed session.
The packet findings in this section refer to the Nmap reconnaissance PCAP and its written report:
https://github.com/UnExplainableFish52/wireshark/blob/main/pcaps/open_nmap_recon.pcapngThe scanner sent 1,180 TCP SYN packets to the target across 1,000 TCP destination ports. The target responded with SYN/ACKs on 23 observed open TCP ports. This is strong packet evidence of broad TCP reconnaissance against one target.
Nmap NSE HTTP probes were observed through HTTP User-Agent strings containing Nmap Scripting Engine. This supports service enumeration behavior, not just simple port reachability testing.
The target exposed legacy Metasploitable-style banners and service identities. These banners are valuable to analysts because they show what services were visible on the wire, and valuable to attackers because they can guide follow-up targeting.
TCP 1524 returned a root@metasploitable:/# prompt, and the scanner sent exit. That proves exposure of an interactive root shell prompt in packet evidence. It does not prove malicious command execution beyond exiting the session, and it does not prove what happened before or after the capture.
PCAP evidence can show what happened on the network, but it cannot always prove the full story. Good analysis keeps facts, interpretations, assumptions, and unknowns separate.
The project is most useful when the packet analysis becomes general security judgment. These are the lessons that carry into SOC work, incident notes, and defensive reviews.