Wireshark MCP Server
A comprehensive MCP server that provides AI assistants with professional-grade network analysis capabilities, combining Wireshark packet analysis, nmap scanning, and threat intelligence for enhanced network troubleshooting and security analysis.
README
Wireshark MCP Server
A comprehensive Model Context Protocol (MCP) server that provides AI assistants with professional-grade network analysis capabilities. Combines Wireshark packet analysis with nmap scanning, threat intelligence, and modern MCP features for enhanced network troubleshooting and security analysis.
Features
Core Wireshark Capabilities
- Live Packet Capture: Real-time network traffic capture from any interface
- PCAP File Analysis: Advanced analysis of capture files with filtering
- Protocol Statistics: Comprehensive protocol hierarchy and conversation stats
- Stream Following: Reconstruct TCP/UDP conversations from captures
- Data Export: Export packets to JSON, CSV formats
Network Scanning (Nmap Integration)
- Port Scanning: Multiple scan types (SYN, connect, UDP)
- Service Detection: Identify services and versions
- OS Fingerprinting: Operating system detection
- Vulnerability Scanning: NSE vulnerability detection scripts
- Quick & Comprehensive Scans: Flexible scan options
Security Features
- Threat Intelligence: URLhaus and AbuseIPDB integration
- Malicious IP Detection: Automatic threat checking
- Security Audit Workflows: Guided security analysis prompts
- Credential Scanning: Detect cleartext credentials
- Defense in Depth: Multiple layers of input validation
Modern MCP Features
- MCP Resources: Dynamic access to interfaces and captures
- MCP Prompts: Guided workflows for security audits and troubleshooting
- Structured JSON Output: LLM-optimized response formats
- Rate Limiting: Prevent abuse of scanning operations
- Async Operations: Non-blocking high-performance analysis
Installation
Quick Install (PyPI)
pip install wireshark-mcp-server
Development Install
# Clone repository
git clone https://github.com/yourusername/wireshark-mcp.git
cd wireshark-mcp
# Install in development mode
pip install -e .
# Or install from requirements
pip install -r requirements.txt
Requirements
System Requirements
- Python 3.8+ with pip
- Wireshark/TShark installed and in PATH
- Nmap (optional, for scanning features)
- Network capture permissions (see setup below)
Installation Commands
Ubuntu/Debian
sudo apt-get update
sudo apt-get install tshark nmap
sudo usermod -aG wireshark $USER
macOS
brew install wireshark nmap
Windows
Network Permissions
Linux (Recommended)
# Set capabilities on dumpcap (no root needed)
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
# Or add user to wireshark group
sudo usermod -aG wireshark $USER
newgrp wireshark # Apply group without logout
Configuration
Claude Desktop
Edit your Claude Desktop config:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"wireshark": {
"command": "wireshark-mcp-server",
"env": {
"ABUSEIPDB_API_KEY": "your_api_key_here"
}
}
}
}
Environment Variables
# Optional: AbuseIPDB API key for threat intelligence
export ABUSEIPDB_API_KEY="your_api_key_here"
# Optional: VirusTotal API key (future support)
export VIRUSTOTAL_API_KEY="your_api_key_here"
Available Tools
Network Interface & Capture (5 tools)
get_network_interfaces()
- Lists all available network interfaces
capture_live_packets(interface, count, capture_filter, timeout, format)
- Captures live packets with BPF filtering
- Supports JSON and text output formats
analyze_pcap_file(filepath, display_filter, max_packets)
- Analyzes PCAP files with Wireshark display filters
get_protocol_statistics(filepath)
- Generates protocol hierarchy and IP conversations
get_capture_file_info(filepath)
- Retrieves capture file metadata
Stream Analysis (3 tools)
follow_tcp_stream(filepath, stream_index, format)
- Reconstructs TCP conversations (ASCII, hex, raw)
follow_udp_stream(filepath, stream_index, format)
- Reconstructs UDP conversations
list_tcp_streams(filepath)
- Lists all TCP conversations in capture
Data Export (3 tools)
export_packets_json(filepath, display_filter, max_packets)
- Exports packets to structured JSON
export_packets_csv(filepath, fields, display_filter)
- Exports custom fields to CSV
convert_pcap_format(filepath, output_format)
- Converts between pcap/pcapng formats
Nmap Scanning (6 tools)
nmap_port_scan(target, ports, scan_type, format)
- Scans for open ports (connect, SYN, UDP)
nmap_service_detection(target, ports)
- Detects service versions
nmap_os_detection(target)
- Identifies operating system (requires root)
nmap_vulnerability_scan(target, ports)
- Runs NSE vulnerability scripts
nmap_quick_scan(target)
- Fast scan of top 100 ports
nmap_comprehensive_scan(target)
- Full scan with all features
Threat Intelligence (2 tools)
check_ip_threat_intel(ip_or_filepath, providers)
- Checks IPs against URLhaus, AbuseIPDB
scan_capture_for_threats(filepath, providers)
- Comprehensive threat scan of PCAP file
MCP Resources
wireshark://interfaces/
- Dynamic list of network interfaces
wireshark://captures/
- Available PCAP files in common directories
wireshark://system/info
- System capabilities and tool availability
network://help
- Comprehensive tool documentation
MCP Prompts
security_audit
- Guided security analysis workflow
network_troubleshooting
- Network diagnostics workflow
incident_response
- Security incident investigation workflow
Usage Examples
Basic Network Capture
User: "Capture 100 packets from eth0 with HTTP traffic"
AI: Uses capture_live_packets("eth0", 100, "tcp port 80")
Security Analysis Workflow
User: "Perform a security audit on suspicious.pcap"
AI:
1. Uses security_audit prompt
2. Analyzes file with get_protocol_statistics()
3. Extracts IPs and checks scan_capture_for_threats()
4. Follows suspicious TCP streams
5. Generates comprehensive report
Scan & Capture Workflow
User: "Scan 192.168.1.100 then capture its traffic"
AI:
1. nmap_quick_scan("192.168.1.100")
2. capture_live_packets("eth0", 500, "host 192.168.1.100")
3. analyze_pcap_file() with findings
4. follow_tcp_stream() for interesting connections
Threat Intelligence Check
User: "Check if this capture has any malicious IPs"
AI: scan_capture_for_threats("/path/to/capture.pcap", "urlhaus,abuseipdb")
Security
Input Validation
- IP/CIDR/hostname validation
- Port range validation
- BPF and display filter sanitization
- File path resolution and sandboxing
Command Injection Prevention
- shell=False enforced in ALL subprocess calls
- List-based command construction
- No user input directly in shell commands
Rate Limiting
- Max 10 nmap scans per hour
- Configurable scan history tracking
Privilege Management
- Detects when root/sudo required
- Never auto-escalates privileges
- Clear error messages for permission issues
Audit Logging
- All scans logged with timestamps
- Security-relevant operations tracked
- Validation failures recorded
Development
Running Tests
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/
# With coverage
pytest --cov=wireshark_mcp --cov-report=html
# Linting
ruff check wireshark_mcp/
black --check wireshark_mcp/
# Type checking
mypy wireshark_mcp/
Project Structure
wireshark_mcp/
├── server.py # Main server orchestration
├── core/
│ ├── security.py # Security validation
│ └── output_formatter.py # Response formatting
├── interfaces/
│ ├── wireshark_interface.py # TShark wrapper
│ ├── nmap_interface.py # Nmap wrapper
│ └── threat_intel_interface.py # Threat APIs
├── tools/
│ ├── capture.py # Capture tools
│ ├── analysis.py # Analysis tools
│ ├── nmap_scan.py # Scanning tools
│ ├── network_streams.py # Stream tools
│ ├── export.py # Export tools
│ └── threat_intel.py # Threat tools
├── resources/ # MCP Resources
└── prompts/ # MCP Prompts
Troubleshooting
"TShark not found"
# Verify installation
tshark --version
# Add to PATH or use absolute path
export PATH=$PATH:/usr/bin
"Permission denied" for capture
# Linux - set capabilities
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
# Or use sudo (not recommended)
sudo wireshark-mcp-server
"Nmap not available"
# Install nmap
sudo apt-get install nmap # Debian/Ubuntu
brew install nmap # macOS
# Verify
nmap --version
Threat Intelligence Not Working
# Check API key
echo $ABUSEIPDB_API_KEY
# URLhaus requires no key (works by default)
# AbuseIPDB requires free API key from https://www.abuseipdb.com/
License
MIT License - see LICENSE file for details
Acknowledgments
- Built on the Model Context Protocol (MCP) by Anthropic
- Powered by Wireshark network analysis toolkit
- Integrated with Nmap security scanner
- Threat intelligence from URLhaus and AbuseIPDB
Support
- Issues: GitHub Issues
- Documentation: See
network://helpresource in MCP - Security: Report vulnerabilities via GitHub Security Advisories
Roadmap
- GeoIP enrichment for IP addresses
- HTTP/TLS credential extraction
- Real-time WebSocket streaming
- VirusTotal integration
- AlienVault OTX integration
- Machine learning traffic classification
- Anomaly detection algorithms
- PCAP merging and splitting tools
- Statistics visualization export
Transform your network analysis with AI-powered Wireshark + Nmap integration
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。