使用说明
Wireshark MCP服务器
一个全面的模型上下文协议(MCP)服务器,为AI助手提供专业级的网络分析功能。将Wireshark数据包分析与nmap扫描、威胁情报和现代MCP功能相结合,以增强网络故障排除和安全分析。
特性
核心Wireshark功能
- 实时数据包捕获:从任何接口实时捕获网络流量
- PCAP文件分析:通过过滤对捕获文件进行高级分析
- 协议统计:全面的协议层次结构和对话统计
- 流跟踪:从捕获重建TCP/UDP对话
- 数据导出:将数据包导出为JSON、CSV格式
网络扫描(Nmap集成)
- 端口扫描:多种扫描类型(SYN、连接、UDP)
- 服务检测:确定服务和版本
- 操作系统识别:操作系统检测
- 漏洞扫描:NSE漏洞检测脚本
- 快速全面扫描:灵活的扫描选项
安全特性
- 威胁情报:URLhaus和AbuseIPDB集成
- 恶意IP检测:自动威胁检查
- 安全审计工作流程:引导安全分析提示
- 凭证扫描:检测明文凭据
- 纵深防御:多层输入验证
现代MCP功能
- MCP资源:动态访问界面和捕获
- MCP提示:指导安全审计和故障排除的工作流程
- 结构化JSON输出:LLM优化的响应格式
- 速率限制:防止滥用扫描操作
- 异步操作:无阻塞高性能分析
安装
快速安装(PyPI)
pip install wireshark-mcp-server
开发安装
# 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
需求
系统要求
- Python 3.8+ 使用pip
- Wireshark/TShark 已安装并位于PATH中
- 扫描器 (可选,用于扫描功能)
- 网络捕获权限 (见下面的设置)
安装命令
Ubuntu/Debian
sudo apt-get update
sudo apt-get install tshark nmap
sudo usermod -aG wireshark $USER
macOS
brew install wireshark nmap
视窗
网络权限
Linux(推荐)
# 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
配置
克劳德桌面版
编辑您的Claude Desktop配置:
- 视窗:
%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"
}
}
}
}
环境变量
# 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"
可用工具
网络接口和捕获(5个工具)
get_network_interface()
- 列出所有可用的网络接口
capture_live_packets(接口、计数、capture_filter、超时、格式)
- 通过BPF过滤捕获实时数据包
- 支持JSON和文本输出格式
analyze_pcap_file(文件路径、显示过滤器、最大数据包)
- 使用Wireshark显示过滤器分析PCAP文件
get_protocal_statistics(文件路径)
- 生成协议层次结构和IP会话
get_capture_file_info(文件路径)
- 检索捕获文件元数据
流分析(3个工具)
follow_tcp_stream(文件路径、stream_index、格式)
- 重建TCP对话(ASCII、十六进制、原始)
follow_udp_stream(文件路径、stream_index、格式)
- 重建UDP对话
list_tcp_streams(文件路径)
- 列出捕获中的所有TCP对话
数据导出(3个工具)
export_packets_json(文件路径、显示过滤器、最大数据包)
- 将数据包导出为结构化JSON
export_packets_csv(文件路径、字段、显示过滤器)
- 将自定义字段导出到CSV
convert_pcap_format(文件路径、输出格式)
- 在pcap/pcapng格式之间转换
Nmap扫描(6个工具)
nmap_port_scan(目标、端口、scan_type、格式)
- 扫描开放端口(连接、SYN、UDP)
nmap_service_detection(目标,端口)
- 检测服务版本
nmap_os_检测(目标)
- 标识操作系统(需要root)
nmap_vulnerability扫描(目标,端口)
- 运行NSE漏洞脚本
nmap_quick_scan(目标)
- 快速扫描前100个端口
nma_comprehensive_scan(目标)
- 具有所有功能的全扫描
威胁情报(2个工具)
check_ip_thrat_intel(ip_or_filepath,提供者)
- 根据URLhaus、AbuseIPDB检查IP
scan_capture_for_threats(文件路径、提供程序)
- PCAP文件的全面威胁扫描
MCP资源
wireshark://interfaces/
- 网络接口动态列表
wireshark://captures/
- 公用目录中的可用PCAP文件
wireshark://system/info
- 系统功能和工具可用性
network://help
- 全面的工具文档
MCP提示
安全审计
- 引导式安全分析工作流程
网络故障排查
- 网络诊断工作流程
偶发事件响应
- 安全事件调查工作流程
使用示例
基本网络捕获
User: "Capture 100 packets from eth0 with HTTP traffic"
AI: Uses capture_live_packets("eth0", 100, "tcp port 80")
安全分析工作流程
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
扫描与捕获工作流程
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
威胁情报检查
User: "Check if this capture has any malicious IPs"
AI: scan_capture_for_threats("/path/to/capture.pcap", "urlhaus,abuseipdb")
安全
输入验证
- IP/CIDR/主机名验证
- 端口范围验证
- BPF和显示器过滤器消毒
- 文件路径解析和沙盒
命令注入预防
- shell=假 在所有子流程调用中强制执行
- 基于列表的命令构造
- 没有用户直接在shell命令中输入
速率限制
- 每小时最多10 nmap扫描
- 可配置的扫描历史跟踪
权限管理
- 检测何时需要root/sudo
- 从不自动升级权限
- 清除权限问题的错误消息
审计日志
- 所有扫描都记录了时间戳
- 跟踪安全相关操作
- 记录验证失败
发展
运行测试
# 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/
项目结构
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
故障排除
“未找到TShark”
# Verify installation
tshark --version
# Add to PATH or use absolute path
export PATH=$PATH:/usr/bin
捕获“权限被拒绝”
# 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不可用”
# Install nmap
sudo apt-get install nmap # Debian/Ubuntu
brew install nmap # macOS
# Verify
nmap --version
威胁情报不起作用
# Check API key
echo $ABUSEIPDB_API_KEY
# URLhaus requires no key (works by default)
# AbuseIPDB requires free API key from https://www.abuseipdb.com/
许可证
MIT许可证-有关详细信息,请参阅许可证文件
致谢
- 基于Anthropic的模型上下文协议(MCP)构建
- 由Wireshark网络分析工具包提供技术支持
- 与Nmap安全扫描器集成
- 来自URLhaus和AbuseIPDB的威胁情报
支持
- 问题: GitHub问题
- 文档:参见
network://helpMCP中的资源 - 安全:通过GitHub安全公告报告漏洞
路线图
- IP地址的GeoIP富集
- HTTP/TLS凭据提取
- 实时WebSocket流媒体
- VirusTotal集成
- AlienVault OTX集成
- 机器学习流量分类
- 异常检测算法
- PCAP合并和拆分工具
- 统计可视化导出
通过人工智能驱动的Wireshark+Nmap集成转换您的网络分析