WS

weirdmachine64/sharkmcp

API development

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

78 stars 2 forks Качество 69 Тренд 15MIT

Swiss-knife MCP сервер для анализа файлов PCAP

Обзор

Сервер MCP, который раскрывает программный интерфейс Wireshark как набор инструментов для LLM. Загрузите файлы PCAP/PCAPNG и проанализируйте их на естественном языке. - Python 3.10+ - Wireshark (предоставляет акулу) Или бежать прямо из РЕПО без установки: Каждый загруженный PCAP получает выделенный подпроцесс. Результаты дорогостоящих сканирований (беседы, экспертная информация, экспортные объекты) кэшируются в памяти, поэтому последующие звонки подаются без повторного сканирования. Поддерживаемые типы слоев для обоих: tcp, udp, ip, ipv6, eth, sctp, dccp, mptcp, wifi, bluetooth, zigbee, fc, fddi, usb и многое другое. Один подпроцесс акулы на загруженный PCAP. Сеансы изолированы — одновременные запросы на разных псевдонимах никогда не блокируют друг друга.

Обзор (машинный перевод)

Сервер MCP, который раскрывает программный интерфейс Wireshark как набор инструментов для LLM. Загрузите файлы PCAP/PCAPNG и проанализируйте их на естественном языке.

Требования

Python 3.10+

  • Wireshark (предоставляет sharkd)

##Установка

Или бежать прямо из РЕПО без установки:

Конфигурация

Добавьте к своему [1]:

Обсуждение Env var | Default | Description

[[Т2]] [[Т3]] | Путь к акульей двоичности | [[Т4]][[Т5]][[Т5]] Время запроса в секундах

Инструменты

Каждый загруженный PCAP получает выделенный подпроцесс. Результаты дорогостоящих сканирований (беседы, экспертная информация, экспортные объекты) кэшируются в памяти, поэтому последующие звонки подаются без повторного сканирования.

Сессия

| Инструмент | Описание [скрыто] [скрыто] [скрыто] [скрыто] load_pcap(path, alias?) | Загрузить файл PCAP/PCAPNG | list_pcaps() Перечислите все загруженные PCAP. unload_pcap(alias) | Завершение сеанса и свободная память

Обзор

| Инструмент | Описание [скрыто] [скрыто] [скрыто] [скрыто] pcap_summary(alias) | Количество кадров, продолжительность, размер файла, протоколы server_info(alias) | Все доступные типы кранов, следовать протоколам, типы полей |

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

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:
Открыть полный README на GitHub

Установка

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" } } } }