Установка SIMtrace Analyser

Требования

  • Python 3.9+
  • PyUSB — pip install pyusb (нужен только для захвата с оборудования SIMtrace2; захват GSMTAP/UDP и импорт PCAP работают без него)
  • libusb — системная библиотека, обычно уже есть в Linux; в Windows нужно заменить драйвер SIMtrace2 (см. Доступ к USB-устройству)
  • Оборудование SIMtrace2 с прошивкой в режиме trace (только для прямого захвата; VID 1d50, PID 60e3, USB class ff, subclass 01). О сборке и прошивке trace-прошивки см. проект SIMtrace2.

Других зависимостей нет. Вывод PCAP, GSMTAP и hex dump использует только стандартную библиотеку Python.

Установка

Есть два способа получить анализатор: установить артефакт релиза (без истории git) или склонировать репозиторий для разработки. В обоих случаях в комплекте одна и та же PWA.

Из релиза (без истории git)

Всё находится на странице последнего релиза.

Wheel (PWA внутри пакета):

pip install ./simtrace_analyser-2.7.13-py3-none-any.whl

# затем запуск (интерфейс отдаётся на http://127.0.0.1:8081/):
simtrace-analyser-server --capture gsmtap

Если системный Python управляется извне (PEP 668 — обычное дело в Arch и Fedora), сначала создайте виртуальное окружение: python3 -m venv .venv && . .venv/bin/activate.

pip также может скачать wheel прямо со страницы релиза (подставьте версию, указанную там):

pip install https://github.com/anttro/simtrace-analyser/releases/download/v2.7.13/simtrace_analyser-2.7.13-py3-none-any.whl

С GitHub CLI можно скачать wheel последнего релиза, не зная версии:

gh release download --pattern '*.whl'
pip install ./simtrace_analyser-*.whl

Архив исходников — ассеты Source code (zip / tar.gz) содержат полное дерево без истории git: распакуйте, перейдите в каталог и используйте скрипты запуска ниже (./start.sh в Linux/macOS, start.bat в Windows).

Zip (для Windows, без установки) — simtrace-analyser-2.7.13.zip содержит только рабочее дерево (пакеты, PWA, скрипты запуска, документацию; без тестов и git): скачайте, распакуйте в любое место и запустите start.bat (Windows) или ./start.sh (Linux/macOS). Python 3 должен быть в PATH; pip install pyusb нужен только для прямого захвата с SIMtrace2.

Из клона репозитория (для разработки)

git clone https://github.com/anttro/simtrace-analyser.git
cd simtrace-analyser
./start.sh                  # Linux/macOS; в Windows: start.bat

Скрипты запуска добавляют каталог в PYTHONPATH и запускают python -m simtrace_analyser, поэтому для просмотра и захвата GSMTAP установка не нужна; они принимают параметры сервера (./start.sh --capture direct --port 8080). Для прямого захвата с оборудования нужен PyUSB (pip install pyusb).

Чтобы получить консольные команды (simtrace-analyser-server, simtrace2-pysniff), установите пакет:

pip install -e .
simtrace-analyser-server --capture gsmtap

В Windows скрипты .bat вызывают команду python, поэтому Python 3 должен быть в PATH (проверьте python --version); для прямого захвата по USB дополнительно нужна замена драйвера, описанная в разделе Доступ к USB-устройству.

деле Доступ к USB-устройству.

Запуск

# Слушать GSMTAP от simtrace2-pysniff (или оригинального simtrace2-sniff):
simtrace-analyser-server --capture gsmtap

# Захват напрямую с оборудования SIMtrace2 (внешний инструмент не нужен):
simtrace-analyser-server --capture direct

# Просмотр/анализ существующих записей без бэкенда захвата:
simtrace-analyser-server --capture disabled

Параметры сервера:

--host ADDR          адрес привязки HTTP (по умолчанию: 127.0.0.1)
--port PORT          порт HTTP-сервера (по умолчанию: 8081)
--db FILE            путь к базе SQLite (по умолчанию: ~/.simtrace-analyser/sessions.db)
--capture MODE       gsmtap | direct | disabled  (по умолчанию: gsmtap)
--gsmtap-port PORT   UDP-порт листенера GSMTAP (по умолчанию: 4729)
--gsmtap-bind ADDR   UDP-адрес привязки листенера GSMTAP (по умолчанию: 127.0.0.1;
                     используйте 0.0.0.0, чтобы принимать из Docker-сети или с другого хоста)
--web-dir PATH       каталог статических файлов PWA (по умолчанию: PWA внутри
                     установленного пакета или <repo>/frontend при запуске из исходников)

Затем откройте http://127.0.0.1:8081/ в браузере — PWA отдаётся сервером, поэтому UI и API используют один origin, и настройка CORS/Private-Network-Access не требуется. Используйте --web-dir PATH, чтобы отдавать другой каталог PWA (по умолчанию: PWA внутри пакета или <repo>/frontend при запуске из исходников).

Полный README_RUS.md в репозитории