packmate/README.md
2026-10-10 03:46:23 +03:00

4.3 KiB
Raw Blame History

Packmate

[EN | RU]

Утилита перехвата и анализа трафика для CTF.

Фичи:

  • Поддерживает перехват живого трафика и обработку pcap файлов
  • Поддерживает текстовые и бинарные сервисы
  • Умеет отображать совпадения паттернов в пакетах цветом
    • Подстрока
    • Регулярное выражение
    • Бинарная подстрока
  • Показывает IPv4/IPv6 адреса отправителя и получателя для каждого пакета
  • Умеет автоматически удалять стримы с определенным контентом, которые не нужно отображать
  • Умеет сохранять стримы в избранное и отображать только избранные стримы
  • Работает с несколькими сервисами на разных портах, может отображать стримы для конкретных сервисов и паттернов
  • Поддерживает навигацию по стримам с помощью горячих клавиш
  • Позволяет копировать содержимое пакета в нужном формате
  • Конкатенирует смежные пакеты
  • Автоматически проводит urldecode
  • Разархивирует GZIP в HTTP на лету
  • Разархивирует сжатые WebSockets
  • Расшифровывает TLS на RSA при наличии приватного ключа

Скриншот главного окна

Изменения этого форка

IP-адреса сохраняются вместе с пакетами, возвращаются API и отображаются в карточке как source → destination.

Старые записи не содержат IP-адресов, поскольку исходная версия их не сохраняла. Для восстановления адресов нужно повторно импортировать исходный PCAP. Подробности и описание API находятся в docs/IP_ADDRESSES.md.

В docs/ARCHITECTURE_REVIEW_RU.md находится ревью готовности к крупным Attack/Defense соревнованиям. Проверочный скрипт для неограниченной распаковки GZIP HTTP находится в poc/http_gzip_expansion.py.

Быстрый запуск

Для быстрого запуска Packmate следует использовать этот стартер.

Полный запуск

Ниже следует инструкция для тех, кто хочет собрать Packmate самостоятельно.

Клонирование

Поскольку этот репозиторий содержит фронтенд как git submodule, его необходимо клонировать так:

git clone --recurse-submodules git@github.com:Av0idD4rk/packmate.git

# Или, на старых версиях git
git clone --recursive git@github.com:Av0idD4rk/packmate.git

Если репозиторий уже был склонирован без подмодулей, необходимо выполнить:

git pull  # Забираем свежую версию master из GitHub
git submodule update --init --recursive

Настройка

Инструкция

Запуск

После указания нужных настроек в env-файле, можно запустить приложение:

sudo docker compose up --build -d

При успешном запуске Packmate будет видно с любого хоста на порту 65000. БД будет слушать на порту 65001, но будет разрешать подключения только с localhost.

Использование

Инструкция

desu~