wireshark-analysis
Execute comprehensive network traffic analysis using Wireshark to capture, filter, and examine network packets for security investigations, performance optimization, and troubleshooting.
Best use case
wireshark-analysis is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Execute comprehensive network traffic analysis using Wireshark to capture, filter, and examine network packets for security investigations, performance optimization, and troubleshooting.
Teams using wireshark-analysis should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/wireshark-analysis/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How wireshark-analysis Compares
| Feature / Agent | wireshark-analysis | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Execute comprehensive network traffic analysis using Wireshark to capture, filter, and examine network packets for security investigations, performance optimization, and troubleshooting.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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 | Meaning | Action | |---------|---------|--------| | TCP Retransmission | Packet resent | Check for packet loss | | Duplicate ACK | Possible loss | Investigate network path | | Zero Window | Buffer full | Check receiver performance | | RST | Connection reset | Check for blocks/errors | | Out-of-Order | Packets reordered | Usually normal, excessive is issue | ## Quick Reference ### Keyboard Shortcuts | Action | Shortcut | |--------|----------| | Open file | Ctrl+O | | Save file | Ctrl+S | | Start/Stop capture | Ctrl+E | | Find packet | Ctrl+F | | Go to packet | Ctrl+G | | Next packet | ↓ | | Previous packet | ↑ | | First packet | Ctrl+Home | | Last packet | Ctrl+End | | Apply filter | Enter | | Clear filter | Ctrl+Shift+X | ### Common Filter Reference ``` # Web traffic http || https # Email smtp || pop || imap # File sharing smb || smb2 || ftp # Authentication ldap || kerberos # Network management snmp || icmp # Encrypted tls || ssl ``` ### Export Options ``` File > Export Specified Packets # Save filtered subset File > Export Objects > HTTP # Extract HTTP files File > Export Packet Dissections # Export as text/CSV ``` ## Constraints and Guardrails ### Operational Boundaries - Capture only authorized network traffic - Handle captured data according to privacy policies - Avoid capturing sensitive credentials unnecessarily - Properly secure PCAP files containing sensitive data ### Technical Limitations - Large captures consume significant memory - Encrypted traffic content not visible without keys - High-speed networks may drop packets - Some protocols require plugins for full decoding ### Best Practices - Use capture filters to limit data collection - Save captures regularly during long sessions - Use display filters rather than deleting packets - Document analysis findings and methodology ## Examples ### Example 1: HTTP Credential Analysis **Scenario**: Investigate potential plaintext credential transmission ``` 1. Filter: http.request.method == "POST" 2. Look for login forms 3. Follow HTTP Stream 4. Search for username/password parameters ``` **Finding**: Credentials transmitted in cleartext form data. ### Example 2: Malware C2 Detection **Scenario**: Identify command and control traffic ``` 1. Filter: dns 2. Look for unusual query patterns 3. Check for high-frequency beaconing 4. Identify domains with random-looking names 5. Filter: ip.dst == SUSPICIOUS_IP 6. Analyze traffic patterns ``` **Indicators**: - Regular timing intervals - Encoded/encrypted payloads - Unusual ports or protocols ### Example 3: Network Troubleshooting **Scenario**: Diagnose slow web application ``` 1. Filter: ip.addr == WEB_SERVER 2. Check Statistics > Service Response Time 3. Filter: tcp.analysis.retransmission 4. Review I/O Graph for patterns 5. Check for high latency or packet loss ``` **Finding**: TCP retransmissions indicating network congestion. ## Troubleshooting ### No Packets Captured - Verify correct interface selected - Check for admin/root permissions - Confirm network adapter is active - Disable promiscuous mode if issues persist ### Filter Not Working - Verify filter syntax (red = error) - Check for typos in field names - Use Expression button for valid fields - Clear filter and rebuild incrementally ### Performance Issues - Use capture filters to limit traffic - Split large captures into smaller files - Disable name resolution during capture - Close unnecessary protocol dissectors ### Cannot Decrypt TLS/SSL - Obtain server private key - Configure at Edit > Preferences > Protocols > TLS - For ephemeral keys, capture pre-master secret from browser - Some modern ciphers cannot be decrypted passively ## When to Use This skill is applicable to execute the workflow or actions described in the overview.
Related Skills
developer-growth-analysis
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
statistical-analysis
Guided statistical analysis with test selection and reporting. Use when you need help choosing appropriate tests for your data, assumption checking, power analysis, and APA-formatted results. Best for academic research reporting, test selection guidance. For implementing specific models programmatically use statsmodels.
neuropixels-analysis
Neuropixels neural recording analysis. Load SpikeGLX/OpenEphys data, preprocess, motion correction, Kilosort4 spike sorting, quality metrics, Allen/IBL curation, AI-assisted visual analysis, for Neuropixels 1.0/2.0 extracellular electrophysiology. Use when working with neural recordings, spike sorting, extracellular electrophysiology, or when the user mentions Neuropixels, SpikeGLX, Open Ephys, Kilosort, quality metrics, or unit curation.
exploratory-data-analysis
Perform comprehensive exploratory data analysis on scientific data files across 200+ file formats. This skill should be used when analyzing any scientific data file to understand its structure, content, quality, and characteristics. Automatically detects file type and generates detailed markdown reports with format-specific analysis, quality metrics, and downstream analysis recommendations. Covers chemistry, bioinformatics, microscopy, spectroscopy, proteomics, metabolomics, and general scientific data formats.
variant-analysis
Find similar vulnerabilities and bugs across codebases using pattern-based analysis. Use when hunting bug variants, building CodeQL/Semgrep queries, analyzing security vulnerabilities, or performing systematic code audits after finding an initial issue.
team-composition-analysis
Design optimal team structures, hiring plans, compensation strategies, and equity allocation for early-stage startups from pre-seed through Series A.
stride-analysis-patterns
Apply STRIDE methodology to systematically identify threats. Use when analyzing system security, conducting threat modeling sessions, or creating security documentation.
market-sizing-analysis
Comprehensive market sizing methodologies for calculating Total Addressable Market (TAM), Serviceable Available Market (SAM), and Serviceable Obtainable Market (SOM) for startup opportunities.
error-diagnostics-error-analysis
You are an expert error analysis specialist with deep expertise in debugging distributed systems, analyzing production incidents, and implementing comprehensive observability solutions.
error-debugging-error-analysis
You are an expert error analysis specialist with deep expertise in debugging distributed systems, analyzing production incidents, and implementing comprehensive observability solutions.
constant-time-analysis
Analyze cryptographic code to detect operations that leak secret data through execution timing variations.
binary-analysis-patterns
Comprehensive patterns and techniques for analyzing compiled binaries, understanding assembly code, and reconstructing program logic.