traceroute
Обзор
Из-за ограниченной пропускной способности LoRa Meshtastic не отслеживает узлы, через которые сообщение передавалась к получателю. Однако начиная с прошивки 2.0.8 доступен модуль Traceroute, который может это показать.
Отслеживаться могут только узлы, знающие ключ шифрования используемого канала. Также обратите внимание, что сообщение может прибыть по нескольким маршрутам из-за дублирования при повторной трансляции. Модуль будет отслеживать прыжки только первого пакета с запросом traceroute, который прибыл к получателю.
Чтобы использовать его, убедитесь, что ваши устройства работают на прошивке версии 2.0.8 или выше.
Начиная с версии прошивки ≥ 2.5, записывается маршрут обратно к источнику вместе с коэффициентом сигнал/шум (SNR) для каждого звена. Узлы со старой прошивкой или те, которые не могут расшифровать traceroute, будут отображаться как "Unknown" (представлено ID, равным 4294967295 или 0xFFFFFFFF в шестнадцатеричном формате), если все узлы в маршруте используют как минимум версию прошивки 2.3.12.
Поведение повторителей
Узлы-повторители появятся в логе traceroute, если у них есть ключ шифрования, но если они отсутствуют в списке узлов, они могут отображаться как "Unknown" в зависимости от приложения.
Доступность клиента модуля Traceroute
<Icon icon="mdi:android" height="1.5rem" style={{ marginRight: "0.25rem" }} /> Android
</>
),
value: "android",
},
{
label: (
<>
<Icon icon="mdi:apple" height="1.5rem" style={{ marginRight: "0.25rem" }} /> Apple
</>
),
value: "apple",
},
{
label: (
<>
<Icon icon="mdi:terminal" height="1.5rem" style={{ marginRight: "0.25rem" }} /> CLI
</>
),
value: "cli",
},
{
label: (
<>
<Icon icon="mdi:internet" height="1.5rem" style={{ marginRight: "0.25rem" }} /> Web
</>
),
value: "web",
},
]}>
Android
В списке узлов долго нажмите на узел назначения и выберите 'Traceroute' для отправки запроса. В зависимости от количества необходимых прыжков это может занять некоторое время. Результат будет показан во всплывающем окне.
Apple
В списке узлов долго нажмите на узел назначения и выберите 'Trace Route' для отправки запроса. В зависимости от количества прыжков это может занять некоторое время. На iOS/iPadOS 17 и macOS 14+ результаты будут показаны в логе Trace Route узла в деталях узла. Для более ранних версий проверьте Settings > Logging > Mesh Log.
CLI
Убедитесь, что CLI версии не ниже 2.0.6. Затем используйте эту команду:
```shell title="CLI traceroute command" meshtastic --traceroute 'destinationId'
Здесь вместо `destinationId` укажите ID узла назначения, прыжки к которому хотите отследить; его можно получить, выполнив `meshtastic --nodes`. В зависимости от ОС может потребоваться заключить ID в кавычки. Затем будет отправлено специальное сообщение для отслеживания прыжков. Пример вывода:
```shell title="Traceroute from !25048234 to !bff18ce4"
meshtastic --traceroute '!bff18ce4'
Connected to radio
Sending traceroute request to !bff18ce4 (this could take a while)
Route traced towards destination:
!25048234 --> !ba4bf9d0 (6.0dB) --> !bff18ce4 (-3.5dB)
Route traced back to us:
!bff18ce4 --> !ba4bf9d0 (-2.75dB) --> !25048234 (5.25dB)
Первый показанный ID — это устройство-источник, подключенное через CLI. Как показано на изображении выше, пакет прошел через один дополнительный узел к получателю и обратно.
Web
После выбора узла из списка нажмите кнопку "route" в правом верхнем углу, чтобы отправить запрос traceroute выбранному узлу. Результат будет отображен на странице сообщений узла.