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

85 lines
4.3 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).
## Быстрый запуск
Для быстрого запуска Packmate следует использовать [этот стартер](https://gitlab.com/packmate/starter/-/blob/master/README.md).
## Полный запуск
Ниже следует инструкция для тех, кто хочет собрать Packmate самостоятельно.
### Клонирование
Поскольку этот репозиторий содержит фронтенд как git submodule, его необходимо клонировать так:
```bash
git clone --recurse-submodules git@github.com:Av0idD4rk/packmate.git
# Или, на старых версиях git
git clone --recursive git@github.com:Av0idD4rk/packmate.git
```
Если репозиторий уже был склонирован без подмодулей, необходимо выполнить:
```bash
git pull # Забираем свежую версию master из GitHub
git submodule update --init --recursive
```
### Настройка
[Инструкция](docs/SETUP.md)
### Запуск
После указания нужных настроек в env-файле, можно запустить приложение:
```bash
sudo docker compose up --build -d
```
При успешном запуске Packmate будет видно с любого хоста на порту `65000`.
БД будет слушать на порту 65001, но будет разрешать подключения только с localhost.
## Использование
[Инструкция](docs/USAGE.md)
<div align="right">
*desu~*
</div>