
weirdmachine64/sharkmcp
API developmentЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
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: |
Установка
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"
}
}
}
}