# Packmate
### [[EN](README_EN.md) | RU] Утилита перехвата и анализа трафика для CTF. #### Фичи: * Поддерживает перехват живого трафика и обработку pcap файлов * Поддерживает текстовые и бинарные сервисы * Умеет отображать совпадения паттернов в пакетах цветом * Подстрока * Регулярное выражение * Бинарная подстрока * Показывает IPv4/IPv6 адреса отправителя и получателя для каждого пакета * Умеет автоматически удалять стримы с определенным контентом, которые не нужно отображать * Умеет сохранять стримы в избранное и отображать только избранные стримы * Работает с несколькими сервисами на разных портах, может отображать стримы для конкретных сервисов и паттернов * Поддерживает навигацию по стримам с помощью горячих клавиш * Позволяет копировать содержимое пакета в нужном формате * Конкатенирует смежные пакеты * Автоматически проводит urldecode * Разархивирует GZIP в HTTP на лету * Разархивирует сжатые WebSockets * Расшифровывает TLS на RSA при наличии приватного ключа ![Скриншот главного окна](screenshots/Screenshot.png) ## Изменения этого форка IP-адреса сохраняются вместе с пакетами, возвращаются API и отображаются в карточке как `source → destination`. Старые записи не содержат IP-адресов, поскольку исходная версия их не сохраняла. Для восстановления адресов нужно повторно импортировать исходный PCAP. Подробности и описание API находятся в [docs/IP_ADDRESSES.md](docs/IP_ADDRESSES.md). В [docs/ARCHITECTURE_REVIEW_RU.md](docs/ARCHITECTURE_REVIEW_RU.md) находится ревью готовности к крупным Attack/Defense соревнованиям. Проверочный скрипт для неограниченной распаковки GZIP HTTP находится в [poc/http_gzip_expansion.py](poc/http_gzip_expansion.py). Для `LIVE` режима добавлена возобновляемая очистка старого трафика с настраиваемым retention, ограниченными транзакциями и отдельным stress test. Настройки и результаты проверки описаны в [docs/CLEANUP.md](docs/CLEANUP.md). Для агентов доступен отдельный MCP-сервис: поиск по трафику и IP, чтение пакетов, избранное, создание сервисов и паттернов с отображением в UI, Lookback. У всех инструментов единый доступ по токену. Подключение и ограничения: [docs/MCP.md](docs/MCP.md). Пошаговое подключение клиента и инструкция для агента: [inst.md](inst.md). ## Быстрый запуск Нужны Docker Engine и плагин Docker Compose. Репозиторий уже содержит исходники backend и frontend, поэтому достаточно обычного клонирования без git submodules: ```bash git clone https://github.com/Av0idD4rk/packmate.git cd packmate cp .env.example .env ${EDITOR:-nano} .env docker compose up --build -d ``` В `.env` обязательно укажите `PACKMATE_INTERFACE` и `PACKMATE_LOCAL_IP` для режима `LIVE`, а также смените пароли. Описание всех режимов и настроек находится в [docs/SETUP.md](docs/SETUP.md). При успешном запуске Packmate будет видно с любого хоста на порту `65000`. БД будет слушать на порту 65001, но будет разрешать подключения только с localhost. ## Использование [Инструкция](docs/USAGE.md)
*desu~*