Шаблон английской версии README
This commit is contained in:
98
README_EN.md
Normal file
98
README_EN.md
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
<div align="center">
|
||||||
|
|
||||||
|
# Packmate
|
||||||
|
</div>
|
||||||
|
|
||||||
|
### [EN | [RU](README.md)]
|
||||||
|
Утилита перехвата и анализа трафика для CTF.
|
||||||
|
|
||||||
|
#### Фичи:
|
||||||
|
* Поддерживает текстовые и бинарные сервисы
|
||||||
|
* Умеет отображать совпадения паттернов в пакетах цветом
|
||||||
|
* Подстрока
|
||||||
|
* Регулярное выражение
|
||||||
|
* Бинарная подстрока (WIP)
|
||||||
|
* Умеет сохранять пакеты в избранное и отображать только избранные пакеты
|
||||||
|
* Работает с несколькими сервисами на разных портах
|
||||||
|
* Поддерживает навигацию по стримам с помощью горячих клавиш
|
||||||
|
* Конкатенирует смежные пакеты
|
||||||
|
* Разархивирует GZIP в HTTP на лету
|
||||||
|
|
||||||
|

|
||||||
|
## Клонирование
|
||||||
|
Поскольку этот репозиторий содержит фронтенд как git submodule, его необходимо клонировать так:
|
||||||
|
```bash
|
||||||
|
git clone --recurse-submodules https://gitlab.com/binarybears_ctf/Packmate.git
|
||||||
|
|
||||||
|
# Или, на старых версиях git
|
||||||
|
git clone --recursive https://gitlab.com/binarybears_ctf/Packmate.git
|
||||||
|
```
|
||||||
|
|
||||||
|
Если репозиторий уже был склонирован без подмодулей, необходимо выполнить:
|
||||||
|
```bash
|
||||||
|
git pull # Забираем свежую версию мастер-репы из gitlab
|
||||||
|
git submodule update --init --recursive
|
||||||
|
```
|
||||||
|
|
||||||
|
## Подготовка
|
||||||
|
В этом ПО используется Docker и docker-compose. В образ `packmate-app` пробрасывается
|
||||||
|
сетевой интерфейс хоста, его название указывается переменной окружения (об этом ниже).
|
||||||
|
|
||||||
|
`packmate-db` настроен на прослушивание порта 65001 с локальным IP.
|
||||||
|
При этом файлы БД не монтируются как volume, поэтому при пересоздании контейнера все стримы теряются.
|
||||||
|
|
||||||
|
### Настройка
|
||||||
|
Программа берет основные настройки из переменных окружения, поэтому для удобства
|
||||||
|
можно создать env-файл.
|
||||||
|
Он должен называться `.env` и лежать в корневой директоии проекта.
|
||||||
|
|
||||||
|
В файле необходимо прописать:
|
||||||
|
```bash
|
||||||
|
PACKMATE_INTERFACE=wlan0 # Интерфейс, на котором производится перехват трафика
|
||||||
|
PACKMATE_LOCAL_IP=192.168.1.124 # Локальный IP сервера на указанном интерфейсе
|
||||||
|
PACKMATE_WEB_LOGIN=SomeUser # Имя пользователя для web-авторизации
|
||||||
|
PACKMATE_WEB_PASSWORD=SomeSecurePassword # Пароль для web-авторизации
|
||||||
|
```
|
||||||
|
|
||||||
|
### Запуск
|
||||||
|
После указания нужных настроек в env-файле, можно запустить приложение:
|
||||||
|
```bash
|
||||||
|
sudo docker-compose up --build -d
|
||||||
|
```
|
||||||
|
|
||||||
|
При успешном запуске Packmate будет видно с любого хоста на порту `65000`.
|
||||||
|
|
||||||
|
### Начало работы
|
||||||
|
При попытке зайти в web-интерфейс впервые, браузер спросит логин и пароль,
|
||||||
|
который указывался в env-файле.
|
||||||
|
После успешного входа необходимо открыть настройки кликом по шестеренкам в правом
|
||||||
|
верхнем углу, затем ввести логин и пароль API, указанный при входе.
|
||||||
|
|
||||||
|

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