Установка SIMtrace Analyser

Требования

Обязательно

  • Python 3.9+ — для захвата GSMTAP, импорта PCAP и просмотра достаточно стандартной библиотеки.

Только для захвата с оборудования Osmocom SIMtrace2 (--capture direct и встроенная утилита simtrace2-pysniff):

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

Для --capture gsmtap (источник GSMTAP может быть даже на другой машине), --capture disabled и импорта PCAP анализатору ничего из этого не нужно.

Быстрый старт

Три способа запустить анализатор; все они отдают один и тот же веб-интерфейс на http://127.0.0.1:8081/.

1. Wheel (pip)

Wheel содержит интерфейс внутри пакета, поэтому сервер отдаёт его сам:

pip install ./simtrace_analyser-2.7.13-py3-none-any.whl
simtrace-analyser-server --capture gsmtap

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

Все артефакты лежат на странице последнего релиза. pip может скачать wheel напрямую (подставьте версию со страницы), а GitHub CLI — выбрать последнюю:

pip install https://github.com/anttro/simtrace-analyser/releases/download/v2.7.13/simtrace_analyser-2.7.13-py3-none-any.whl
# или:
gh release download --pattern '*.whl'
pip install ./simtrace_analyser-*.whl

2. Zip (без установки)

Скачайте simtrace-analyser-2.7.13.zip со страницы релиза и распакуйте в любое место: это рабочее дерево (пакеты Python, интерфейс, скрипты запуска и документация — без тестов и git). Архив подходит для любой ОС. Затем запустите.

Windows:

start.bat

Linux/macOS:

./start.sh

Python 3 должен быть в PATH; pip install pyusb нужен только для прямого захвата с SIMtrace2. Скрипты принимают параметры сервера (start.bat --capture direct, ./start.sh --capture direct --port 8080). (Архивы Source code (zip / tar.gz) из релиза — это полное дерево вместе с тестами; они работают так же, как клон ниже.)

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

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

Первый запуск

Откройте http://127.0.0.1:8081/ в браузере. Ctrl+C останавливает сервер.

  • --capture gsmtap (по умолчанию) — слушать GSMTAP-SIM на UDP 4729, например от simtrace2-pysniff или sigrok_iso7816_stream;
  • --capture direct — читать оборудование SIMtrace2 напрямую (нужен PyUSB; в Windows также нужна замена драйвера, см. Доступ к USB-устройству);
  • --capture disabled — только просмотр сохранённых захватов.

Полное руководство по работе (параметры сервера, экраны интерфейса, утилита захвата) находится в разделе Использование.

Использование

Анализирующий сервер + интерфейс (simtrace-analyser-server)

Сохраняет захваченный APDU-трафик в SQLite и отдаёт его по HTTP вместе со встроенным фронтендом SIMtrace Analyser (frontend/ в исходном клоне, при установке — внутри пакета) на том же origin. Три режима захвата:

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

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

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

При запуске из клона или рабочего zip те же режимы доступны через скрипты запуска.

Linux/macOS:

./start.sh --capture gsmtap
./start.sh --capture direct
./start.sh --capture disabled

Windows:

start.bat --capture gsmtap
start.bat --capture direct
start.bat --capture disabled

Параметры передаются как есть (./start.sh --capture direct --port 8080).

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