Как узнать, какой именно скрипт на bash в данный момент выполняется?

Как можно отследить скрипт и команды, которые выполняются на сервере при создании нового пользователя через приложение Amnezia VPN, чтобы понять, как преобразовать этот процесс в ссылку вида vpn:// или конфигурационный файл file.conf?
  • 30 января 2024 г. 10:50
Ответы на вопрос 2
### Отслеживание активного Bash скрипта

Чтобы узнать, какой Bash скрипт выполняется в данный момент на вашей системе, вы можете использовать различные команды для отслеживания процессов. Вот несколько способов:

1. **ps (Process Status):**
   Вы можете использовать команду `ps` для отображения активных процессов. Для получения детальной информации о всех инстансах bash, введите следующую команду:

   ```shell
   ps aux | grep bash
   ```

   Или если интересует определенный пользователь:

   ```shell
   ps u -u username | grep bash
   ```

   Это покажет вам список запущенных скриптов и их PID (идентификаторы процессов).

2. **pstree:**
   Эта команда показывает древовидную структуру запущенных процессов, что может быть полезно для определения иерархии процессов:

   ```shell
   pstree -p
   ```

3. **/proc filesystem:**
   В Linux, детали о процессах можно также найти в файловой системе `/proc`. Для текущего процесса можно посмотреть команду:

   ```shell
   cat /proc/$$/cmdline
   ```

   Здесь `$$` представляет PID текущего оболочки. Для других процессов, просто замените `$$` на интересующий PID.

### Отслеживание процесса создания пользователя через Amnezia VPN

Отслеживание процесса создания нового пользователя в приложении, таком как Amnezia VPN, подразумевает наблюдение за процессами и, возможно, перехват сетевого трафика. Вот общие шаги, которые можно предпринять:

1. **Отслеживание запущенных скриптов:**
   Используйте вышеупомянутые команды, чтобы увидеть, какие скрипты запускают приложение или сервис во время создания нового пользователя.

2. **Аудит системных вызовов:**
   Вы можете использовать утилиту `strace` для отследивания системных вызовов, которые делает запускаемый процесс. Для прикрепления к работающему процессу используйте:

   ```shell
   strace -p PID
   ```

   Или для запуска нового процесса с `strace`:

   ```shell
   strace -o output.txt command
   ```

   Где `command` - это команда для запуска процесса создания пользователя.

3. **Сниффинг сетевого трафика:**
   Используйте `tcpdump` или `Wireshark` для мониторинга сетевого трафика, который генерируется приложением во время создания пользователя. Это поможет вам определить связь с серверами и выявить используемые API.

4. **Изучение исходного кода или документации:**
   Если Amnezia VPN имеет доступный исходный код, изучите его для понимания механизма создания пользователя. Также полезной может быть официальная документация по API или функциям приложения.

### Переход к vpn:// ссылке или конфигурационному файлу

Преобразование процесса создания пользователя в URL-схему `vpn://` или в конфигурационный файл `.conf` подразумевает понимание протокола, который использует ваш VPN-провайдер. Обычно это описано в документации к API
Запустить сервер с включённым дебагом LOG_LEVEL=debug
Похожие вопросы