Установка 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, PID60e3, USB classff, subclass01); сборка и прошивка 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).