网络分析MCP服务器

一个结合Wireshark数据包分析和Nmap扫描功能的MCP服务器,提供专业的网络分析和安全审计能力。

  • by mixelpixx
  • Python
  • 本地部署
  • 14 星标
  • 更新于
在 GitHub 查看 mixelpixx/Wireshark-MCP

使用说明

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

视窗

  1. 下载并安装 Wireshark
  2. 下载并安装 扫描器
  3. 以管理员身份运行数据包捕获

网络权限

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://help MCP中的资源
  • 安全:通过GitHub安全公告报告漏洞

路线图

  • IP地址的GeoIP富集
  • HTTP/TLS凭据提取
  • 实时WebSocket流媒体
  • VirusTotal集成
  • AlienVault OTX集成
  • 机器学习流量分类
  • 异常检测算法
  • PCAP合并和拆分工具
  • 统计可视化导出

通过人工智能驱动的Wireshark+Nmap集成转换您的网络分析