Wireshark Network Traffic Analysis
This skill should be used when the user asks to "analyze network traffic with Wireshark", "capture packets for troubleshooting", "filter PCAP files", "follow TCP/UDP streams", "detect network anomalies", "investigate suspicious traffic", or "perform protocol analysis". It provides comprehensive techniques for network packet capture, filtering, and analysis using Wireshark.
What this skill does
# Wireshark Network Traffic Analysis ## Purpose Execute comprehensive network traffic analysis using Wireshark to capture, filter, and examine network packets for security investigations, performance optimization, and troubleshooting. This skill enables systematic analysis of network protocols, detection of anomalies, and reconstruction of network conversations from PCAP files. ## Inputs / Prerequisites ### Required Tools - Wireshark installed (Windows, macOS, or Linux) - Network interface with capture permissions - PCAP/PCAPNG files for offline analysis - Administrator/root privileges for live capture ### Technical Requirements - Understanding of network protocols (TCP, UDP, HTTP, DNS) - Familiarity with IP addressing and ports - Knowledge of OSI model layers - Understanding of common attack patterns ### Use Cases - Network troubleshooting and connectivity issues - Security incident investigation - Malware traffic analysis - Performance monitoring and optimization - Protocol learning and education ## Outputs / Deliverables ### Primary Outputs - Filtered packet captures for specific traffic - Reconstructed communication streams - Traffic statistics and visualizations - Evidence documentation for incidents ## Core Workflow ### Phase 1: Capturing Network Traffic #### Start Live Capture Begin capturing packets on network interface: ``` 1. Launch Wireshark 2. Select network interface from main screen 3. Click shark fin icon or double-click interface 4. Capture begins immediately ``` #### Capture Controls | Action | Shortcut | Description | |--------|----------|-------------| | Start/Stop Capture | Ctrl+E | Toggle capture on/off | | Restart Capture | Ctrl+R | Stop and start new capture | | Open PCAP File | Ctrl+O | Load existing capture file | | Save Capture | Ctrl+S | Save current capture | #### Capture Filters Apply filters before capture to limit data collection: ``` # Capture only specific host host 192.168.1.100 # Capture specific port port 80 # Capture specific network net 192.168.1.0/24 # Exclude specific traffic not arp # Combine filters host 192.168.1.100 and port 443 ``` ### Phase 2: Display Filters #### Basic Filter Syntax Filter captured packets for analysis: ``` # IP address filters ip.addr == 192.168.1.1 # All traffic to/from IP ip.src == 192.168.1.1 # Source IP only ip.dst == 192.168.1.1 # Destination IP only # Port filters tcp.port == 80 # TCP port 80 udp.port == 53 # UDP port 53 tcp.dstport == 443 # Destination port 443 tcp.srcport == 22 # Source port 22 ``` #### Protocol Filters Filter by specific protocols: ``` # Common protocols http # HTTP traffic https or ssl or tls # Encrypted web traffic dns # DNS queries and responses ftp # FTP traffic ssh # SSH traffic icmp # Ping/ICMP traffic arp # ARP requests/responses dhcp # DHCP traffic smb or smb2 # SMB file sharing ``` #### TCP Flag Filters Identify specific connection states: ``` tcp.flags.syn == 1 # SYN packets (connection attempts) tcp.flags.ack == 1 # ACK packets tcp.flags.fin == 1 # FIN packets (connection close) tcp.flags.reset == 1 # RST packets (connection reset) tcp.flags.syn == 1 && tcp.flags.ack == 0 # SYN-only (initial connection) ``` #### Content Filters Search for specific content: ``` frame contains "password" # Packets containing string http.request.uri contains "login" # HTTP URIs with string tcp contains "GET" # TCP packets with string ``` #### Analysis Filters Identify potential issues: ``` tcp.analysis.retransmission # TCP retransmissions tcp.analysis.duplicate_ack # Duplicate ACKs tcp.analysis.zero_window # Zero window (flow control) tcp.analysis.flags # Packets with issues dns.flags.rcode != 0 # DNS errors ``` #### Combining Filters Use logical operators for complex queries: ``` # AND operator ip.addr == 192.168.1.1 && tcp.port == 80 # OR operator dns || http # NOT operator !(arp || icmp) # Complex combinations (ip.src == 192.168.1.1 || ip.src == 192.168.1.2) && tcp.port == 443 ``` ### Phase 3: Following Streams #### TCP Stream Reconstruction View complete TCP conversation: ``` 1. Right-click on any TCP packet 2. Select Follow > TCP Stream 3. View reconstructed conversation 4. Toggle between ASCII, Hex, Raw views 5. Filter to show only this stream ``` #### Stream Types | Stream | Access | Use Case | |--------|--------|----------| | TCP Stream | Follow > TCP Stream | Web, file transfers, any TCP | | UDP Stream | Follow > UDP Stream | DNS, VoIP, streaming | | HTTP Stream | Follow > HTTP Stream | Web content, headers | | TLS Stream | Follow > TLS Stream | Encrypted traffic (if keys available) | #### Stream Analysis Tips - Review request/response pairs - Identify transmitted files or data - Look for credentials in plaintext - Note unusual patterns or commands ### Phase 4: Statistical Analysis #### Protocol Hierarchy View protocol distribution: ``` Statistics > Protocol Hierarchy Shows: - Percentage of each protocol - Packet counts - Bytes transferred - Protocol breakdown tree ``` #### Conversations Analyze communication pairs: ``` Statistics > Conversations Tabs: - Ethernet: MAC address pairs - IPv4/IPv6: IP address pairs - TCP: Connection details (ports, bytes, packets) - UDP: Datagram exchanges ``` #### Endpoints View active network participants: ``` Statistics > Endpoints Shows: - All source/destination addresses - Packet and byte counts - Geographic information (if enabled) ``` #### Flow Graph Visualize packet sequence: ``` Statistics > Flow Graph Options: - All packets or displayed only - Standard or TCP flow - Shows packet timing and direction ``` #### I/O Graphs Plot traffic over time: ``` Statistics > I/O Graph Features: - Packets per second - Bytes per second - Custom filter graphs - Multiple graph overlays ``` ### Phase 5: Security Analysis #### Detect Port Scanning Identify reconnaissance activity: ``` # SYN scan detection (many ports, same source) ip.src == SUSPECT_IP && tcp.flags.syn == 1 # Review Statistics > Conversations for anomalies # Look for single source hitting many destination ports ``` #### Identify Suspicious Traffic Filter for anomalies: ``` # Traffic to unusual ports tcp.dstport > 1024 && tcp.dstport < 49152 # Traffic outside trusted network !(ip.addr == 192.168.1.0/24) # Unusual DNS queries dns.qry.name contains "suspicious-domain" # Large data transfers frame.len > 1400 ``` #### ARP Spoofing Detection Identify ARP attacks: ``` # Duplicate ARP responses arp.duplicate-address-frame # ARP traffic analysis arp # Look for: # - Multiple MACs for same IP # - Gratuitous ARP floods # - Unusual ARP patterns ``` #### Examine Downloads Analyze file transfers: ``` # HTTP file downloads http.request.method == "GET" && http contains "Content-Disposition" # Follow HTTP Stream to view file content # Use File > Export Objects > HTTP to extract files ``` #### DNS Analysis Investigate DNS activity: ``` # All DNS traffic dns # DNS queries only dns.flags.response == 0 # DNS responses only dns.flags.response == 1 # Failed DNS lookups dns.flags.rcode != 0 # Specific domain queries dns.qry.name contains "domain.com" ``` ### Phase 6: Expert Information #### Access Expert Analysis View Wireshark's automated findings: ``` Analyze > Expert Information Categories: - Errors: Critical issues - Warnings: Potential problems - Notes: Informational items - Chats: Normal conversation events ``` #### Common Expert Findings | Finding | Mea
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.