packmate/README.md
2026-10-23 11:42:44 +03:00

80 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div align="center">
# Packmate
</div>
### [[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)
<div align="right">
*desu~*
</div>