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 選擇與環境變量配置。

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

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

小夜