前言¶
给模型做网络流量分析时,常见的做法是让模型自己读 pcap 文件,或者先写脚本再调用外部工具。前者读不懂二进制抓包格式,后者要额外维护一套脚本。下面介绍的 dsh-wireshark-mcp 把上游的 Wireshark-MCP 服务器接到 DSH,模型直接拿到 mcp__wireshark__* 这组工具,可以在会话里调用 tshark 做抓包分析。
它是第三方维护的工作流插件,由 extreme-russian-dsh-fandom 维护,不是 DeepSeek / 幻方的官方组件。
这是什么¶
一句话定位:dsh-wireshark-mcp 是 DeepSeek Harness 的适配器(bundle),把上游 MCP 服务器 Wireshark-MCP 接进 DSH。
需要说明的是,它不是 Wireshark-MCP 的 fork,代码里也不含上游任何源码。整个插件只有一份 cordis.patch.yml,用官方安装命令从 PyPI 拉取上游服务器,因此模型拿到的工具组随上游版本变化。插件本身只负责接线和文档,许可证为 MIT,上游为 MIT。
它解决的问题是:DSH 的模型原本没有抓包分析能力,安装后模型可以读 pcap/pcapng、出协议分层、做聚合统计、跟流、查异常流量。
核心功能¶
插件不直接实现分析,分析能力来自上游 Wireshark-MCP,通过其声明的 42 个工具暴露给模型。安装完成后,模型可见的工具名形如:
mcp__wireshark__open_file
mcp__wireshark__quick_analysis
mcp__wireshark__aggregate
mcp__wireshark__follow_stream
mcp__wireshark__detect_dns_tunnel
按 README 描述,analysis profile 覆盖这些能力:抓包列表 / 详情 / 字节 / 流、字段与对象提取、聚合统计、协议分层、端点与会话、I/O 图、expert info、凭据扫描、端口扫描、DNS 隧道、DoS、beaconing、数据外泄、协议异常、YARA、analyze_protocol(25 种协议)、TCP 健康、ARP 欺骗、解密与解剖覆写、TLS 指纹、GeoIP 以及 case files。
插件提供三个 profile,目的不是功能差异而是成本差异——工具列表随每个请求一起发送,所以更小的 profile 提示开销更低:
| Profile | 工具数 | 差异 |
|---|---|---|
analysis(默认) |
42 | 不做实时抓包,不允许调用方指定的文件写入 |
full |
54 | 增加实时抓包、接口枚举、merge/editcap/filter-save/text2pcap、文件写入 |
core |
34 | 提示开销最小 |
环境变量由 cordis.patch.yml 读取:
| 变量 | 默认值 | 含义 |
|---|---|---|
WIRESHARK_MCP_COMMAND |
uvx |
启动服务器所用的可执行文件 |
WIRESHARK_MCP_PROFILE |
analysis |
analysis / full / core |
WIRESHARK_MCP_ALLOWED_DIRS |
空 | 允许文件写入工具写入的目录白名单,空表示禁用(上游默认失败关闭) |
WIRESHARK_MCP_MAX_RESULT_CHARS |
8000 |
单条结果字符上限 |
WIRESHARK_MCP_TIMEOUT_MS |
180000 |
单次调用超时;上游默认为 60 s |
安装与启用¶
官方给出的安装命令如下,优先使用 GitHub 源,未来改动会落在这边:
dsh plugin --profile desktop add "github:extreme-russian-dsh-fandom/dsh-wireshark-mcp#master"
仓库地址:https://github.com/extreme-russian-dsh-fandom/dsh-wireshark-mcp
另有 GitLab 旧源,README 注明两处当前代码一致,但 GitLab 侧不再更新、可能落后,因此两边同时列出时以 GitHub 规格为准:
dsh plugin --profile desktop add "gitlab:andrey23525/deepseek-wireshark-mcp#master"
没有 CLI 时,可以在 Harness Web 的 Plugins 页面安装上述任一规格。装完重启 Harness,模型即可看到 mcp__wireshark__* 工具。
安装前需要准备:
1、安装 Wireshark。每个分析工具都会 shell 调用 tshark;Windows 上 bundle 会把 %ProgramFiles%\Wireshark 加入子进程的 PATH,因为安装器常常不配。
2、安装 uv(uvx 在 PATH 上)。如果 uvx 装在别处,用 WIRESHARK_MCP_COMMAND 覆盖。
3、首次启动需要有网络,uvx 会从 PyPI 拉一次 wireshark-mcp,之后复用缓存。
可选的 Wireshark 套件二进制在存在时会启用额外工具:capinfos、mergecap、editcap、dumpcap、text2pcap。
卸载时在 Plugins 页面移除,或执行:
dsh plugin --profile desktop remove dsh-wireshark-mcp
除 uvx 缓存外没有其他落盘内容。
开发调试时,可以直接安装 checkout 目录,例如 C:\Work\dsh-wireshark-mcp。安装本地目录是链接关系,改完触发 bundle 重新启用即可;安装 git 规格则是复制一份,改动要先 push 再重装。
典型用法¶
README 给出两个可直接复现的例子:
Analyze C:\captures\capture.pcap: call mcp__wireshark__open_file, then mcp__wireshark__quick_analysis.
Index big.pcapng with mcp__wireshark__index, then count destinations with mcp__wireshark__aggregate.
第一个例子是先打开抓包文件,再做快速分析;第二个例子是先给大文件建索引,再用聚合工具统计目标地址。
切换 profile 不需要改 YAML,改环境变量后重启 Harness(服务器进程启动时只生成一次):
$env:WIRESHARK_MCP_PROFILE = 'full'
$env:WIRESHARK_MCP_ALLOWED_DIRS = 'C:\captures'
如果需要精确控制启动命令,可以在 profile 的 cordis.patch.yml 里覆写同一行,id 不变,后者覆盖前者:
- insert:
- id: wireshark-mcp
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: wireshark
transport: stdio
command: 'C:\Users\<you>\AppData\Local\Programs\Python\Python312\Scripts\uvx.exe'
args: ['--from', 'wireshark-mcp', 'wireshark-mcp', 'serve', '--profile', 'full']
env:
WIRESHARK_MCP_ALLOWED_DIRS: 'C:\captures'
toolCallTimeoutMs: 300000
MCP 客户端会清洗匹配 KEY|PASSWORD|SECRET|TOKEN 的环境变量名以及所有 DSH_* 名字,因此服务器需要的参数要显式传入。
验证构建:probe/ 目录里放了制作本 bundle 时用到的检查脚本,都不随插件发布:
python probe/make_pcap.py probe/sample.pcap # 2 DNS queries + 1 TCP SYN
node probe/mcp-probe.mjs # raw stdio handshake, expects 54 tools on full
node probe/mcp-probe-full.mjs # full profile with the empty allowlist
在 Harness 会话里,mcp__wireshark__get_capabilities 应报 tshark.available: true,对 probe/sample.pcap 调 mcp__wireshark__quick_analysis 应返回协议分层。
适用场景与注意¶
适合需要让模型直接分析网络抓包的 DSH 使用者:安全排查、协议异常确认、流量聚合统计这类工作,比每次让模型自己写脚本调用 tshark 更顺手。网络抓包分析会读取文件内容,模型拿到的虽然是读取类工具,仍然属于会接触敏感数据的环节。
注意三点:
1、插件以当前 dsh 进程权限运行。启用 full profile 后,服务器可以用宿主用户权限执行 dumpcap;文件写入类工具受 WIRESHARK_MCP_ALLOWED_DIRS 白名单约束,默认空值即失败关闭。
2、分析类工具只读抓包,默认 profile 不含实时抓包和文件写入;服务器走本地 stdio,不开放端口。
3、安装前应检查源码与许可证。本插件为 MIT,仅做接线和文档;上游为 bx33661/Wireshark-MCP,同样 MIT。
这个插件是社区维护的第三方工作流插件,目录页在 skillhub.cn,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-wireshark-mcp 的价值在于把 Wireshark 抓包分析搬进 DSH 的工具表,让模型用现成的 mcp__wireshark__* 工具完成分析,不需要额外脚本。该插件当前是适配器形态,分析能力取决于上游版本,使用时留意 profile 选择与环境变量配置。