
weirdmachine64/sharkmcp
API developmentこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
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: |
インストール
uvx --from git+https://github.com/weirdmachine64/sharkmcp sharkmcp設定
{
"mcpServers": {
"sharkmcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/weirdmachine64/sharkmcp", "sharkmcp"],
"env": {
"SHARKMCP_TIMEOUT": "300"
}
}
}
}