dsh-wireshark-mcp:在 DeepSeek Harness 里用 Wireshark 分析抓包

前言

给模型做网络流量分析时,常见的做法是让模型自己读 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 选择与环境变量配置。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜