Update docs
This commit is contained in:
99
README.md
99
README.md
@@ -25,7 +25,14 @@
|
||||
* Расшифровывает TLS на RSA при наличии приватного ключа
|
||||
|
||||

|
||||
## Клонирование
|
||||
|
||||
## Быстрый запуск
|
||||
Для быстрого запуска Packmate следует использовать [этот стартер](https://gitlab.com/packmate/starter/-/blob/master/README.md).
|
||||
|
||||
## Полный запуск
|
||||
Ниже следует инструкция для тех, кто хочет собрать Packmate самостоятельно.
|
||||
|
||||
### Клонирование
|
||||
Поскольку этот репозиторий содержит фронтенд как git submodule, его необходимо клонировать так:
|
||||
```bash
|
||||
git clone --recurse-submodules https://gitlab.com/packmate/Packmate.git
|
||||
@@ -40,102 +47,20 @@ git pull # Забираем свежую версию мастер-репы и
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
## Подготовка
|
||||
В этом ПО используется Docker и docker-compose. В образ `packmate-app` пробрасывается
|
||||
сетевой интерфейс хоста, его название указывается переменной окружения (об этом ниже).
|
||||
|
||||
`packmate-db` настроен на прослушивание порта 65001 с локальным IP.
|
||||
Файлы БД сохраняются в ./data, поэтому для обнуления базы нужно удалить эту папку.
|
||||
|
||||
### Настройка
|
||||
Программа берет основные настройки из переменных окружения, поэтому для удобства
|
||||
можно создать env-файл.
|
||||
Он должен называться `.env` и лежать в корневой директории проекта.
|
||||
|
||||
В файле необходимо прописать:
|
||||
```dotenv
|
||||
# Локальный IP сервера на указанном интерфейсе или в pcap файле
|
||||
PACKMATE_LOCAL_IP=192.168.1.124
|
||||
# Имя пользователя для web-авторизации
|
||||
PACKMATE_WEB_LOGIN=SomeUser
|
||||
# Пароль для web-авторизации
|
||||
PACKMATE_WEB_PASSWORD=SomeSecurePassword
|
||||
```
|
||||
|
||||
Если мы перехватываем трафик сервера (лучший вариант, если есть возможность):
|
||||
```dotenv
|
||||
# Режим работы - перехват
|
||||
PACKMATE_MODE=LIVE
|
||||
# Интерфейс, на котором производится перехват трафика
|
||||
PACKMATE_INTERFACE=wlan0
|
||||
```
|
||||
Если мы анализируем pcap дамп:
|
||||
```dotenv
|
||||
# Режим работы - анализ файла
|
||||
PACKMATE_MODE=FILE
|
||||
# Путь до файла от корня проекта
|
||||
PACKMATE_PCAP_FILE=dump.pcap
|
||||
```
|
||||
|
||||
Или если мы хотим посмотреть уже обработанный трафик (например, для разбора после игры):
|
||||
```dotenv
|
||||
PACKMATE_MODE=VIEW
|
||||
```
|
||||
|
||||
При захвате живого трафика рекомендуется включать удаление старых стримов, иначе ближе к концу
|
||||
соревнования анализатор будет медленнее работать.
|
||||
```dotenv
|
||||
PACKMATE_OLD_STREAMS_CLEANUP_ENABLED=true
|
||||
# Интервал удаления старых стримов (в минутах).
|
||||
# Лучше ставить маленькое число, чтобы стримы удалялись маленькими кусками, и это не нагружало систему
|
||||
PACKMATE_OLD_STREAMS_CLEANUP_INTERVAL=1
|
||||
# Насколько старым стрим должен быть для удаления (в минутах от текущего времени)
|
||||
PACKMATE_OLD_STREAMS_CLEANUP_THRESHOLD=240
|
||||
```
|
||||
|
||||
Чтобы использовать расшифровку TLS, нужно положить соответствующий приватный ключ, который
|
||||
использовался для генерации сертификата, в папку `rsa_keys`.
|
||||
[Инструкция](docs/SETUP.md)
|
||||
|
||||
### Запуск
|
||||
После указания нужных настроек в env-файле, можно запустить приложение:
|
||||
```bash
|
||||
sudo docker-compose up --build -d
|
||||
sudo docker compose up --build -d
|
||||
```
|
||||
|
||||
При успешном запуске Packmate будет видно с любого хоста на порту `65000`.
|
||||
|
||||
### Начало работы
|
||||
При попытке зайти в web-интерфейс впервые, браузер спросит логин и пароль,
|
||||
который указывался в env-файле.
|
||||
При необходимости можно настроить дополнительные параметры по кнопке с шестеренками в верхнем
|
||||
правом углу экрана.
|
||||
|
||||

|
||||
|
||||
Все настройки сохраняются в local storage и теряются только при смене IP-адреса или порта сервера.
|
||||
БД будет слушать на порту 65001, но будет разрешать подключения только с localhost.
|
||||
|
||||
## Использование
|
||||
Сначала нужно создать сервисы, находящиеся в игре.
|
||||
Для этого вызывается диалоговое окно по нажатию кнопки `+` в навбаре,
|
||||
где можно указать название и порт сервиса, а также дополнительные опции.
|
||||
|
||||
Для удобного отлова флагов в приложении существует система паттернов.
|
||||
Чтобы создать паттерн, нужно открыть выпадающее меню `Patterns` и нажать кнопку `+`,
|
||||
затем указать нужный тип поиска, сам паттерн, цвет подсветки в тексте и прочее.
|
||||
Если выбрать тип паттерна IGNORE, то стримы, попадающие под шаблон, автоматически будут удаляться.
|
||||
Это может пригодиться, чтобы не засорять БД трафиком с эксплоитами, которые уже были запатчены.
|
||||
|
||||
В режиме LIVE система начнет автоматически захватывать стримы и отображать их в сайдбаре.
|
||||
В режиме FILE для начала обработки файла нужно нажать соответствующую кнопку в сайдбаре.
|
||||
При нажатии на стрим в главном контейнере выводится список пакетов;
|
||||
между бинарным и текстовым представлением можно переключиться по кнопке в сайдбаре.
|
||||
|
||||
### Горячие клавиши
|
||||
Для быстрой навигации по стримам можно использовать следующие горячие клавиши:
|
||||
* `Ctrl+Up` -- переместиться на один стрим выше
|
||||
* `Ctrl+Down` -- переместиться на один стрим ниже
|
||||
* `Ctrl+Home` -- перейти на последний стрим
|
||||
* `Ctrl+End` -- перейти на первый стрим
|
||||
[Инструкция](docs/USAGE.md)
|
||||
|
||||
<div align="right">
|
||||
|
||||
|
||||
Reference in New Issue
Block a user