网络数据包分析服务

Wireshark MCP Server是一个基于tshark的网络数据包捕获与分析服务,通过Model Context Protocol(MCP)为AI助手提供完整的Wireshark分析能力。

  • by wgthomas
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 wgthomas/wireshark-mcp

使用说明

Wireshark MCP服务器

通过tshark进行网络捕获和分析,作为 模型上下文协议 (MCP)服务器。让像克劳德这样的人工智能助手完全访问Wireshark的分析功能。

20工具 (15个离散的+5个复合工作流)。便携式——在安装了tshark的任何主机上运行。Windows、Linux、macOS。

是什么让这与众不同

大多数Wireshark MCP服务器为您提供4-8个基本工具(捕获、读取、统计)。这包括 复合工作流工具 将多个分析链接到一个调用中:

  • wireshark_recon --完整的网络调查:协议、顶级演讲者、带有供应商标识的设备清单、DNS统计数据。一个电话。
  • wireshark_identify_devices --通过MAC/OUI解析、主机名提取(DNS/mDNS/NBNS)和基于端口的角色分类发现设备。
  • wireshark_traffic_profile --深入了解单个IP:使用的协议、顶级对等体、字节输入/输出、活动端口、DNS查询、随时间变化的活动。
  • wireshark_security_audit --检查明文凭据(HTTP基本身份验证、FTP、telnet)、未加密协议、DNS异常、ARP异常、广播风暴。通过URLhaus提供可选威胁情报。
  • wireshark_compare_captures --区分两个捕获:新的/消失的设备、协议分布变化、流量增量。

加上捆绑 是的,数据库 (~1500个供应商前缀),无需外部查找即可即时解析MAC到供应商。

快速开始

先决条件

  • Python 3.11+
  • Wireshark 已安装(包括tshark)
  • 在Linux上:捕获权限(sudo setcap cap_net_raw+ep $(which tshark) 或以root身份运行)

安装

git clone https://github.com/wgthomas/wireshark-mcp.git
cd wireshark-mcp
pip install -r requirements.txt

配置克劳德代码/克劳德桌面

添加到MCP配置(~/.claude.json 或克劳德桌面设置):

{
  "mcpServers": {
    "wireshark": {
      "command": "python",
      "args": ["/path/to/wireshark-mcp/wireshark_mcp.py"],
      "env": {}
    }
  }
}

tshark是自动检测的。如果它不在您的PATH中,请设置 WIRESHARK_TSHARK_PATH:

"env": {
  "WIRESHARK_TSHARK_PATH": "/usr/bin/tshark"
}

工具

离散工具(15)

工具 说明
wireshark_list_interfaces 可用的捕获接口
wireshark_check_permissions 验证标记和捕获权限
wireshark_capture 实时捕获到pcapng文件
wireshark_list_captures 已保存的捕获文件
wireshark_protocol_hierarchy 协议分发树
wireshark_conversations 谁在和谁说话(按字节排列的前N位)
wireshark_endpoints 具有流量的独特端点
wireshark_dns_analysis DNS查询类型、响应代码、响应时间
wireshark_io_stats 不同时间间隔的交通量
wireshark_http_analysis HTTP方法和响应代码
wireshark_expert_info Wireshark警告、错误和注释
wireshark_extract_fields 自定义tshark字段提取
wireshark_packet_list 前N个数据包摘要
wireshark_resolve_oui MAC地址供应商查找
wireshark_version tshark版本和路径

工作流工具(5)

工具 说明
wireshark_recon 全网侦察
wireshark_identify_devices 设备发现和分类
wireshark_traffic_profile 单IP深潜
wireshark_security_audit 以安全为重点的分析
wireshark_compare_captures 区分两个捕获文件

所有工作流工具都接受 pcap_file 路径或 interface 现场捕捉。

配置

所有设置均通过环境变量进行 WIRESHARK_ 前缀:

变量 默认值 描述
WIRESHARK_TSHARK_PATH 自动检测 tshark二进制文件的路径
WIRESHARK_CAPTURE_DIR ./captures 在哪里保存捕获
WIRESHARK_DEFAULT_DURATION 120 捕获持续时间(秒)
WIRESHARK_MAX_PACKETS 100000 每次捕获的最大数据包数
WIRESHARK_DEFAULT_TOP_N 20 排名结果的默认限制

令牌优化

所有工具都返回结构化JSON,从不返回原始tshark文本。输出是聚合摘要,上限约为4000个令牌。使用 wireshark_extract_fields 当您需要特定的数据包数据时,进行有针对性的深度挖掘。

安全

  • 无外壳=真 --所有tshark命令都使用 subprocess 带参数列表
  • 输入净化 --根据注射字符验证显示过滤器和参数
  • 仅捕获文件 --服务器读取/写入pcap文件,从不执行任意命令

测试

# Basic tests (no capture file needed)
python test_quick.py

# Full tests with a capture file
python test_quick.py path/to/capture.pcapng

# Workflow tests
python test_workflows.py path/to/capture.pcapng [target_ip]

许可证

麻省理工学院