WS

weirdmachine64/sharkmcp

API development

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

78 stars 2 forks 品質 69 トレンド 15MIT

PCAPファイルを分析するためのswis-knife MCPサーバー

概要

MCP サーバーで、LLM 用のツールとして、Wireshark のプログラマティック インターフェイス — を 拡張します。 PCAP/PCAPNGファイルを読み込み、自然言語で解析します。 - Python 3.10 + - Wireshark (サメッドを生成) またはインストールせずにリポジトリから直接実行します。 それぞれの読み込まれた PCAP は、専用の sharkd サブプロセスを取得します。 高価なスキャン(会話、エキスパート情報、エクスポートオブジェクト)から結果がメモリにキャッシュされるため、再スキャンなしでフォローアップコールが提供されます。 両方のためのサポート層のタイプ: tcp、udp、ipv6、eth、sctp、mptcp、wifi、bluetooth、zigbee、fc、fddi、usb、および多く。 ロードされたPCAPごとの1つのサメットのサブプロセス。 セッションは分離されます。異なるエイリアスに関する同時クエリは、それぞれブロックしません.

概要(AI 翻訳)

MCP サーバーで、LLM 用のツールとして、Wireshark のプログラマティック インターフェイス — を 拡張します。 PCAP/PCAPNGファイルを読み込み、自然言語で解析します。

要件

  • Python 3.10 +
  • ワイヤーサメ(sharkd)

インストール

またはインストールせずにリポジトリから直接実行します。

設定

[.mcp.jsonに追加します。

| Env var | デフォルト | 説明 | |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | [SHARKMCP_SHARKD_BIN | [sharkd|サメドバイナリへのパス | | [SHARKMCP_TIMEOUT | [300 |[300 |[[SHARKMCP_TIMEOUT] |[[[300]]] |[[300]] |[[300]]] |[[[[[[SHARKMCP_TIMEOUT]]]]]|[[[[300]]]]]]|[[[[[[300]]]]]|[[[[[[[300]]]]]]]] 秒単位のリクエストタイムアウト |

ツール

それぞれの読み込まれた PCAP は、専用の sharkd サブプロセスを取得します。 高価なスキャン(会話、エキスパート情報、エクスポートオブジェクト)から結果がメモリにキャッシュされるため、再スキャンなしでフォローアップコールが提供されます。

###セッション | ツール | 概要 | お問い合わせ | 【[[T6]】 | PCAP/PCAPNGファイルを読み込む | | [[T7] | 読み込まれた全てのPCAP一覧 | | 【[T8] | セッションの終了とメモリの解放 |

概要

| ツール | 概要 | お問い合わせ | [pcap_summary(alias) | フレームカウント、期間、ファイルサイズ、表示されたプロトコル | | [[T10] | 利用可能なタップタイプ、プロトコル、フィールドタイプ |

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

SharkMCP

An MCP server that exposes sharkd — Wireshark’s programmatic interface — as a set of tools for LLMs. Load PCAP/PCAPNG files and analyse them with natural language.

Requirements

  • Python 3.10+
  • Wireshark (provides sharkd)

Installation

git clone https://github.com/weirdmachine64/sharkmcp.git
cd sharkmcp
pip install -e .

Or run directly from the repo without installing:

uvx --from git+https://github.com/weirdmachine64/sharkmcp sharkmcp

Configuration

Add to your .mcp.json:

{
  "mcpServers": {
    "sharkmcp": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/weirdmachine64/sharkmcp", "sharkmcp"],
      "env": {
        "SHARKMCP_TIMEOUT": "300"
      }
    }
  }
}
Env var Default Description
SHARKMCP_SHARKD_BIN sharkd Path to sharkd binary
SHARKMCP_TIMEOUT 300 Per-request timeout in seconds

Tools

Each loaded PCAP gets a dedicated sharkd subprocess. Results from expensive scans (conversations, expert info, export objects) are cached in memory so paginated follow-up calls are served without re-scanning.

Session

Tool Description
load_pcap(path, alias?) Load a PCAP/PCAPNG file
list_pcaps() List all loaded PCAPs
unload_pcap(alias) Terminate session and free memory

Overview

Tool Description
pcap_summary(alias) Frame count, duration, file size, protocols seen
server_info(alias) All available tap types, follow protocols, field types

Packet Inspection

Tool Description
list_packets(alias, filter?, columns?, refs?) Paginated frame list with display filter
packet_detail(alias, frame, include_bytes?, include_hidden?) Full protocol tree for one frame
extract_fields(alias, fields, filter?) Extract arbitrary fields per packet as a table

Utilities

Tool Description
validate(alias, filter?, field?) Validate a display filter and/or field name
complete(alias, field?, pref?) Autocomplete field or preference names by prefix
get_preference(alias, preference?) Read dissector preferences
set_preference(alias, name, value) Set a dissector preference for this session
set_frame_comment(alias, frame, comment) Annotate a frame (session-scoped)

Traffic Structure

Tool Description
protocol_hierarchy(alias, filter?) Nested protocol tree with frame/byte counts
io_stats(alias, interval_ms?, filter?) Per-interval frame and byte counts
iograph(alias, graphs, interval_ms?, filters?) Multi-line traffic graph; supports packets, bytes, bits, sum:, avg:, min:, max:, load:, frames:
GitHub で README 全文を見る

インストール

uvx --from git+https://github.com/weirdmachine64/sharkmcp sharkmcp
MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "sharkmcp": { "command": "uvx", "args": ["--from", "git+https://github.com/weirdmachine64/sharkmcp", "sharkmcp"], "env": { "SHARKMCP_TIMEOUT": "300" } } } }