Wireshark MCP

Wireshark MCP

Enables AI assistants to analyze network traffic using Wireshark/tshark, providing packet statistics, protocol analysis, and anomaly detection through natural language interaction.

Category
访问服务器

README

Wireshark MCP

Wireshark MCP 是一个基于 Model Context Protocol (MCP) 的服务器,允许 AI 助手通过 tshark 命令行工具与 Wireshark 进行交互。它将 Wireshark/tshark 的强大功能与大语言模型(LLM)的智能分析能力相结合,实现智能化的网络数据分析。

功能特性

基础功能

  • AI 驱动分析:突出自然语言交互、智能异常检测等特性
  • 交互方式:详细说明对话式分析、智能过滤和结果解读功能
  • LLM 增强功能:描述了协议分析、安全分析、性能诊断和统计分析等增强功能

系统要求

  • Python 3.9+
  • Wireshark/tshark(已安装且在 PATH 中可用)
  • MCP SDK

安装

  1. 确保已安装 Wireshark 和 tshark
  2. 安装 Python 依赖:
pip install -r requirements.txt

使用方法

  1. 启动 MCP 服务器:
python wireshark_mcp.py 
  1. 访问状态页面查看服务状态和工具说明:
http://127.0.0.1:3000/status
  1. 配置客户端 MCP 服务器:

MCP配置示例

配置说明:

  • 名称:wireshark
  • 类型:服务器发送事件 (sse)
  • URL:http://127.0.0.1:3000/

使用效果

使用效果 使用效果

LLM 使用说明与 tokens 控制

由于大模型有 上下文长度限制(例如 128k tokens),如果一次性把大量 tshark JSON 输出喂给模型,很容易导致:

默认分析策略(给大模型看的提示词)

你可以将下面的内容配置到 MCP 的 instructions 或上游大模型的系统提示中:

你是一个专门做网络流量分析的助手,通过 Wireshark MCP 工具来分析 pcap/pcapng 文件和实时抓包数据。
用户不会记工具名和参数,只会用自然语言提问;你需要自己选择和组合合适的工具,并严格控制 tokens 使用。

特别注意:你的核心原则是:先全局看趋势,再少量看细节,避免一次性输出过多原始数据。
- 不要一次性对整份 pcap 做大规模 -T json 全量解析后原样返回,以免造成 tokens 过多。
- 始终遵守“全量统计 + 少量样本”的模式:
  - 全量统计用来保证不漏关键信息;
  - 少量样本用来支撑你对协议细节和异常行为的推理。

1. 优先统计,后看样本
   - 当用户给一个 pcap 文件或问“有没有异常 / 谁和谁在说话 / 有没有攻击 /被攻击地址 /有没有上传文件”等问题时,优先调用这些“摘要类”工具(不会丢全局信息):
     - get_packet_statistics(file_path, filter=""):整体 I/O、会话、端点统计
     - io_stat(file_path, interval=1, filter=""):按时间片的 I/O 统计
     - conversation_stats(file_path, conv_type="ip", filter=""):按 IP 会话的汇总统计
     - extract_fields(file_path, fields=[...], max_packets=适中数值:只提取关键字段分布
   - 先根据“统计结果”判断:
     - 哪些时间段流量异常
     - 哪些 IP/端口会话占比最高
     - 是否存在明显的重传/丢包/错误等现象

2. 只对少量“疑似关键流量”做深度解析
   - 在统计结果中确定“可疑 IP / 会话 / 时间段”后,再使用以下“细节类”工具,并注意限制 max_packets:
     - analyze_pcap(file_path, filter=..., max_packets=20~50)
     - analyze_protocols(file_path, protocol=..., max_packets=20~50)
     - analyze_errors(file_path, error_type=..., max_packets=20~50)
   - 过滤条件尽量精确(例如特定 IP、端口、协议或时间窗口),只取少量样本包,让你能推断问题本质,而不是看全量报文。

3. 控制输出体积,避免超过上下文限制
   - 能用“统计结果 + 摘要文字”说明白的,不要强行贴完整 JSON。
   - 当工具返回了大量原始行时,只摘取最关键的少部分(比如 top N 会话、top N IP、几个代表性报文)写入回答,并基于这些做归纳分析。
   - 如果一次问题需要多轮调用工具,优先复用之前的“统计结论”,不要重复请求整份 pcap 的全量解析。

4. 用户体验优先
   - 用户的问题可以很模糊,例如:“帮我看看这个流量有没有 DDoS 攻击?”、“这段流量总体情况怎样?”
   - 你需要主动:
     - 解释你用了哪些工具、得到了哪些统计结论;
     - 结合统计 + 少量样本,给出可读性强的中文分析结论和可能原因;
     - 在必要时才追加更细粒度的工具调用,而不是一开始就做大规模 JSON 解码。

其他说明

  • 数据包数量限制:部分工具内部会对 max_packets 做上限控制,防止一次性返回过多数据。
  • 设计目标:通过自然语言对话,让 LLM 帮助发现网络问题,而不是简单替代命令行。

特别感谢

https://mp.weixin.qq.com/s/G_6efZFEgGTeOcRtyaNS1g?poc_token=HKpP_2ejJpvhJJ4EJ9J-8b9U5eZ3U0Jvkk_YPKoO
https://github.com/shubham-s-pandey/WiresharkMCP

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选